MacBook μ ꡬμ νκ³ , κ³μ μμ μ ν μ μκ² νκ²½μ ꡬμ±νλ©΄μ, μ§νν λ΄μ©μ κΈ°λ‘ν©λλ€.
νΉμλ λΉμ·νκ² κ΅¬μ±νμλ λΆμ΄ μ°Έμ‘°νμ€ μ μκΈ° λ°λλλ€.
For General use
Homebrew
Macos ν¨ν€μ§ κ΄λ¦¬μ Homebrew λ₯Ό μ€μΉν©λλ€.
v3.0.0 μ΄νλΆν° μ νμ€λ¦¬μ½(M1)μ μ§μν©λλ€.
Git
MacOS μ μ€μΉλμ΄ μλ git μ λ³΄ν΅ μ΅μ λΉλκ° μλλ―λ‘, λ²μ ΌνμΈ ν Homebrewλ₯Ό μ¬μ©ν΄μ gitμ μ€μΉν©λλ€.
$ git --version
git μ κΈ°λ³Έ μ€μΉ μμ©νλ‘κ·Έλ¨ λͺ©λ‘μμ μ μΈλ κ²μΌλ‘ νμΈλ©λλ€.
ν°λ―Έλμμ git λͺ λ Ήμ μ λ ₯νλ©΄ λ€μ΄λ‘λνλ κΈ°λ₯μ μ€νμ 묻μ΅λλ€.
homebrewλ‘ git μ΅μ λΉλλ₯Ό μ€μΉν©λλ€.
$ brew install git
$ git --version
git version 2.32.0 (Apple Git-132)
for React frontent development
node.js κΈ°λ° κ°λ°νκ²½μ΄ νμν κ²½μ°μ ν΄λΉν©λλ€.
nvm
NVM (Node version manager) μ node.js μ€μΉλ₯Ό λ§€μ° νΈλ¦¬νκ² μ¬μ©ν μ μλ λꡬμ λλ€.
μ λ νΈλ¦¬νκ² μ¬μ©μ κΆνμΌλ‘ node.js μ€μΉκ° κ°λ₯ν΄μ μ°μ μ μΌλ‘ μ€μΉλ₯Ό κ³ λ €ν©λλ€.
Homebrew μμ μ 곡νλ ν¨ν€μ§λ‘ nvm μ μ€μΉν©λλ€.
$ brew install nvm
# μλ΅
You should create NVM's working directory if it doesn't exist:
mkdir ~/.nvm
Add the following to ~/.zshrc or your desired shell
configuration file:
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
You can set $NVM_DIR to any location, but leaving it unchanged from
/opt/homebrew/opt/nvm will destroy any nvm-installed Node installations
upon upgrade/reinstall.
nvm μ€μΉ μ€ν¬λ¦½νΈ λ§μ§λ§μ μΆλ ₯λλ λ΄μ©μ νμΈνκ³ μ€λͺ λλ‘ λ°λΌν©λλ€.
# μ¬μ©μ νλ‘ν λλ ν°λ¦¬μ .nvm λλ ν°λ¦¬λ₯Ό μμ±ν©λλ€.
$ mkdir ~/.nvm
.zshrc νμΌμ νΈμ§κΈ°λ‘ μ΄μ΄μ λ΄μ©μ μΆκ°ν©λλ€.
# ZSH μ¬μ©μ νλ‘νμ νΈμ§κΈ°λ‘ νΈμ§ν©λλ€.
$ nano ~/.zshrc
λ§μ§λ§ μ€μ ν΄λΉ λ΄μ©μ λΆμ¬λ£μ΅λλ€.
PATH νκ²½λ³μμ .nvm κ²½λ‘λ₯Ό μΆκ°νκ³ , nvm μ¬μ©μ μ€λΉνλ λͺ λ Ήμ λλ€.
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
μλ λͺ λ ₯μΌλ‘ μ νλ‘νμ λ€μ λ‘λν©λλ€.
$ source ~/.zshrc
μ€μΉλ NVM λ²μ Όμ νμΈν©λλ€.
$ nvm --version
0.39.1
μλ λͺ λ ΉμΌλ‘ μ΅μ LTS λΉλλ₯Ό μ€μΉν©λλ€.
$ nvm install --lts
μ€μΉλ node.js λ²μ Όμ νμΈν©λλ€.
$ node --version
v16.13.2
μ€μΉλ node.js κ° μ ν μ€λ¦¬μ½μ© λ°μ΄λ리μΈμ§ νμΈν©λλ€.
$ node -p "process.arch"
arm64
- [x] μ νμ€λ¦¬μ½μΌλ‘ μ€νλλ λ°μ΄λλ¦¬κ° μ€μΉλμλμ§ νμΈ
Visual Studio Code
Visual Studio Codeλ React κ°λ°μ μ£Όλ‘ μ¬μ©νλ Microsoft μμ μ 곡νλ IDE μ λλ€.
v1.54 μ΄νλΆν° μ ν μ€λ¦¬μ½μ μ§μν©λλ€.
Visual Studio Code μ€ν ν μ»€λ§¨νΈ νλ νΈλ₯Ό μ΄κ³ (Command β + Shift β§ + p) μλ λ©λ΄λ₯Ό μ€νν΄μ ν°λ―Έλμμ μ€νν μ μκ² κ΅¬μ±ν©λλ€.
>shell command: Install 'code' command in PATH
μ΄ ν ν°λ―Έλμμ μλ λͺ λ ΉμΌλ‘ Visual Studio Codeλ₯Ό μ€νν ν νμ¬ λλ ν°λ¦¬λ₯Ό μ΄μ μμ΅λλ€.
$ cd path-to-work
$ code .
for .NET development
.NET SDK
.NET 6 λΆν° μ ν μ€λ¦¬μ½μ© SDKκ° μ 곡λ©λλ€.
Visual Studio 2022
ν리뷰 λ¨κ³μ Visual Studio 2022 for Mac (μ)λ₯Ό μ 곡νκ³ μμ΅λλ€.
μ€μΉν΄λ³΄λ μ€μΉ μ§ν Visual Studio 2022 λΌκ³ μ λͺ©μ΄ μΆλ ₯λμλλ°, μ λ°μ΄νΈ ν Visual studio 2019 for Mac μΌλ‘ λ³κ²½λμμ΅λλ€.
μ κ±° ν λ€μ μ€μΉλ₯Ό μ§νν μμ μ λλ€. μ§ννμ΅λλ€.
λ€μ μ€μΉν μ§ν νμΈν μμ©νλ‘κ·Έλ¨ μ 보μ λλ€.
Docker
κ°λ°μ© μλ²λ₯Ό μ€νν΄μΌ νλ κ²½μ°μ νμνλ€κ³ μκ°λ©λλ€.
μ€μΉν ν νμν λμλ§ μ€ννλ κ²μ λͺ©μ μΌλ‘ ν©λλ€.
μΉμλ², μΉ μμ©νλ‘κ·Έλ¨, λ°μ΄ν°λ² μ΄μ€ μλ²λ₯Ό 컨ν μ΄λλ‘ μ€νν΄μ νμΈμ΄ νμν κ²½μ°μ νμ©ν©λλ€.
Docker Desktop νμ΄μ§μμ μ€μΉ νμΌμ μ»μ μ μμ΅λλ€.
μ ν μ€λ¦¬μ½μ© λ°μ΄λλ¦¬κ° μ 곡λλ―λ‘, Mac with Apple Chip
λ§ν¬λ₯Ό ν΄λ¦ν΄μ λ€μ΄λ‘λν΄μ μ¬μ©ν©λλ€.
Docker Desktop μ¬μ©μ κ΄ν μ½κ΄μ νμΈνμ μΌ ν©λλ€. κ°μΈμ μ©λλ‘ μ¬μ©ν λλ μ μ½μ΄ μμ κ² κ°μλ°, μ 무μ©μΌλ‘ μ¬μ©νλ€λ©΄ μ§μμ΄ 250λͺ λ―Έλ§μ΄κ³ μ°κ° 맀μΆμ΄ 1μ²λ§ λ¬λ¬ λ―Έλ§μΈ κ²½μ°μλ§ λ¬΄λ£λ‘ μ¬μ©ν μ μμ΅λλ€. It remains free for small businesses (fewer than 250 employees AND less than $10 million in annual revenue), personal use, education, and non-commercial open source projects.
μ΄λ―Έμ§λ₯Ό λ΄λ €λ°μ λμλ ν΄λΉ νλ‘μ νΈκ° arm64μ© μ΄λ―Έμ§λ₯Ό μ 곡νλμ§ νμΈνκ³ , κ°λ₯νλ©΄ arm64μ© μ΄λ―Έμ§λ₯Ό λ΄λ €λ°μΌλ©΄ μ±λ₯μ μ΄μ μ΄ μμ κ² κ°μ΅λλ€.
κ·Έλ°λ°, arm64μ© μ΄λ―Έμ§λ₯Ό μ 곡νλ νλ‘μ νΈλ μ 보μ΄μ§ μμ΅λλ€.
linux/amd64 μ© μ΄λ―Έμ§λ₯Ό λ΄λ €λ°μμ μ¬μ©ν΄λ ν¬κ² λ¬Έμ κ° λ°μνλ κ²½μ°λ μλ€κ³ ν©λλ€.
μμ§ κ΄λ ¨ μ΄μκ° μμ§λ§, μ΄μκ° λ°μνλ©΄ ν΄κ²°λ°©λ²μ μ΄μ¬ν μ°Ύμλ΄μΌ ν©λλ€.
$ docker --version
Docker version 20.10.11, build dea9396
$ docker-compose --version
Docker Compose version v2.2.1
Local database
κ°λ°μ© λ‘컬 λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νκΈ° μν΄ λ컀λ₯Ό νμ©ν©λλ€.
Windows μμλ Visual Studio μ€μΉμ μ¬μ©ν μ μλ λ‘컬 λ°μ΄ν°λ² μ΄μ€κ° μμ΄ λ§€μ° νΈλ¦¬νκ² μ¬μ©ν μ μμ΅λλ€.
Macos μλ μ§μλμ§ μμΌλ―λ‘ μμ μ 컨ν μ΄λλ₯Ό μ€νν΄μ λΉμ·νκ² μ¬μ©ν μ μμ΅λλ€.
SQL Server μμ§μ΄ νμν κ²½μ° SQL server 2019 μ΄λ―Έμ§λ₯Ό μ¬μ©νλ©΄ λ κ²μΌλ‘ μκ°νμ΅λλ€.
SQL Server 2019 amd64 μ΄λ―Έμ§μ κ²½μ° μ ν μ€λ¦¬μ½μμ 컨ν μ΄λ μ€νμ΄ λΆκ°λ₯ν κ²μΌλ‘ νμΈλ©λλ€.
SQL Server 2019 λ컀 μ΄λ―Έμ§λ‘ 컨ν μ΄λλ₯Ό μμ±ν λ, λ§μ΄νΈλ λ³Όλ₯¨μ μ°κΈ° κΆν λ¬Έμ κ° μλ κ²μΌλ‘ νμΈλ©λλ€. μ΄ λ¬Έμ μΈμ§λ μ°¨ν νμΈν κ³νμ λλ€.
κ·Έλμ, Azure SQL Edge λ₯Ό νμ©ν©λλ€.
Azure SQL Edge λ IoT μ₯μΉμ λ°μ΄ν°λ₯Ό μ μ₯νλ λ° νΉνλ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ λλ€.
SQL Serverμ λμΌνκ² λμνλ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ΄λ©΄ κ°λ°μ νμ©ν μ μμΌλ―λ‘ Azure SQL Edge μ΄λ―Έμ§λ₯Ό μ¬μ©ν΄μ 컨ν μ΄λλ₯Ό μ€ννλ©΄ λ κ²μΌλ‘ μκ°λ©λλ€.
Azure SQL Edge docker-compose
version: '3'
services:
azuresqledge:
image: mcr.microsoft.com/azure-sql-edge:latest
container_name: azuresqledge
# restart: always
ports:
- "1433:1433"
environment:
- ACCEPT_EULA=Y
- MSSQL_SA_PASSWORD=your-password
- MSSQL_TELEMETRY_ENABLED=FALSE
- TZ=Asia/Seoul
volumes:
- ./mssql:/var/opt/mssql
network_mode: bridge
컨ν μ΄λ μ€ν ν Azure Data Studio λ±μ λκ΅¬λ‘ λ°μ΄ν°λ² μ΄μ€λ₯Ό κ΄λ¦¬νκ³ νμ©ν μ μμ΅λλ€.
λ§μΉ¨
μ¨λ³΄λ©(Onboarding)μ΄λ μ©μ΄κ° λ§μ§ μμ μ μμ§λ§, μ€λΉλ¨κ³λ₯Ό κ±°μ³ κ°λ°νκ²½μ μ€λΉνλ€λΌλ μλ―Έλ‘ μ¬μ©νμ΅λλ€.
λΉμ₯ νμν κ²λ§ μ€λΉνμ΅λλ€.
μΆκ°λ‘ νμν μ¬νμ νμν΄μ§ λ, μ²μ²ν ꡬμ±ν©λλ€.
ꡬμ±μ΄ νμν λ΄μ©μ΄ λ°μν΄μ μμ©νλ‘κ·Έλ¨μ λ€μ΄λ‘λνκ³ , μ€μΉν λ μ 곡λλ Macμ© λ°μ΄λλ¦¬κ° Intel CPU μ©, Apple Silicon μ©μΌλ‘ λλ μ μ 곡λλ€λ©΄ κ°λ₯νλ©΄ Apple Siliconμ©μ λ€μ΄λ‘λ λ°μμ μ¬μ©ν κ³νμ λλ€.