| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- BOJ
- security
- 앙상블
- dotenv
- Clone
- webpack
- C#
- condition
- type
- 보안
- TypeScript
- VUE
- vue.js
- loop
- machine learning
- AI
- sqld
- generic
- npm
- scss
- docker
- Python
- nginx
- leetcode
- git
- vuetify
- JavaScript
- var
- C++
- property
- Today
- Total
목록전체 글 (169)
ice rabbit programming
들어가기 전에AI 도구를 활용한 개발이 이제는 그 전이 까마득한 옛날이었던 것으로 느껴질만큼 상용화되었다. 다만 26년 중반을 넘어가는 현재 시점에서는 사용자의 능력에 따라서 이끌어낼 수 있는 결과물의 정도가 달라진다고 생각하고, 이슈가 있을 경우 이를 추론하고 판단하는 능력이 더욱 중요해졌다고 생각한다. 그렇기 때문에 6년 반 정도 개발자로 일하면서 자연스럽게 훈련된 프로세스인, 이슈를 찾고 원인을 파악해서 해결하는 과정을 조금씩 정리해보고자 한다.Mac에서만 해시가 깨졌다 — 없앤 #ifdef 하나가 부른 회귀발단프로그램 업데이트 이후, Mac 빌드에서만 메타데이터 파일의 파일 해시가 깨져서 기존과 다른 형태의 값이 나왔다.0000008500000092000000c0000000740000005e파고들..
SQLD를 준비하면서 정리했던 개념 요약 글이다. 매우 자세하지는 않아도 시험을 준비하는 누군가에게 도움이 되었으면 좋겠다.1과목 — 데이터 모델링의 이해기본 구조모델링 3단계: 개념 → 논리 → 물리 (정규화는 논리 단계, 인덱스/파티셔닝은 물리 단계)3대 관점: 데이터 / 프로세스(처리 절차만) / 데이터와 프로세스의 상관(프로세스가 데이터에 미치는 영향까지)3층 스키마: 외부(View) / 개념(ERD, 조직 전체 통합 관점) / 내부(저장구조)엔터티 / 속성 / 관계엔터티 5대 특징: 업무 필요 · 식별 가능 · 인스턴스 2개 이상 · 속성 2개 이상 · 관계발생시점 분류:기본 엔터티: 독립적 존재 가능 (고객, 사원)중심 엔터티: 기본의 FK를 받아 존재하며 하위에 FK를 내려주는 다리 역할 (..
AI의 급부상으로 조금씩이라도 여러 방면을 넓게 공부해보고자 하는 생각이 들어, 일전에 친구가 SQLD 자격증을 취득했었던 것이 생각나서 짧게 준비하여 응시하였다.9/4 어제 오후 공식 가채점 결과가 나왔고, 60점은 무난히 넘겼다. 인터넷에서 본 기출보다는 어려웠던 편이었던 것 같지만, 시험 당시에 계산했을 때 헷갈리는 것이 전부 틀려도 70점 정도라고 생각하고 있기는 했었다.대학교 3학년 때 데이터베이스 설계 과목을 수강하면서 대부분 공부했던 내용이라 개념을 복습한다는 느낌으로 공부했고, 자격증도 목표이긴 했지만 클라이언트 쪽 개발을 주로 담당하면서 잊어버린 DB 개념들을 다시 복습하는 데에 주력하였다.1과목 개념은 다시 보니 거의 바로 다시 떠오르긴 했지만, SQL 구문같은 경우에는 거의 5~6년을..
1. 컬렉션, 코루틴, LINQCollection동일 타입의 객체를 보관하는 자료구조다. C#에서는 성능과 타입 안정성을 위해 주로 제네릭 컬렉션(List, Dictionary)을 사용하며, 멀티 스레드 환경에서는 Concurrent 컬렉션을 사용한다.Enumerator (열거자)와 Co-Routine (코루틴)열거자: IEnumerator 인터페이스를 구현하며, MoveNext(), Current를 통해 컬렉션을 순회한다. foreach 문은 내부적으로 열거자를 사용한다.코루틴 (yield return): 컬렉션을 순회할 때 값을 한 번에 리턴하지 않고, yield return을 만날 때마다 호출부로 돌아갔다가 다음 호출 시 중단점부터 다시 실행되는 상태 머신 구조다.LINQ (Language Inte..
생성 및 컬렉션 패턴Container & Iterator (반복자)Thin Template Container: void* 기반의 컨테이너를 상속받는 얇은 템플릿(Thin Template) 기법을 사용하면, 강력한 타입 안정성을 챙기면서도 과도한 템플릿 인스턴스화에 따른 코드 폭발(Code Bloat)을 차단할 수 있어 하드웨어 제약이 큰 모바일이나 임베디드 라이브러리에서 매우 유용하다.Iterator 패턴: 컨테이너 내부 구현(배열, 연결 리스트 등)을 노출하지 않고 요소에 순차적으로 접근할 수 있도록 돕는다. Java/C#의 인터페이스 기반 다형성 처리와 달리, C++의 STL 반복자는 런타임 가상 함수 호출 성능 저하를 방지하기 위해 연산자 오버로딩(++, *)과 컴파일 타임 템플릿 매칭 기법을 사용..
간접층의 원리를 활용한 패턴들간접층을 도입하여 의존성을 제어하며, 목적에 따라 아래와 같이 나뉜다.Adapter 패턴: 기존 클래스의 인터페이스가 요구 사항과 맞지 않을 때 인터페이스를 변경(호환성 제공)하기 위해 사용한다.Class Adapter: 다중 상속 또는 값으로 포함하여 수정.Object Adapter: 객체를 포인터/참조로 포함(Composition)하여 수정. STL의 std::stack 및 std::reverse_iterator가 이에 해당한다.Proxy 패턴: 특정 객체에 대한 접근을 제어하거나 대행하기 위해 대리 객체를 제공한다. (예: Remote Proxy, Virtual Proxy, Protected Proxy).Facade 패턴: 복잡한 서브시스템 구조의 의존성을 감추고, 호출..
지난 정규표현식 간단 정리 글에 이어서 이번에는 디자인 패턴에 관해 강의를 들으며 정리했던 필기를 정리하려고 합니다.약 4년 반 전에 포스팅했던 Typescript 강의를 듣고 정리했던 글과 비슷하겠네요.어느새 처음 입사한지 만 5년이 흐른 지금, 기존 코드도 나름 많이 읽었고 선배 및 동료 개발자들과 리뷰를 하면서 더 나은 코드를 작성할 수 있도록 노력해오기도 했습니다. (개인적으로는 아직 많이 부족하다고 생각합니다만...)C#, 파이썬과 Typescript를 거쳐서 현재는 C++을 주로 사용하고 있어서 GoF 패턴을 C++ 강좌로 접할 기회가 있어 듣고 간략하게 정리한 내용입니다.대부분 한 번씩 사용해봤을 법한 패턴들입니다. 다만 패턴에 너무 매몰되지 않고 생산성과 현재 프로덕트가 처한 상황에 맞게 ..
개발을 할 때 종종 정규표현식을 사용할 일이 있습니다. 특정 패턴의 버전을 입력해야 하는 유효성 검사를 하거나, string으로 넘어온 인자들을 파싱할 때 등 여러 경우에 사용합니다.최근에는 언어에서 지원해주는 라이브러리들도 많고, 자주 쓰이는 패턴의 경우에는 검색하면 금방 나오기도 합니다.하지만 코딩과 마찬가지로 긁어서 가져다 쓰는 것만이 아니라 이해하고 활용하고, 수정하고 나아가서는 직접 만들 줄도 알아야 한다고 생각합니다.아래는 근래에 정규표현식 관련해서 책을 읽으면서 나름대로 정리한 내용입니다.(근래라고는 썼지만 몇 달 되긴 했네요.)https://regexr.com/ 와 같은 곳에서 직접 만들고 테스트해볼 수도 있습니다.(혼자 정리용으로 필기한 글이라 최대한 가독성 좋게 수정하기는 했습니다만 잘..
