전체 글182 2024년 상반기 학습 기록 1. C# Tutorial - Full Course for Beginners유니티로 게임 만들 때 필요할 것 같아 들었는데 자바랑 똑같다. 내용을 한 번은 확인하는 게 맞지만 듣는 게 시간 아깝다(강의 질이 낮은 게 아니라 약간의 문법 차이 빼고는 자바랑 똑같다.). 2. 모바일앱프로그래밍방송대 교재. 안드로이드 intent 사용 부분이 이해가 잘 안 돼서 읽었다. 3. 자료구조알고리즘 시작하는데 필수 선수 과목이라 방송대 강의 15,000원 주고 사서 다 들음.스레드 트리부터 하나도 모르기 시작하면서 뒷부분에서는 거의 정줄 놓고 들음.강의 다 들었으면 방송대 교재 2권 다 읽으면 된다.책 2회독 후 바로 알고리즘 들어갈 예정. 4. 방송대 자료구조 교재 구판생각보다 빨리 읽을 수 있었다.이제 2023년.. 2024. 3. 7. 개발자로서 내가 일하고 싶은 회사 / 일하고 싶지 않은 회사 [내가 일하고 싶지 않은 회사] 1. 정부지원사업으로 '연명'하는 회사 (팁스 같은 사업도 별로다. 수익화할 수 있는 서비스가 있음에도 불구하고 R&D 사업만 주구장창 따려고 하며 심지어 개발자에게 '내가 당신에게 돈은 더 줄 수 없지만 R&D 몇 건 더 하자' 이런 말 하는 회사.) 2. 아무도 내 코드를 보지 않는 회사 (코드 '리뷰'를 해 달라는 게 아니다. 적어도 내가 '무슨 짓' 하고 있는지 주변 사람들이 알아야 하는 거 아닌가?) 3. 개발자가 개발과 동시에 기획, 디자인까지 하길 바라는 회사 (아무 레퍼런스도 주지 않고 '머티리얼 "디자인" 있잖아요. 그걸로 해 주세요. 왜 다른 디자인(시안)이 필요하다는 거예요. 머티리얼 "디자인" 적용해 달라니까요!'라는 소리 들어 보았는가.) 4. 1인.. 2024. 2. 11. (플러터) 리팩토링의 기본 리팩토링은 앱의 유지보수성, 확장성, 가독성을 향상시키기 위해 필요하다라고 하면 굉장히 식상하지만 프로젝트를 진행하다 보면 이런 부분을 굉장히 자연스럽게 느끼게 된다. 특히 몇 년 유지(또는 방치)된 프로젝트 코드를 보다 보면 왜 리팩토링이 필요한지 누가 아무 말 안 해도 절감하게 된다. 그럼 리팩토링을 잘 하는 방법이 따로 있는가? 1. 모듈화와 컴포넌트 분리 지금 내가 만지고 있는 프로젝트는 모듈화와 컴포넌트 분리가 '하나도' 안 되어 있다. 파일 하나(클래스 하나)에 코드가 1,500줄이 넘는 건 기본이고 어떤 건 2,000줄 가깝다. 로직이 어떻게 돌고 있는지 이해하기 쉽지 않는 건 물론이고 스크롤한다고 손가락 아파 죽겠다. UI는 작은 위젯으로 분리해야 한다. 가능한 한 작게 만들고 다른 곳에서.. 2024. 2. 6. failed to create pg.tables: Invalid URL Supabase에서 테이블 생성하려는데 이 에러 났다면 매우 높은 확률로 google adblock같은 extensions 영향일 수 있다. 끄면 다 해결된다. 2024. 2. 5. Supabase 배우면서 궁금했던(느끼는) 점 정리 1. PostgreSQL이란? 객체 관계형 데이터베이스 관계시스템이다(ORDBMS). SQL 기반의 데이터베이스인데, 확장성이 높고, 표준을 잘 준수하며, 복잡한 쿼리, 외래 키, 트랜잭션, MVCC(다중 버전 동시성 제어) 등의 고급 기능을 지원한다. MySQL보다 더 엄격히 SQL 표준을 준수하는데 복잡한 쿼리를 더 잘 처리한다. 2. RDB(관계형 데이터베이스)와 ORDB(객체 관계형 데이터베이스) 차이는? 데이터를 구조화하고 접근하는 방식에 있다. RDB는 테이블 형태로 데이터를 저장한다. 테이블 간의 관계를 통해 데이터를 조직화한다. SQL을 사용해 데이터를 관리하고, 데이터의 무결성, 일관성을 유지하기 위해 엄격한 규칙을 따른다. ORDB는 RDB의 기능을 기반으로 하면서 객체 지향 개념을 통.. 2024. 2. 5. i18n, l10n, 최소한만 알아보자. 그게 뭔지만 대충 알아도 된다. 어차피 개발 시 적용할 때 다시 깊게 생각해야 된다. i18n이란? 국제화를 뜻한다. l10n이란? 지역화를 뜻한다. 국제화 (Internationalization, i18n) 정의: 'i'로 시작해서 'n'으로 끝나는 사이에 18개의 문자가 있어서 i18n이라고 한다. 국제화는 소프트웨어를 설계하고 구현하는 과정에서 다양한 언어와 지역 설정에 맞춰 쉽게 적용될 수 있도록 준비하는 것을 말한다. 목적: 국제화는 코드의 재사용을 극대화하고, 지역별 특화 작업을 최소화하여 다양한 언어와 문화권에서 소프트웨어를 효율적으로 사용할 수 있도록 한다. 개발 시 주의사항: 문자열을 코드에서 분리하여 외부 파일이나 데이터베이스에 저장해야 한다. 날짜, 시간, 통화 등 지역에 따라 다르게.. 2024. 2. 3. 프로바이더 뽀개기 프로젝트 프로바이더가 discontinued되지 않는 이상 ongoing 프로젝트입니다. https://github.com/JaeeunSkywalker/provider_examples GitHub - JaeeunSkywalker/provider_examples: Literally, provider examples.Literally, provider examples. Contribute to JaeeunSkywalker/provider_examples development by creating an account on GitHub.github.com 내용은 굉장히 심플합니다.간단 소개, 깃헙 샘플 코드 연결 버튼, 기능 확인 페이지가 끝입니다.개인적으로 Provider, Riverpod, GetX 다 써보고 싶어서.. 2024. 2. 3. 플러터-프로바이더-라이브러리-정리 클래스 ChangeNotifierProvider: ChangeNotifier를 청취하고, 이를 후손에게 제공하며, ChangeNotifier.notifyListeners가 호출될 때마다 의존하는 위젯들을 재구성합니다. => changenotifier, notifylisteners로 묶어서 상태 관리할 때 쓰는 가장 기본적인 형태. ChangeNotifierProxyProvider: 다른 값을 기반으로 ChangeNotifier를 생성하고 동기화하는 ChangeNotifierProvider입니다. ChangeNotifierProxyProvider0부터 ChangeNotifierProxyProvider6까지 여러 값을 동기화할 수 있는 버전들이 있습니다. ChangeNotifierProxyProvider0:.. 2024. 2. 2. 플러터-프로바이더-궁금했던-내용들 1. provider는 changenotifier랑 notifylistener랑만 묶어서 사용할 수 있나? provider 패키지는 ChangeNotifier와 함께 사용하기에 최적화되어 있으나, 이것만이 유일한 사용 방법은 아닙니다. ChangeNotifier는 상태 변경을 알리기 위해 notifyListeners() 메서드와 함께 자주 사용되지만, provider는 다양한 타입의 데이터와 객체를 관리할 수 있습니다. 예를 들어, 단순한 값(value)이나 다른 타입의 객체를 공유하고자 할 때 Provider를 사용할 수 있고, 이 경우 ChangeNotifier와 notifyListeners()는 필요하지 않습니다. 또한, provider 패키지는 ListenableProvider, StreamPro.. 2024. 2. 2. 고, 플러터, 라즈베리파이5로 채팅 서비스 만들기 - 2(서버 설계 편) 병아리 개발자이기 때문에 내용이 굉장히 전문적이고 막 그러지 않을 수 있다. 그래도 이건 내 생각을 현실화하는 일이기 때문에 어떠한 눈치도 보지 않고 '내 생각'대로 기술할 것이다. 채팅 서버를 빠르게 구축하려면 유튜브에 있는 거 아무거나 내 구상에 가장 가까운 거 집어서 그걸 베끼든 참고하든 하면 될 것이다. 그런데 이번에는 나름의 정도를 밟아 본다. 인터넷에 있는 자료를 참고하는 건 중간 중간에 하면 된다. 개발 전에는 우선 설계를 해야 한다. 그런데 나는 지금 절대 틀리지 않을 청사진을 그려 놓고 그걸 바로 구현하기만 하면 되는 수준(상황)이 아니다. 채팅 서버에는 정말 다양한 기능이 들어가는데 지금 당장은 필요한 것 같아도 별 쓸모가 없는 기능이 발견될 수도 있고 단 한 번도 도입을 생각하지 않았.. 2024. 2. 1. 고, 플러터, 라즈베리파이5로 채팅 서비스 만들기 - 1 본 서비스를 만드는 이유: 그냥. 만들고 싶으니까. 환경: 라즈베리파이5는 headless 홈 서버로 간다. 아르곤 케이스 안에 본체만 넣었고 정품 아닌 국산 어댑터로 전원을 공급한다. 마이크로 SD카드의 용량은 256GB다. 이게 하드웨어 세팅 끝이다. putty로만 연결하고 vnc는 쓰지 않는다(사실 쓸 수가 없다). 라즈베리파이 os 위에 도커 올리고, 그 위에 컨테이너 여러 개 올리고, 그 안에 앞으로 내가 만들 백엔드 서비스를 하나씩 넣을 거다. 프론트는 보통은 플러터를 하겠지만 다른 걸 쓸 수도 있다. 데드라인: 엄청 바쁘다. 하루 중 시간이 별로 나지 않는다. 그래서 빨리 못 끝낼 거 같다. 그래도 3월 말 안에는 끝내고 싶다. 계획: 1. 서버 설계: 채팅 서버의 기본 아키텍처를 설계하자... 2024. 2. 1. 플러터 개발자로 이직하고 한 달 뒤 회고 나는 나이가 많다. 지금 37이다. 87년생. 지금 회사 오기 전에 첫 회사부터 블랙기업을 3연속 겪었다. 그래서 이력서가 약간 엉망이다. 나쁘게 말하면 '아무도 안 뽑을 거 같은 이력서'. 근데 지금 회사에서 나를 꼭 쓰고 싶다고(?) 뽑았고 나는 일을 매우 잘하고 있다... 내가 생각했던 것 이상으로 일을 쳐내고 있다. 그 과정 중 경험하고 느낀 것들을 남겨 본다... 1. 개발자 취업에 나이가 중요한가? > 보통은 중요하다. 36~37을 신입 or 중고신입으로 뽑을 곳은 많지 않다. 그런데 나이 크게 신경 안 쓰고 일단 면접이라도 보는 곳이 있다. 그런 곳은 평균 개발자 연령이 약간 높거나 40~50대 개발자가 있는 곳이다(내가 경험한 한 곳은 쓰레기 회사였고 다른 한 곳은 좋은 회사였다. 나이 많.. 2024. 1. 16. 이전 1 ··· 12 13 14 15 16 다음