목록분류 전체보기 (97)
Ssul's Blog
Git은 단순히 "저장"하는 도구가 아니라, 변경 이력을 단계별로 관리하는 시스템입니다.개발자가 코드를 수정하고 협업할 때 반드시 거치는 4단계를 먼저 이해해봅시다.1) 워킹 디렉토리 (Working Directory)내 컴퓨터에서 직접 수정 중인 파일들이 있는 곳입니다.아직 Git에 반영되지 않은 상태라 git status를 치면 modified 로 표시됩니다.👉 예시 git status2) 스테이징 영역 (Staging Area)여러 파일을 수정했더라도, 이번 커밋에 포함할 파일만 골라낼 수 있는 임시 대기실입니다.git add 명령으로 워킹 디렉토리에서 스테이징 영역으로 옮깁니다.👉 예시 git add file.txt # 특정 파일만git add . # 모든 변경사항3) ..
AI를 공부하다보니, 자연스럽게 GPU, 반도체를 공부하게 된다.그리고 주식 투자도 하다보니, 자연스럽게 반도체를 어떻게 만드는지까지 공부를 하게 된다.반도체 초보가 쉽게 정리해 보겠다. 1. 전기 원리 이해 전압(Voltage): 전자를 밀어주는 “압력”.전류(Current): 전자의 “흐름” 양.저항(Resistance): 흐름을 방해하는 정도.전자 흐름 방향: 전자는 (-) → (+) 방향으로 실제 이동합니다. (우리가 회로에서 쓰는 “전류 방향”은 관례상 반대) 2. 도체/부도체/반도체 구분 도체: 자유전자가 많아 쉽게 흐름. (구리, 알루미늄)부도체: 전자가 거의 묶여 있어 흐름 어려움. (유리, 고무)반도체: 그 사이. “상황에 따라” 흐르도록 만들 수 있음 3. 최외곽 전자 이해하고, 그래서..
0. 요약- Vercel에 프론트앤드 서비스 배포(예: 서비스명.vercel.app)- AWS Route53에서 서비스명.com 도메인 구매- 서비스명.com으로 서비스 접속하기 1. A, CNAME이해하기1-1. A레코드란?A 레코드(Address Record)는 “도메인 이름을 정해진 IPv4 주소로 바로 연결한다”는 뜻입니다. 브라우저가 서비스명.com를 요청하면 DNS는 즉시 76.76.21.21 같은 숫자 주소를 돌려주고, 사용자는 그 IP가 붙어 있는 서버로 곧장 접속합니다.루트 도메인(example.com), mail 서버, 고정 IP를 쓰는 웹·API 백엔드처럼 IP가 변하지 않거나 내가 직접 관리하는 서비스에는 A 레코드 한 줄로 끝내는 것이 가장 단순하고 빠릅니다. 또 동일한 이름에 M..
#1. CPU와 GPU 비교- core: core내부에 여러개 들어 있는 ALU(계산 전용도구)- control(제어유닛): 계산을 언제할지 스케쥴, 배분 관리- L1 cache: core연산에 사용하기 위한 가까운 메모리- L2 cache: 약간 크지만 덜 가까운 메모리- L3 cache: 약간 더 크지만 조금 더 먼 메모리- DRAM: 외장 메모리, GPU DRAM은 비싼거 사용(코어가 많아서 빨라야함) CPU는 복잡하고 다양한 작업을 빠르게 수행 > 코어랑 제어유닛이 큼. 그리고 근처 cache가 커야함 > 트렌지스터 많아야 함GPU는 단순하고 많은 작업을 빠르게 수행 > 코어가 가변고, 단순작업 잘함 > 코어가 작은대신 엄청 많음CPU는 개별 코어의 성능을 높이는 방향으로 발전. GPU는 코어의 ..
인터넷 검색이나, AI검색을 통해서 AI모델 학습/추론하는 코드를 찾아보게 되면 다양한 방식이 존재한다.어쩔땐 pipeline, 어쩔땐 model.generate()/decode, 또 어쩔때는 model(input_ids)를 넣는 방식까지...매 검색 코드마다 쓰는 방식이 다르니, 한번 정리하고, 나만의 AI학습 코드를 고정해야 하겠다. 이번 글에선 “토크나이저 → 모델 → 디코딩” 흐름을 기준으로1️⃣ pipeline (원스톱)2️⃣ generate (표준)3️⃣ manual forward (로짓 해킹)세 등급으로 쪼개 봤다.코드는 전부 복붙-실행 되도록 적었으니 — 마음에 드는 루틴 하나 골라 바로 써 보시길! #0. 공통- 설치해주시고 pip install -q transformers acceler..
ios앱을 개발중이다. 이번 목표는 아래와 같다. 유튜브 앱에서 공유하기 버튼을 누른다. 공유 가능한 앱에 내 앱아이콘이 등장한다.해당 앱 아이콘을 클릭하면, 내 앱으로 이동한다.내앱에 들어가서, 내가 원하는 메뉴를 띄우고, 공유하는 유튜브 링크를 붙여넣는다. 위 3가지 포인트가 완성되어야 한다. 어떻게 해야 할까? #1. ShareExtension(내 앱 아이콘이 등장 > 내 앱으로 이동 전까지)ShareExtension은 다른 앱에서 공유하기 눌렀을때, 내 앱아이콘이 뜨고, 그걸 클릭했을때 연결해주는 역할을 하는 녀석임. 1-1. Xcode → File ▸ New ▸ Target ▸ iOS ▸ Share Extension클릭- 적절한 이름을 설정하고 추가1-2. bundle Identifier설정- ..
요즘 텍스트 데이터는 마크다운과 이모지의 향연이다.당연히 해당 텍스트 데이터를 그대로 잘 표현해야 한다. 그럼 SwiftUI는 알아서 잘 표현 할 것인가?SwiftUI의 마크다운 표현 가능 여부를 알아보자. 후보#1. Text- 별도의 라이브러리 설치없이 사용가능하다- iOS 15부터 가능하다import SwiftUIstruct MarkdownTextView: View { let markdownString = """ # 제목 1 ## 제목 2 **굵은 글씨**, *기울임*, `코드` - 리스트 아이템 1 - 리스트 아이템 2 [링크](https://www.apple.com) """ var body: some View { ScrollView { ..
1. StateObject- view가 인스턴스를 생성하고 소유함- 보통 ViewModel이 해당 뷰에서만 쓰이거나, 상위뷰에서 초반에 전역으로 사용할 인스턴스 생성할때 사용 struct MyView: View { @StateObject var viewModel = MyViewModel()}//상위에서 생성해서 보낼때 사용struct TmpApp: App { @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate @StateObject var container: DIContainer = .init(services: Services()) var body: some Scene { WindowGroup { ..
2025년 새해 계획 중 하나가, 두달에 하나의 앱을 개발하는 것이었다.벌써 4월이 시작되었지만, 아직 첫번째 앱. 열심히 분발해서 6개의 앱을 완성해보자!!애플개발자 계정 본전은 뽑아야지 ㅜㅜ 첫번째 앱을 개발하면서, 미국/유럽 등 영어권 시장부터 출시하면 어떨까 생각하게 되었다.근데 이미 개발을 한참 진행 했더니.... 전부다 한글인 상황. 1. 아이폰 앱 중에서 영어와 한국어 두개 이상의 언어를 지원하는 앱들은 어떻게 하는 것일까?이미지 추가-Add Image마이페이지-My Page처럼 결국 무조건 해석해서 두개를 넣는 것은 당연할 것 같은데.... 그런 궁금증을 가지고 검색을 시작했다. 우선 결론은 String Catalog와 String File 둘중에 하나를 쓰면 된다.String File이 ..
최근에 진행하는 R&D프로젝트가사전학습된 LLM의 지식을 활용하여, 약 4,000~5,000건의 데이터만 학습하여,특정 도메인에 특화된 과업을 해결하는 모델을 만드는 것이다.(예: 스팸문자 분류하는 LLM) 그래서 한글을 잘한다고 소문난 모델을 이것 저것 파인튜닝 해보고 있다.- EEVE, Qwen2.5의 경우 gpt-4o-mini를 api로 파인튜닝 한 모델보다 성능이 떨어졌다.- EXAONE3.5를 기점으로 gpt-4o-mini와 비슷하거나 높게 나오기 시작했다. 1. Gemma3 발표이놈의 AI쪽은 허구헛날 새로운 모델이 나오고, 기존 성능을 갱신한다.EXAONE에서 만족하고 다음 진도를 나가려 했는데..... 그래도 Gemma3가 나왔다고 하니 파인튜닝을 안할수 없었다.코드를 열심히 검색해봐도 대..