1. 줄바꿈(Line Ending) 문제 이해

  • Windows: CRLF (\r\n)
  • macOS (및 Unix/Linux): LF (\n)

윈도우와 맥에서 동일한 프로젝트를 개발할 때, 서로 다른 줄바꿈 문자 때문에 Git에서 불필요한 변경이 발생하거나, 특정 파일이 깨질 수 있습니다.


2. Git에서 줄바꿈 통일하기

(1) .gitattributes 파일 설정

저장소 루트에 .gitattributes 파일을 만들고 다음 내용을 추가하세요:

# 텍스트 파일의 줄바꿈을 LF로 강제
* text=auto eol=lf
 

이 설정을 하면:

  • Git은 체크아웃할 때 OS에 맞는 줄바꿈을 적용
  • 커밋할 때는 자동으로 LF로 변환

만약 줄바꿈을 강제하려면:

* text eol=lf
 

이렇게 하면 모든 텍스트 파일이 강제로 LF로 저장됩니다.


(2) 개별 사용자 Git 설정 변경

각 개발자는 로컬 Git 설정에서 줄바꿈을 자동 변환하도록 설정할 수 있습니다.

윈도우 사용자의 설정

git config --global core.autocrlf true
 
  • 체크아웃 시 CRLF로 변환
  • 커밋할 때는 LF로 변환

맥 사용자의 설정

git config --global core.autocrlf input
 
  • 커밋할 때만 LF 유지 (CRLF로 변경하지 않음)

3. VS Code 설정

VS Code에서는 LF를 강제할 수 있습니다.

  1. 파일 > 기본 설정 > 설정 (Settings)
  2. 검색창에 end of line 입력
  3. "Files: Eol" 옵션을 LF로 변경

또는, settings.json에 다음을 추가:

{
    "files.eol": "\n"
}
 

4. 기존 파일 줄바꿈 변경

이미 CRLF로 저장된 파일을 LF로 일괄 변경하려면:

find . -type f -exec dos2unix {} +
 

또는, VS Code에서 Ctrl + Shift + P → Change End of Line Sequence → LF 선택 후 저장.


이제 윈도우와 맥에서 동일한 줄바꿈을 유지하면서 개발할 수 있습니다! 🚀

'IT' 카테고리의 다른 글

맥에서 아나콘다 삭제  (0) 2024.11.01
HAOS https Home Assistant https 적용  (0) 2024.08.04
vscode 내 git user 변경  (0) 2024.07.31
Project IDX 웹 IDE  (0) 2024.07.31
bash sleep  (0) 2024.07.31

라이브러리프레임워크는 소프트웨어 개발에서 자주 사용되는 개념으로, 둘 다 코드 재사용을 통해 개발 속도를 높이고 효율성을 제공하지만, 그 동작 방식과 개발자와의 관계에서 중요한 차이가 있습니다.


라이브러리 (Library)

  • 정의: 특정 기능을 수행하기 위한 코드의 모음.
  • 사용 방식: 개발자가 필요할 때 호출(사용)하는 방식으로 동작합니다.
    • 개발자가 코드 흐름을 제어합니다.
    • 예를 들어, 특정 함수를 호출하거나 객체를 생성하여 사용합니다.
  • 주요 특징:
    • 원하는 기능을 제공하는 도구 역할을 합니다.
    • 개발자가 프로그램의 전체 흐름을 제어하고 라이브러리를 필요할 때만 활용합니다.
  • :
    • Python의 pandas, NumPy, Matplotlib.
    • JavaScript의 Lodash, Moment.js.

라이브러리 사용 예시 (Python - requests 라이브러리):

import requests

response = requests.get('https://api.example.com/data')
print(response.json())

여기서 개발자가 직접 요청을 보내는 방식으로 사용됩니다.


프레임워크 (Framework)

  • 정의: 소프트웨어 개발을 위한 구조와 규칙을 제공하는 플랫폼.
  • 사용 방식: 프레임워크가 프로그램의 흐름을 제어하고, 개발자는 프레임워크의 규칙에 따라 필요한 코드를 작성합니다.
    • "제어의 역전(Inversion of Control, IoC)"이라는 개념에 기반합니다.
    • 프레임워크가 기본적으로 전체 애플리케이션의 흐름을 관리하며, 개발자는 그 안에 필요한 로직을 추가하는 방식입니다.
  • 주요 특징:
    • 특정한 개발 방식과 구조를 강제합니다.
    • 더 큰 범위의 작업(예: 애플리케이션 아키텍처, 데이터베이스 연결, 요청 처리 등)을 처리합니다.
    • 라이브러리를 포함하고 있을 수도 있습니다.
  • :
    • Python의 Django, Flask (웹 개발 프레임워크).
    • JavaScript의 React, Angular, Vue.js (프론트엔드 프레임워크).
    • Java의 Spring.

프레임워크 사용 예시 (Python - Django):

from django.http import HttpResponse

def my_view(request):
    return HttpResponse("Hello, World!")

