8월은 순식간에 지나갔다. 업무와 인턴 과제에 치이다 보니 정신 차려보니 벌써 9월이 되어 있었다.일을 열심히 하려 했지만 아직은 모든 과정이 서툴렀다. 특히 협업은 여전히 어렵게 느껴진다. 이번에 크게 깨달은 점은, 프로젝트를 시작할 때 기획과 명세를 디테일하게 확실히 그려야 한다는 것이다. ‘누군가 했겠지’라는 생각은 결국 모두가 그렇게 생각할 수 있음을 알게 되었다. 또한 시험 삼아 대기업 인턴 면접을 경험했다. 사실 갈 마음은 없었지만, 코딩테스트와 인적성을 보니 어느새 면접장 앞에 서 있었다. 경험이라 생각하며 도전했지만, 간절하지 않았던 탓일까 면접 중에도 계속 현타가 밀려왔다. 결국 너무 준비를 안한 티가 나는게 죄송해서(PT면접도 한번도 연습안해감..ㅁㅊ;) ‘면접관님들, 죄송합니다…^^..
벌써 8월이라니...! 이럴슈가슈가룬..시간이 쏜살같이 지나갔다. 7월은 회사에 적응하는 것을 최우선 순위에 두었고, 나름 잘 지켜진 것 같다. 회사 후기부터 말하자면...아직 한달차라 모든게 서툴지만, 일이 재밌어서 매일 감사하고 행복한맘으로 출근중이다. 사실 뭘해도 취준백수때의 힘듦보단 나은것같달까...(세상의 모든 취준생들 파이팅이다...) 정말...나만잘하면돼...!회사에 입사한 이후 현재까지 적응 교육을 받고 있으며, 팀에서는 온보딩 차원에서 약 2~3주의 적응 기간을 주셨다.이 기간 동안 분위기에 적응하고 공유해주신 학습 자료를 바탕으로 공부할 수 있도록 배려해주셨고,이후에는 실무에 투입되어 작은 업무부터 차근차근 상사분과 페어로 함께 업무를 수행하고있다. 처음보는 용어들과 업무가 이해가안되어..
https://school.programmers.co.kr/learn/courses/30/lessons/12920 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 간단해보여서 덤볐다가 애먹은 문제... 처음엔 과정을 이해하기 위해 일단 브루투포스로 과정을 생각을 해봤다.time을 1초씩 증가시키며 상태를 처리한다. 🔍브루투포스 (시간초과)def solution(n, cores): cpu = {} for core in cores: cpu[core] = 0 time = last = task = 0 while task 예상했듯 시간초과.CPU가 10,000개일 수 있..
✅ BST (Binary Search Tree, 이진 탐색 트리)자식 노드 수: 최대 2개정렬 규칙: 왼쪽 자식 시간 복잡도: 평균 O(log N), 최악의 경우 O(N) (비균형 시)단점: 노드 수가 많을수록 트리의 높이가 커져 비효율 발생 가능✅ B-Tree (Balanced Tree)BST를 확장한 구조로, 대용량 데이터 처리에 적합한 균형 잡힌 트리한 노드에 여러 개의 키와 자식 노드를 가짐자식 노드 수: 3개 이상 가능 (차수 M 이상)키 저장: 오름차순 정렬Balanced Tree: 삽입/삭제 후에도 항상 균형 유지모든 리프 노드가 같은 깊이에 존재🤘🏻 B-Tree 규칙자식 수 (최대)M개 (M = 차수)키 수 (최대)M - 1개최소 자식 수⌈M / 2⌉개※ 루트/리프 제외최소 키 수⌈M..
나의 졸업부터 현재까지의 플로우는 다음과같다.👣~2023학교생활: 무한 과제와 팀플 세계관에 집중👣2024 상반기- 졸업요건 충족 위해 겨울방학(2023.12~20224.02) 외부 인턴 수료, 추가학기로 과제에 치여살기(?)👣 2024 하반기- 졸업 유예 후 졸업작품 진행(수상작 선정v) - 1년 전부터 계획했던 클라우드 국비 교육 시작!👣 2025 상반기- 클라우드 교육 수료 - CKA, CKAD, AWS 자격증 취득(ㄹㅇ맘껏공부ㅋ) - 본격적인 취업 준비 시작👣 2025 하반기- 백엔드 채용전환 인턴십 시작 예정! 그리고 부가적으로 직무관련 외에 2025 지금까지 꾸준히 한 것은 다음과같다.온전히 내 욕심으로 선택한 것들이고 상반기 매일매일 해오며 성장한게 느껴진다.📚 개발 학습- 자바 ..
자신의 확신이 불안정하다는 것을 의식해야 한다.모든 결단은 완결적 사건이 아니라 과정으로서 존재한다. 실존주의 철학을 바탕으로 쉽게 풀어가는 철학책.어찌보면 당연해보이는 얘기들을 다시한번 철학을 바탕으로 환기해주는 책이다.사실 "답"을 찾기 위해 이책을 읽기 시작했다. 대체 나는 어디로 나아가는 것이고 또 앞으로 어디로 가야하는가. 아마 철학의 가장 근본적 의문일것이다.이 책은 결국 답은 없으며 모든것은 나에 달렸다고 이야기한다. 특히 인상깊은 이야기는 다음과같다.의미없고 지나간 현재와 무관한 과거에 잡아먹히지 말자는 얘기와 함께, 내 삶의 의미와 가치를 스스로 결정하라고 얘기한다.그리고 과거를 필요 이상을 필요 이상으로 실재적인 것으로 생각하고, 그에 대한 환상을 만들어 거기에 갇혀서는 안된다고 ..
처음시도 (틀린풀이)def solution(strs, t): answer = 0 INF = float("inf") n = len(t) dp = [INF] * (n + 1) dp[0] = 0 for i in range(1, n + 1): for w in strs: if i >= len(w) and t[i-len(w):i] == w: dp[i] = min(dp[i],dp[i - len(w)] + 1) return dp[n] if dp[n] != INF else -1dp[i]는 “문장 맨 앞에서부터 i번째 글자까지 완성하는 데 필요한 조각의 최소 개수”로 두었다.문장의 각 위치마다, 사용할 수..
들어가며클린 코드 14장에서는 명령행 인수 처리 프로그램(Args.java)을 점진적으로 리팩터링해가는 과정을 소개합니다. 단순한 if-else 분기에서 출발해, 점점 더 유연하고 확장 가능한 구조로 나아가는 모습을 보여주죠. 이번 글에서는 제가 실제로 진행 중인 타임딜 할인 시스템에서 중복된 조건문 제거를 목표로, 클린 코드에서 소개한 점진적 개선 원칙을 어떻게 적용했는지 공유해 보겠습니다.문제 상황: 할인 정책 판단 로직에 if가 너무 많았다먼저 제코드입니다. 처음에는 이렇게 구현했습니다:@Component@RequiredArgsConstructorpublic class CouponDiscountStrategy implements DiscountStrategy { @Override publ..
"복잡한 구조는 단순한 원칙을 지켰을 때 저절로 생겨난다." — 창발성(Emergence)들어가며Clean Code의 핵심 원칙 중 하나인 "창발적 설계(Emergent Design)"는 단순한 규칙들을 철저히 지킴으로써 전체 시스템이 자연스럽게 잘 설계된 구조로 발전할 수 있음을 말합니다. 이번 글에서는 제가 실제로 타임딜 할인 시스템을 설계하고 리팩토링하면서 이 원칙을 어떻게 녹여냈는지 공유해 보려 합니다.창발성이란?창발성(Emergence)은 각 구성 요소가 단순하지만, 그들이 서로 상호작용하면서 전체적으로 예기치 않은 복잡하고 유기적인 결과를 만들어내는 현상을 말합니다.예를 들어, 단일 뉴런은 생각을 못하지만 수십억 개의 뉴런이 상호작용하면 의식이 생기듯, 작은 설계 규칙을 지키다 보면 좋은 전체..
6/12 회고록 작성 시작상반기 시즌이 이렇게 또 끝나간다. 어제 마지막 최종 면접을 봤다. 오늘은 다른 회사의 최종 면접 불합격 소식을 받았다. 99% 예상한 불합격이지만 기분이 썩 좋진 않았다. 2월 말 부터 1~2주 간격으로 계속 면접이 있었고, 세보진 않았지만 10번 넘게는 본 것같다. 매일이 시험기간보다 초조하고 긴장됐다. 결과가 어떻든간에 그냥 참 고생했다고 스스로에게 말하고싶다. 올해 초 남자친구와의 이별에서 오는 슬픈 감정은 정말 약과라고 할만큼 견디기 힘든 개인적인 시간이 파도처럼 덮쳐왔다. 취준이 이렇게 힘든 과정인 줄 몰랐다.^^ 1차 면접에서 분위기가 너무 좋아 정말 기대하고 간절했던 회사에서는 너무 떨어 최종 면접을 망치곤 트라우마의 잔상이 남아, 몇일 뒤 있는 면접에선 면접에서..