기타
-
[디자인패턴] 전략 패턴기타/북스터디 2022. 7. 10. 12:46
오늘은 디자인패턴 중 하나인 전략 패턴에 대해 정리해보려고 한다. 전략 패턴이란, 알고리즘군을 정의하고 캡슐화해서 각가의 알고리즘군을 수정해서 쓸 수 있게 해주는 패턴으로 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경을 할 수 있게 해준다. 전략 패턴을 적용하는 과정을 아래 예시를 보며 이해해보자. 여러 종류의 캐릭터가 존재하는 액션 어드벤쳐 게임을 만든다고 생각해보자. 너무 상세하게 설계과정을 나열하다보면 글이 길어질 수 있어 시작은 추상클래스로 공통된 부분을 캡슐화하고 상속받는 구조로 시작하자. 여기까지는 Character라는 슈퍼클래스를 상속받는 Knight와 Queen이라는 서브클래스가 있는 구조이고 기능을 추가하기 위해 무기를 가지고 싸우는 행동을 추가하기로 했다. 무기를 가지고 싸우는 행..
-
Test Driven Development By Example 2부 정리기타/북스터디 2022. 6. 4. 00:07
xUnit 예시 테스트를 위한 도구 구현하기 1. xUnit으로 가는 첫걸음 첫 번째 작은 단계는 아직 프레임워크가 없기때문에 테스트 케이스를 수동으로 검증하자. 두 번째는 테스트 프레임워크에 대한 할 일 목록 정리하기.테스트 메서드 호출하기setUp 호출하기 나중에 tearDwon 호출하기 테스트 메서드가 실패하더라도 tearDown 호출하기 수집된 결과를 출력하기 클래스를 정의하기 전에 테스트 코드부터 작성하기 테스트 코드가 초록 막대가 뜨게 클래스와 메서드를 정의하고 리팩토링 진행하기 리팩토링의 일반적인 패턴 하나의 특별한 사례에 대해서만 작동하는 코드를 가져다가 다른 여러 사례에 대해서도 작동할 수 있도록 상수를 변수로 변화시켜 일반화하는 것 질문 p.161: 자기참조 프로그래밍이 뭐지? p.16..
-
"최선"을 다하면 "최고"가 될 수 있을까?기타/일상 2022. 5. 29. 11:51
글또를 시작한 지 2주차, 2번째 글을 쓰는 날이다. 1번째 글을 쓰고 2주가 거의 다 될 쯤에 이번에는 어떠한 주제로 글을 쓸지 고민을 하다 마감날에 글을 쓰기 시작했다. 스터디를 통해 공부하는 내용들은 따로 정리하고 있는 장소가 있어 그 글을 워싱해서 정리하는 것은 효율적이지 않을 것같고 기술적인 내용을 정리하기에는 주제가 떠오르지 않아 2주동안 나는 어떠한 생각을 했고 어떻게 지냈는지를 정리해보려고 한다. 이 글의 제목을 "최선"을 다하면 "최고"가 될 수 있을까?로 선정한 이유부터 써보려고 한다. 일을 시작한 지 어느덧 4개월이 다 되가고 있는 시점이고 짧다고 생각하면 짧고 길다고 생각하면 긴 기간이다. 내가 참여했던 교육인 SW사관학교 정글에서의 교육목표는 "장기적으로 성장할 수 있는 정예 개발..
-
3개월 간의 Fit Test 종료, 그리고 새로운 도전의 시작기타/일상 2022. 5. 14. 18:09
2022년 5월 6일, 첫 회사에 입사한지 3개월이 지나간 날이고 fit test가 끝난 날이다. 우리 회사는 다른 회사들에서 흔히 수습기간으로 잡는 3개월동안에 fit test가 이루어진다. 서류, 코딩테스트, 2번의 면접을 통해 어느정도 성장가능성을 회사에서 보았기 때문에 신입 개발자로서 입사를 하게 되었지만 회사와 정말 fit이 맞는지를 보기에는 짧은 시간이다. 그렇기에 3개월동안 주어진 task들을 수행하면서 회사가 생각하는 개발자 페르소나 그리고 회사문화와 어울리는지 확인하는 시간을 가진다. 솔직히 3개월동안 굉장히 불안했고 스트레스도 엄청 받았던 시기였다. 비전공자이고 개발을 공부한 것이라고는 5개월, 물론 5개월 간 정말 몰입과 압축성장을 한 경험이 있지만 최소 대학교에서 4년동안 공부한 전..
-
[객체지향의 사실과 오해] 2주차 정리 (3~4장)기타/북스터디 2022. 4. 1. 01:18
오늘은 북스터디로 진행 중인 객체지향의 사실과 오해 3장, 4장을 읽어보고 정리를 해보려고 한다. 원래 1주차인 1~2장도 정리해야했지만 개인적인 사정을 핑계로 책을 읽는 시간을 미루다가 정리할 타이밍을 놓쳤다,,, 계획적으로 행동하며 앞으로는 계속 정리를 이어나가려고 한다. 책에 쓰여진 글들을 여기에 쓰기보다는 뭔가 와닿고 읽으면서 든 나의 생각을 정리하는 느낌으로 3장. 타입과 추상화 모든 장의 시작말은 누군가가 얘기한 말의 인용으로 시작한다. 3장의 시작글은 키스 데블린의 말로 추상화에 관한 이야기이다. 이 글귀를 보고는 처음에 딱 든 생각은 정글에서 활동하면서 짧게 세미나형식으로 운영체제 수업을 카이스트의 교수님께 들은 적이 있는데 그 때가 떠올랐다. 아직도 추상화라는 개념이 어렵게 느껴지지만 추..
-
첫 회사, 한 달동안의 나는 어땠을까?기타/일상 2022. 3. 2. 01:56
오랜만의 블로그 글, 입사 후에 매일매일 나의 하루를 정리하며 TIL을 작성하는 것이 목표였지만 이루어지지 않았다... 시간이 없어서 못했다는 것은 핑계라고조차 할 수 없는 핑계이고 그냥 내 자신에게 목표를 이루지 못했다는 것에 너무 자책하지 않기 위해 할 수 있는 변명은 아무래도 첫 회사, 새로운 환경에 적응하는 것에만 초점을 맞추고 몰두하고 싶어서였다. 그래도 한 달에 한 번씩은 꼭 쓰자!라는 목표를 다시 잡았고 지금 이 글을 쓰는 시점에는 한 달하고 일주일이 넘었지만 그래도 썼다는 것에 작은 만족을 하고 일주일 늦었다는 것에 반성을 하고자 한다. 사실 이 글도 이번 주부터 참여한 TWIL(This Week I Learned)챌린지에 참여하지 않았다면 또 핑계를 대며 뒤로 밀렸을 것이다. 이제는 회사..
-
[Git] 처음부터 제대로 알아보기기타/깃(Git) 2022. 2. 2. 05:02
오늘은 Git에 대해 정리해보려고 한다. Git은 정글에서 공부하면서 자주 썼지만 매일 쓰던 add, commit, push 등 뿐이였고 마지막 최종 프로젝트 할 때에는 git을 잘 다루지 못해서 잘못된 경우가 발생하면 디렉토리를 삭제하고 새로 clone을 한 경우가 종종있었다. 아마 회사에 가면 버전관리시스템으로 git을 쓸 것이고 많은 것들을 새로 접하겠지만 git만큼은 어느정도 쓸 줄 알아야 할 것같아 프로 Git 2판이라는 책을 빌려 읽기 시작했다. 유튜브에 있는 git에 대한 동영상들은 내가 아는 수준인 기본적인 것들만 담고 있어 원리와 조금 더 심화된 내용을 알고 싶어 책을 선정하게 되었다. 1. Git의 핵심 1) 데이터를 파일 시스템 스냅샷으로 취급 더보기 스냅샷(snapshot)은 과거의..
-
[2022년 1월 2주차 회고] 노력의 결실 (SW 사관학교 정글 취업 성공기)기타/SW 사관학교 정글 2022. 1. 14. 11:50
드디어 나에게도 취업 성공이라는 소식이 들려왔다. 개발자 커리어를 시작하기 위해서 내가 달려왔던 시간들을 정리해보려고 한다. 2020년 12월 28일, 9월부터 시작한 약 4개월 간의 공공기관 인턴을 끝내고 멀티캠퍼스에서 주최한 40여일간의 온라인 국비지원 교육을 들었다. 물론, 코딩교육(파이썬기반 머신러닝 응용 웹 개발)이였고 머신러닝과 웹 개발을 동시에 배울 수 있는 국비지원 교육이였다. 국비지원교육을 듣기 이전에는 2020년 6월에 2개월간 데이터분석에 대한 호기심이 생겨 교육을 들었었고 공공기관 인턴 직무도 공공데이터와 관련된 업무를 하는 역할이였다. 이렇게 데이터 관련 경험을 하다보니 점점 데이터 엔지니어에 관심이 생기기 시작했다. 그래서 인턴이 끝나고 난 이후에는 기존에 준비하던 공기업 준비와..