여기서 프레임워크(Django)는 요청/응답 흐름과 서버 실행을 처리하고, 개발자는 특정 로직을 구현하는 데 집중합니다.


비교 요약

항목 라이브러리 프레임워크

항목 라이브러리 프레임워크
제어권 개발자가 제어권을 가짐 프레임워크가 제어권을 가짐
용도 특정 기능을 제공하는 도구 전체 구조와 애플리케이션 아키텍처 제공
유연성 필요할 때 호출, 자유로운 사용 가능 정해진 규칙과 구조를 따라야 함
예시 NumPy, pandas, requests Django, React, Angular

라이브러리는 단순히 도구 역할을 하고, 프레임워크는 개발의 뼈대를 제공합니다. 필요에 따라 적절히 선택해 사용하는 것이 중요합니다!

 

Pico Pro Maker Kit은 Raspberry Pi Pico 마이크로컨트롤러를 기반으로 한 개발 및 프로토타이핑 키트로, 전자공학, IoT, 로봇 공학 및 DIY 프로젝트를 탐구하려는 메이커, 취미가, 학생 및 전문가를 위한 도구입니다. 이 키트는 다양한 센서와 부품들을 포함하고 있어 프로젝트 아이디어를 쉽게 구현할 수 있도록 설계되었습니다.


Pico Pro Maker Kit의 구성품

  1. Raspberry Pi Pico:
    • RP2040 마이크로컨트롤러 기반.
    • 듀얼 ARM Cortex-M0+ 코어와 264KB RAM, 2MB 플래시 메모리.
    • USB 연결 및 GPIO 핀 제공.
  2. 프로토타이핑 관련 도구:
    • 브레드보드: 회로를 납땜 없이 설계하고 테스트할 수 있음.
    • 점퍼 와이어: 부품 간 연결을 위한 다양한 와이어(M/M, M/F 등).
    • 핀 헤더: Pico 보드에 쉽게 연결하기 위한 납땜용 핀.
  3. 센서 및 액추에이터:
    • 온도 및 습도 센서.
    • 빛 감지 센서(포토레지스터).
    • 동작 감지 센서(PIR 센서).
    • 서보 모터 또는 DC 모터.
  4. 디스플레이 모듈:
    • 작은 OLED 또는 LCD 디스플레이.
  5. LED 및 저항:
    • 다양한 색상의 LED.
    • 전류 제한용 저항.
  6. 버튼 및 스위치:
    • 푸시 버튼과 토글 스위치.
  7. 전원 관련 구성품:
    • USB 케이블(Raspberry Pi Pico 전원 공급용).
    • 배터리 홀더 또는 USB 전원 공급 장치.
  8. 추가 구성품:
    • 가변 저항기(포텐셔미터).
    • 부저 또는 피에조 스피커.
    • 기능 확장을 위한 IC.
  9. 문서 및 가이드:
    • 초보자를 위한 예제 프로젝트 및 단계별 가이드.
    • 데이터 시트와 설명서.

Pico Pro Maker Kit의 활용

  1. 교육 및 학습:
    • Python(MicroPython, CircuitPython) 및 C++ 언어를 통해 프로그래밍 학습.
    • 전자 회로 설계 및 테스트.
  2. 프로토타이핑:
    • 간단하고 빠르게 회로 및 임베디드 애플리케이션 개발.
  3. IoT 프로젝트:
    • Wi-Fi 및 블루투스 모듈을 추가하여 IoT 기기 제작.
  4. 로봇 공학:
    • 모터와 센서를 제어하여 간단한 로봇 제작.
  5. DIY 및 취미 프로젝트:
    • 자동화 도구, 맞춤형 가젯 또는 예술적 설치물 제작.

Pico Pro Maker Kit은 초보자부터 숙련된 개발자까지 누구나 쉽게 접근할 수 있는 키트입니다. 구매 전 자신의 프로젝트 요구 사항과 호환성(특히 MicroPython 및 CircuitPython 지원 여부)을 확인하세요.

맥에서 아나콘다를 삭제 하는 방법이 프로그램 삭제와 수동으로 삭제로 나눠지는 것 같다

 

conda를 지울껀데 conda를 통해서 anaconda-clean를 설치 후 지우는 건 이상해 보여서

conda를 통해서 확인하고 수동으로 지우는 방법을 택함

 

그래도 방법을 둘다 남겨둠

 

 

'IT' 카테고리의 다른 글

Windows와 macOS에서 함께 개발할 때 캐리지 리턴 설정  (0) 2025.02.15
HAOS https Home Assistant https 적용  (0) 2024.08.04
vscode 내 git user 변경  (0) 2024.07.31
Project IDX 웹 IDE  (0) 2024.07.31
bash sleep  (0) 2024.07.31

https://github.com/lencx/Noi

 

GitHub - lencx/Noi: 🚀 Power Your World with AI - Explore, Extend, Empower.

🚀 Power Your World with AI - Explore, Extend, Empower. - lencx/Noi

github.com

커스터마이즈된 브라우저인 듯 한데 기본 브라우저와 별개로 쓰니 좋은 것 같음

+ Recent posts