분류 전체보기260 피하지 말고 즐기자! (22.10.12 TIL) 오늘 오전에 코딩 도장 문제를 풀었는데, 스트림을 사용해서 풀 때 처음으로 다른 코드를 참고하지 않고 혼자서 풀어보는 데 성공했다! 코딩 도장을 할 때마다 TDD의 위엄을 느끼게 된다.. 어쨌든 그동안 나는 스트림 연산 메서드들이 두 개 이상 들어가야 하면 그냥 포기하고 for 문을 사용해서 문제를 풀었었다. 특히 reduce() 는 이해하려는 노력을 하지 않았다. 약간 이런 짤 같은 바이브..? reduce 는 생긴 것도 괄호 안에 연산자도 두 개나 있고 너무 어렵게 생겨서,,^^ 하지만 다음 주부터는 함수형 프로그래밍 위주인 자바스크립트를 배워야 하고 코딩 도장 문제를 풀 때도 자바스크립트로 풀어야 하는 순간이 올 테니까 이젠 피하지 말자는 생각으로 풀어봤다. 막상 사용하려니 stream 을 int .. 2022. 10. 12. POJO vs Java Beans (22.10.11 TIL) 어제는 POJO 에 대해 알아봤는데, 오늘은 POJO 와 Java Beans 의 차이점에 대해 알아보았다. 먼저 어제 알아본 POJO 를 정리하면 다음과 같다. POJO (Plain Old Java Object) 오래된 방식의 간단한 자바 오브젝트로서 특정 기술에 종속되지 않은 순수한 자바 객체이다. Java language 에 의한 특별한 규칙이 없다. 속성, 메서드에 대한 어떠한 네이밍 규칙도 없고 엄격한 경계가 존재하지 않는다. Fields 에 대한 통제가 없으며 접근제어자 규칙이 자유롭기 때문에, 멤버와 필드에 엄격한 규칙을 정하고 싶지 않을 때 사용한다. 특정 기술을 사용하기 위해 특정 프레임워크나 클래스 확장, 인터페이스 구현에 의존하게 되면 그것은 POJO 라고 할 수 없다. 프레임워크에 종.. 2022. 10. 11. POJO (22.10.10 TIL) POJO 란 무엇일까? 아래는 위키백과에 정의되어 있는 내용이다. Plain Old Java Object, 간단히 POJO는 말 그대로 해석을 하면 오래된 방식의 간단한 자바 오브젝트라는 말로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어이다. 2000년 9월에 마틴 파울러, 레베카 파슨, 조쉬 맥킨지 등이 사용하기 시작한 용어로서 마틴 파울러는 다음과 같이 그 기원을 밝히고 있다. “우리는 사람들이 자기네 시스템에 보통의 객체를 사용하는 것을 왜 그렇게 반대하는지 궁금하였는데, 간단한 객체는 폼 나는 명칭이 없기 때문에 그랬던 것이라고 결론지었다. 그래서 적당한 이름을 하나 만들어 붙였더니, 아 글쎄, 다들.. 2022. 10. 10. '개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴' 을 읽고 (4장~6장) 객체 지향과 디자인 패턴 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com [4. 재사용: 상속보단 조립] 상속의 단점 상속을 사용하면 상위 클래스에 구현된 기능의 재사용을 쉽게 할 수 있는 것은 분명하다. 하지만 거기에는 몇 가지 문제점이 있다. 1) 상위 클래스 변경의 어려움 : 상속을 하게 되면 상위 클래스의 변경을 어렵게 만든다. 상위 계층을 따라 상위 클래스의 변경이 하위 클래스에도 영향을 주기 때문에 최악의 경우 상위 클래스의 변화가 모든 하위 클래스에 영향을 줄 수 있다. 클래스 계층도가 점점 커질수록 상위 클래스를 변경하는 것은 점점 어려워진다. 2) 클래스의 불필요한 증가 : 유사한 기능을 확장하는 과정에서 클래스의 개수가 불필요하게 증가할.. 2022. 10. 10. '개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴' 을 읽고 (1장~3장) 객체 지향과 디자인 패턴 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com [1~2. 객체 지향] 유연한 구조를 만들 수 있게 해주는 객체 지향 소프트웨어의 가치는 사용자가 요구하는 기능을 올바르게 제공하는 데에 있다. 이 요구사항은 언제나 변하기 때문에 시간의 흐름에 따라 이전에 필요 없다고 생각했던 기능이 필요해질 수도 있고, 기존에 구현된 기능의 일부를 변경해야 할 수도 있다. 소프트웨어는 이 흐름에 따라 유연하게 변화할 수 있어야 한다. 처음부터 복잡한 구조로 시작하다보면 나중에 가서는 수천, 수만 줄에 이르는 매우 복잡한 설계를 가지게 되는데, 여기서 새로운 요구사항이 발생하면 그에 따른 수정 비용과 시간은 만만치 않을 것이다. 이것보다는 변화에 .. 2022. 10. 10. 10월 첫 번째 주간회고 📚 221003-221007 이번 주는 과제의 양 보다는 강의 영상들의 양 (약 7시간) + HTTP 개념 외우기 로 바쁜 한 주를 보낸 것 같다. 아직 7주차 강의 영상들은 완벽하게 인출해내지 못한다. 하지만 코드 플로우는 동기들의 도움과 (동기들이 til 에 정리해준 것을 보는 것이 꽤 도움이 된다!) 맥락별로 큰 덩어리를 주제로 잡아 공책에 직접 써 보는 것으로 전반적인 이해는 할 수 있게 되었다. 평소 강의가 본질이고 퀘스트는 그 강의 영상을 이해해야 해결할 수 있는 문제라고 생각해서 강의 인출에 더 많은 힘을 쏟고 싶었다. 그래서 이번주는 첫 번째 레벨 테스트때만큼은 아니지만 거의 비슷하게 밤을 새면서 공부를 했다. 약간 아래 짤 같은 바이브,, 강의 반복 과제를 자정에 제출하고 나면 이제 퀘스.. 2022. 10. 9. 이전 1 ··· 21 22 23 24 25 26 27 ··· 44 다음