일기

· 일기
⌜오브젝트⌟가 쓰여진 이유프로그래밍 패러다임은 개발자 공동체가 동일한 프로그래밍 스타일과 모델을 공유할 수 있게 함으로써 불필요한 부분에 대한 의견 충돌을 방지한다. 또한 프로그래밍 패러다임을 교육시킴으로써 동일한 규칙과 방법을 공유하는 개발자로 성장할 수 있도록 준비시킬 수 있다. 이 책은 객체지향 패러다임에 대한 책이다. 이 책의 목적은 객체지향 패러다임이 제시하는 프로그래밍 패러다임을 설명하는 것이다. 객체지향 패러다임이라는 용어를 사용할 때, 어느정도 유사한 그림을 머릿속에 그릴 수 있는 기반을 제공할 것이며, 객체지향에 대한 오해를 제거하고, 객체지향 프로그래밍을 하는 개발자들이 동일한 규칙과 표준에 따라 프로그램을 작성할 수 있게 할 것이다. 도서를 학습하며하루에 약 6~8시간 꼬박 일주..
· 일기
⌜오브젝트⌟라는 도서를 읽기 전에 내가 자바를 공부하고 지금까지 약 1년 5개월, 자바 기본 서적 2권, ⌜객체지향의 사실과 오해⌟, ⌜스프링 입문을 위한 자바 객체지향의 원리와 이해⌟, ⌜클린 아키텍처⌟, ⌜마이크로서비스 패턴⌟ 및 다수의 도서들과 여러 자바 및 스프링 강의을 듣고, 설계해본 경험을 바탕으로 객체지향에 대해 간단하게 나의 생각을 정리해보려 한다. 객체 지향은 뭘까? 객체를 통한 프로그래밍을 지향한다는 의미이다. 객체란 뭘까? 상태와 행위를 가지고 자신의 상태를 자신이 관리하며, 행위를 통해 의사소통하는 데이터의 집합이다. 상태란 뭘까? 자신이 관리하는 데이터이다. 행위란 뭘까? 자신의 상태를 변경하거나, 외부에게 건네 줄 데이터를 메서드를 통해 제공하는 것이다. 왜 객체를 지향해야 하는..
· 일기
도서를 읽으며 의존성이 무엇인지 명확하게 파악할 수 있었다. 의존성을 이해함으로써 지금까지 학습했던 SOLID 원칙, 스프링프레임워크의 IoC/DI의 편리함, 객체지향의 다형성 나아가 객체지향의 장점까지 되돌아 볼 수 있는 좋은 기회였다. 클린 아키텍처를 읽고 나에게 주입된 문장은 ‘정책과 세부 사항을 분리하고, 의존 방향을 제어 흐름과 반대로 역전시켜 세부사항이 정책을 의존하게 하라’이다. 이 문장은 클래스 레벨부터, 모듈과 컴포넌트, 서비스, 시스템 레벨까지 아우르는 말이라고 생각한다. 상위 수준의 정책은 인터페이스를 두어 하위 수준의 세부 사항 컴파일 타임에는 의존하지 않고, 런타임에 의존한다. 또한, 세부 사항은 정책의 인터페이스를 구현하도록 하여 확장에 열려있고, 세부 사항의 변경에 정책은 영향..
· 일기
우테코,, 네 이 녀석 우테코 6기수에 스터디 인원들과 다소 가벼운 마음으로 지원했었다. 결과는 시원하게 탈락! 사실 마음만 가벼웠지 자소서나 미션의 코드는 노오력해서 작성했기 때문에 아쉬운 마음이 크다. 많이 크다.. 솔직히 파이널까진 붙을거라는 자신은 있었는데 시원하게 탈락 하지만 어쩌겠는가 우테코의 기준에 내가 부합하지 않았을 뿐, 내 노력이 부족했다고 생각하진 않는다. 스터디 인원들, 프리코스에서 만난 분들과 코드리뷰를 진행하며 조금씩 성장했다고 생각한다. 스스로 느끼기에 가장 큰 성장점은 객체지향 적인 코드 작성이 가능해졌다는 것과 객체지향적인 설계에 대한 중요성을 알게 되었다는 것, 테스트 코드의 중요성과 테스트하기 쉬운 코드를 작성하는 방법을 알게 되었다는 것이다. 솔직히 교육과정 수료하기까..
· 일기
2023년 3월 17일 부터 10월 10일까지 약 7개월의 길다면 긴 교육과정이 끝났다. 막연하게 ‘전공자니까 졸업하면 개발자로 취직하겠지’라는 생각을 한게 엊그제 같은데, 아직 한참 부족하긴 하지만 이제 나만의 간단한 서비스는 만들 정도의 실력은 가지게 된 것 같다. 내가 7개월간의 교육을 통해 무엇을 얻었고 앞으로 무엇을 얻어갈 것인지 정리해보려 한다. 내가 얻은 것들 공부하는 방법, 습관 “기초부터 탄탄하게 공부해야한다.”, “기본이 중요하다.” 공부를 했다면 누구나 한번 쯤은 들어봤던 말일 것이다. 나는 내가 직접 겪지 않으면 남이 하는 말이 와닿지 않는다. 위의 말들도 그랬다. 왜? 기초부터 탄탄하게 공부해야하지? 아주 예전 자바에 대해 아무것도 몰랐을 때, 간단한 콘솔 프로그램을 개발하며 잦은..
· 일기
GitHub - hyunsb/baseball-management-application: 패스트캠퍼스 2인 토이프로젝트 - 야구 관리 애플리케이션 패스트캠퍼스 2인 토이프로젝트 - 야구 관리 애플리케이션. Contribute to hyunsb/baseball-management-application development by creating an account on GitHub. github.com 협업은 참 어려운 것이라는 걸 깨달았습니다. 각자의 코드 스타일도 너무 다르고 상대방이 무엇을 의도하고 코드를 이렇게 짰는지 이해가 안되는 부분도 있었습니다. 확실히 멘토님이 말씀하신대로 깔끔하고 멋있는 코드보다는 쉬운 코드를 작성하는 것이 협업에서는 더욱 중요하다는 걸 깨달았습니다. 상대방의 코드를 이해하거나..
· 일기
아무 브랜치에서 작업하다가 브랜치 생성을 하지 않았다는 걸 깨달았다. develop 브랜치로 checkout 하려는데 smart checkout 이라는 기능이 있었다. 아마 "지금까지 내가 작업한 내용이 날아가지 않게 알아서 잘 저장하는 기능이겠지" 라고 생각하고 체크아웃 했다. 변경된 내용이 알아서 잘 저장됐다. 그리고 아무생각 없이 git pull하여 로컬파일에 깃 저장소 파일을 덮어썼다. 그렇다. 변경한 코드가 모두 사라졌다. smart checkout은 git index에 변경파일을 저장한다고 한다. git ls-files 명령어를 통해 확인한 결과 역시나 없다. 내일 해야겠다,,
· 일기
언어에 대한 이론적인 공부를 계속 진행하며 조금 나태하진 느낌이 들었다. 스스로 학습을 시작한 6개월 전의 모습에 비해 열정이 줄어든 것이 확연하게 보였고, 부트캠프에 들어와서 요즘은 반 강제적으로 공부를 하는 느낌도 들었다. 근데 어느정도 강제성이 있어야 더 열심히 공부하는 게 맞는 거 같긴 하다. 부트캠프는 나와 잘 맞는 거 같다. 사실 요즘 심적으로 조금 힘들다. 살면서 심적으로 힘들다고 생각해 본 적이 거의 없어서 조금 낯설다. 왜 힘든지 잘 모르겠다. 그래서 나 스스로에게 질문을 해보았다. “나는 개발을 좋아하나?” 좋아하는 것 같다. 사실 새로운 개발 지식을 알게 되면 빨리 코드로 구현해서 프로그램을 만들어보고 싶다는 생각에 엉덩이가 들썩거린다. '객체지향의 사실과 오해'라는 책을 읽는 와중에..
· 일기
이 책을 읽으니 왜인지 좋은 객체지향적인 프로그램을 설계할 수 있을 것 같다는 근거없는 자신감이 솟아 오른다. ‘유일하게 변하지 않는 것은 모든 것이 변한다는 사실 뿐이다’ - 헤라클레이토스 소프트웨어 분야에서 예외가 없는 유일한 규칙은 요구사항이 항상 변경된다는 것이다. 지금까지 객체지향적으로 설계하는 것에 어려움이 있었던 이유는 이 책에서 찾아볼 수 있었다. 나는 어떠한 협력 관계에서 필요한 행동을 정의하고 객체를 생성하는 것이 아닌 객체가 필요한 상태와 객체를 먼저 정의하고 그 상태에 필요한 행동을 결정했었다. 항상 개발하다보면 캡슐화가 깨지는 거 같은 느낌이 드는 이유가 여기에 있었다. 책에서는 이렇게 말한다. 객체의 상태를 먼저 결정할 경우 캡슐화가 저해된다. 상태에 초점을 맞출 경우 상태가 객..
hyunsb
'일기' 카테고리의 글 목록