분류 전체보기269 4장: 역할, 책임, 협력 개인적으로 정말 중요한 장이라 생각한다...! 이미 책을 다 읽고나서 B-logging중이지만 RDD, 객체지향 설계의 핵심이 들어있는 파트라고 말할 수 있다.(블로그 주인 생각) 우리 모두를 합친 것보다 더 현명한 사람은 없다. - 켄 블랜차드(Ken Blanchard) 인간은 어떤 본질적인 특성을 지니고 있느냐가 아니라 어떤 상황에 처해 있느냐가 인간의 행동을 결정한다. 즉, 각 개인이 처해 있는 정황 또는 문맥(context)이 인간의 행동 방식을 결정한다는 것이다. 여기서 인간의 행동을 결정하는 문맥은 타인과의 협력이다. 협력이라는 문맥을 무시한 채 각 개인의 반응을 독립적으로 관찰하는 것은 무의미하다. 협력에 얼마나 적절한지에 따라 행동의 적합성이 결정되며 협력이라는 문맥이 인간의 행동 방식을 .. 2021. 8. 18. 3장: 타입과 추상화 일단 컴퓨터를 조작하는 것이 추상화를 구축하고, 조작하고, 추론하는 것에 관한 모든 것이라는 것을 깨닫고 나면 (훌륭한) 컴퓨터 프로그램을 작성하기 위한 중요한 전제 조건은 추상화를 정확하게 다루는 능력이라는 것이 명확해진다. - 키스 데블린(Keith Devlin)[Devlin 2003] * 스팅모어가 디자인한 1927년 런던 지하철 지도 * 해리 벡이 디자인한 1933년의 지하철 노선도 해리 벡은 지하철을 이용하는 승객들을 면밀하게 관찰한 후 승객이 꼭 알아야 하는 사실만 정확하게 표현하고 몰라도 되는 정보는 무시함으로써 이해하기 쉽고 단순하며 목적에 부합하는 지하철 노선도를 창조해 낼 수 있었다. 해리 백의 가장 위대한 업적은 지하철 노선을 추상화 한것이다. 추상화를 통한 복잡성 극복 해리 벡의 지.. 2021. 8. 16. 내가 그린 그림 너무나 똑같쥬? (양심 ㅇㄷ??) 2021. 8. 13. IntelliJ로 코딩테스트를 하는 분들을 위한 플러그인 보이시나요!? 왼쪽에 코드 치는 부분과 별개로 우측에 문제 부분이 나온것을... Embedded Web Browser라는 플러그인입니다 집에서 듀얼 모니터로 한다면 상관이 없지만, 카페에 노트북 하나 들고가서 코딩하시는분들은 알트탭이 월마나 귀찮은지, 특히 코테문제같은거를 풀때 아실거에요 인텔리제이 설정창에서 플러그인 탭을 누르시고 web browser를 검색하시면 embedded web browser가 나옵니다! 이거를 설치하면 우측 탭에 embedded web browser라는게 생깁니다 주소를 적는 쪽에 붙여넣기를 하고 Go를 누르면 이동됩니다 참고로 아쉬운점은 브라우저 내부에서 뒤로가기가 안된다는 점입니다 저는 혹시라도 보안을 생각해서 백준 비밀번호를 쉬운거로 바꾸고 저쪽에서 로그인 해서 제출한다.. 2021. 8. 8. 2장: 이상한 나라의 객체 객체지향 패러다임은 지식을 추상화하고 추상화한 지식을 객체 안에 캡슐화함으로써 실세계 문제에 내재된 복잡성을 관리하려고 한다. 객체를 발견하고 창조하는 것은 지식과 행동을 구조화하는 문제다. - 레베카 워프스브록(Rebecca Wirfs-Borck)[Wirfs-Brock 1990] 객체지향 패러다임은 현실 세계의 존재를 소프트웨어 세계의 객체로 바꾸는 것이다. 그리고 이것은 좋은 방법이며 둘 다 일치한다 => 오해 객체지향 패러다임의 목적은 현실 세계를 모방하는 것이 아니라 현실 세계를 기반으로 새로운 세계를 창조하는 것이다 => 사실 객체지향과 인지 능력 인간은 본능적으로 세상을 독립적이고 식별 가능한 객체의 집합으로 바라본다. 많은 사람들이 객체지향을 직관적이고 이해하기 쉬운 패러다임이라고 말하는 이.. 2021. 8. 6. 1장: 협력하는 객체들의 공동체 시너지를 생각하라. 전체는 부분의 합보다 크다. - 스티븐 코비(Stephen R. Covey) 객체지향이라 불리는 새로운 세상의 문을 연 대부분의 사람들은 "객체지향이란 실세계를 직접적이고 직관적으로 모델링할 수 있는 패러다임"이라는 설명과 마주하게 된다. => 오해 객체지향 소프트웨어는 실세계의 투영이며, 객체란 현실 세계에 존재하는 사물에 대한 추상화 => 오해 객체지향의 목표는 실세계를 모방하는 것이 아니다. 오히려 새로운 세계를 창조하는 것이다. => 사실 소프트웨어 시스템이 해결하려고 하는 실재는 잘해봐야 먼 친척밖에는 되지 않는다 - 버트란드 마이어(Bertrand Meyer) 실세계에 대한 비유가 객체지향의 다양한 측면을 이해하고 학습하는데 매우 효과적이다. => 사실 객체를 스스로 생각하.. 2021. 8. 2. 객체지향의 사실과 오해 스터디 (0) - 시작 & Why? & 목차 - Why? 이 책을 현재 중간(3장)까지 봤다...! 흔히들 자바에서 객체지향은 class를 잘 설계하는거라고 말한다 이건 틀린말이다!! C++, JAVA에서의 객체지향적인것은 우리가 뻘코딩을 하고 프레임워크에서 아키텍처를 나누는거보다 좀 더 심오하더라 그리고 개발자라면 한번쯤은 꼭 읽어야 할 책이라서 주제로 선정했다. 추가로 총 페이지도 250페이지 정도로 가볍게 읽을 책으로 충분했다. 하지만 정말로 개발을 해 본 사람이라면 말 그대로 객체지향에 대한 '사실'과 '오해'를 알 수 있는 내용이었다. - 목차 ▣ 01장: 협력하는 객체들의 공동체 협력하는 사람들 - 커피 공화국의 아침 - 요청과 응답으로 구성된 협력 - 역할과 책임 역할, 책임, 협력 - 기능을 구현하기 위해 협력하는 객체들 - 역할과 .. 2021. 8. 1. 삽질 모음 Jpa 연관 관계 메서드 작성하는데 2시간을 날렸다 물론 이전에 해본적이 있어서 메서드는 잘 작성했는데 안되길래 왜안되나.....했다 나는 김영한님의 JPA책을 보고 따라 쳤는데 결론: List 초기화를 안해줘서 널포인터익셉션이 떴다 ㅡㅡ;; 예외로 e.stacktrace랑 메세지를 안날려줘서 디버깅으로 찾아냈다. 진짜 난 개 멍청이 추가로 예전에 했던 실수를 적어보겠다 다시 하지 않길 바라며... @Transactional을 붙여야 Spring Data Jpa에서는 update쿼리가 날라가서 반영이된다. 근데 이 비즈니스 로직 자체를 서비스단이 아닌 도메인 엔티티가 적힌 밑에 만들어놔서 분명히 글을 조회하면 조회수가 1늘어야되는데 늘지를 않는것이다. 문제를 찾고 찾고 찾고 찾았는데 안나와서 생각해보니까.. 2021. 7. 12. 그림으로 배우는 http&Network Basic (1) - 웹과 네트워크의 기본 제 1장 웹과 네트워크의 기본에 대해 알아보자 1.1 웹은 HTTP로 나타낸다 1.2 HTTP는 이렇게 태어났고 성장했다 1.2.1 웹은 지식 공유를 위해 고안되었다 1.2.2 웹이 성장한 시대 1.2.3 진보 안하는 HTTP 1.3 네트워크의 기본은 TCP/IP 1.3.1 TCP/IP는 프로토콜의 집합 1.3.2 계층으로 관리하는 TCP/IP 1.3.3 TCP/IP 통신의 흐름 1.4 HTTP와 관계가 깊은 프로토콜은 IP/TCP/DNS 1.4.1 배송을 담당하는 IP 1.4.2 신뢰성을 담당하는 TCP 1.5 이름 해결을 담당하는 DNS 1.6 이들과 HTTP와의 관계 1.7 URI와 URL 1.7.1 URI는 리소스 식별자 1.7.2 URL 포맷 1.1 웹은 HTTP로 나타낸다 클라이언트(Clien.. 2021. 7. 5. 토비의 스프링 스터디 (1) - 오브젝트와 의존관계 1장 오브젝트와 의존관계 1.1 초난감 DAO 1.2 DAO의 분리 1.3 DAO의 확장 1.4 제어의 역전(IoC) 1.5 스프링의 IoC 1.6 싱글톤 레지스트리와 오브젝트 스코프 1.7 의존관계 주입(DI) 1.8 XML을 이용한 설정 1.9 정리 직접 코드를 치면서 따라오고싶은 분들은 https://code-boki.tistory.com/20 IntelliJ에서 Spring 프로젝트(Spring MVC) 생성하기 요즘은 Spring Boot로 바로 개발한다. 하지만 Spring을 제대로 알려면 Servlet부터 Spring, Spring Boot 순서로 배워야 잘 배운거라 생각한다! 옛날 포스팅된 글들 혹은 이클립스, STS로 스프링프로젝트를 만 code-boki.tistory.com 를 참고해서.. 2021. 6. 30. 토비의 스프링 스터디 (0) - 시작 & Why? & 목차 - Why? 토비스프링을 배우는 이유는 .. 스프링의 Bible이기 때문이다 ㅋㅋ 는 뭐 흔히 하는 말이고 옳은 설계와 스프링의 철학을 배울 수 있는 두껍지만 모든 정수가 담긴 책이라고 들어서 꼭 공부하고싶었기 때문이다. 모던 자바 인 액션과 마찬가지로 내가 스터디장이 되어서 토비스프링은 주1회, 모던은 주2회로 진행하고 있다. 토비의 스프링3.1은 총 2권이며 1권만 해도 857페이지나 된다. 그리고 짧게 공부한 바로는 코드가 열거되어있으면서 보고 치는 형식이 아닌, 설명이 오히려 더 많다. 코드를 던지고 이 코드의 문제점, 그리고 개선방향을 제시한다. 그리고 그 과정에서 자바의 객체지향 기법, 추상화. 그리고 올바른 설계를 지향한다. 는 느낌이 들었다..! 반드시 n회독을 해서 올바른 설계를 할 수 .. 2021. 6. 30. IntelliJ에서 Spring 프로젝트(Spring MVC. Not Spring boot) 생성하기 요즘은 Spring Boot로 바로 개발한다.하지만 Spring을 제대로 알려면 Servlet부터 Spring, Spring Boot 순서로 배워야 잘 배운거라 생각한다!옛날 포스팅된 글들 혹은 이클립스, STS로 스프링프로젝트를 만드는 글들은 많으니IntelliJ로 Spring 프로젝트를 만드는 방법을 포스팅해볼까 한다~~![ IntelliJ Version 2021.1.2 Ultimate Version ] 으로 작성됨1. File -> 새 프로젝트에서 Maven을 선택하고 SDK버전을 선택하고(본인은 1.8 = 8), archetype은 체크하지 않고 다음으로 넘어간다2.프로젝트명을 적어주고 완료를 누른다GroupId, ArtifactId, Version은 여기서 생략했다.GroupId는 작성하는 것을.. 2021. 6. 29. 자기소개서를 작성할 때 꼭 필요한 ☆ 전략 구직활동을 할때 한번 이상은 작성해본 자기소개서(이하 자소서)!! 각 기업마다 질문도 다르고 대답 유형이 조금씩은 다를 수도 있으나 이번 ☆ 포스팅에서 중요한 공통 전략을 적어 보려고 합니다! 나만의 스토리텔링을 말할때 중요한 전략입니다. 1. S(Situation, 상황) 행동을 하게 된 사건의 계기와 배경을 설명하는 것으로, 당시의 상황을 설명하는 스토리의 시작 단계입니다. 2.T(Task, 문제) 맡은 업무의 목적, 목표 등 처해있던 상황에서 과제나 이슈를 제시하는 단계입니다. 과제의 난이도와 중요성을 함께 언급한다면 내용이 더욱 풍부해집니다. 3.A(Action, 행동) 목표를 달성하고 직면한 문제를 해결하기 위해 내가 취한 행동을 설명하는 단계입니다. 상황에 대한 반응을 통해 역량과 위기대처능력.. 2021. 6. 29. Energy of Why and Needs 어떤것을 배울 때는 Why와 Needs가 필요하다고 생각한다. 당연한 말을 쓰는 것일 수도있다. 예전에 막연하게 알고리즘을 위해서 자료구조를 공부하던 때에 대부분의 사람들이 그랬다. 자료구조를 공부하는것도 좋긴한데, 알고리즘을 먼저 배우라고 지금은 이 사람들의 말이 약간 이해가 간다. 이해가 가는 이유는 알고리즘을 공부하면서 자연스레 자료구조를 공부하게 되고, 덧붙여 백엔드 개발을 하면서 여러가지의 자료구조(자바로 치면 Collections)를 배우게 되는것 같다. 같은 의미로 알고리즘을 막 공부하다가 왜(Why) 이 자료구조가 쓰였는지 궁금해서 공부해야겠다고 느끼게 되었다(Needs)고 말할 수 있다. 물론 이 공부방법이 정답은 아닐 수도 있다. 정말 배운것들을 스펀지처럼 빨아들이는 사람이 있다. 머리.. 2021. 6. 29. 모던 자바 인 액션스터디 (2) - 자바 8,9,10,11 : 무슨 일이 일어나고있는가? - CHAPTER 1 자바 8, 9, 10, 11 : 무슨 일이 일어나고 있는가? 1.1 역사의 흐름은 무엇인가? 1.2 왜 아직도 자바는 변화하는가? 1.3 자바 함수 1.4 스트림 1.5 디폴트 메서드와 자바 모듈 1.6 함수형 프로그래밍에서 가져온 다른 유용한 아이디어 1.7 마치며 2021/6/26 토요일 오전10시에 총원 5명이서 스터디를 시작했다 1.1 역사의 흐름은 무엇인가? 자바 역사를 통틀어 가장 큰 변화가 자바8에서 일어났다. 자바9, 10, 11 등에서도 크고 작은 변화가 일어났다. 이런 변화들 덕분에 프로그램을 더 쉽게 구현할 수 있게 되었다. 멀티코어 CPU 대중화와 같은 하드웨어적인 변화도 자바 8에 영향을 미쳤다. 지금까지의 대부분의 자바 프로그램은 코어 중 하나만을 사용했다(.. 2021. 6. 28. 모던 자바 인 액션스터디 (1) - 자바의 역사 및 특징 이 포스팅은 책내용에는 있지 않다. 모던자바라고 불리는 자바8 이후를 배우려면 자바의 역사도 알아야 한다고 생각해서 추가로 포스팅을 한다. * Java 버전별 특징 및 역사 1. Java 1.0a(1990년 12월~1991년 1월) Sun MicroSystems는 전문가들로 구성된 그린 프로젝트(Green Project)를 만듭니다. 여기에는 패트릭 노턴(Patrick Naughton), 마이크 쉐리던(Mike Sheridan), 제임스 고슬링(James Gosling)이 포함되었으며 초기에는 Oak라는 언어로 불리며 가전기기에서 쓰일 각 플랫폼에 독립적인 플랫폼 독립적인 언어를 개발하려고 했습니다. 그린팀에서는 프로세스 독립적인 언어의 잠재력을 보여줄 수 있는 양방향 휴대용 엔터테인먼트 장치인 Star.. 2021. 6. 27. JetBrains IDE IntelliJ(+WebStorm etc..) 주석 커스터마이징 IntelliJ(+WebStorm) 주석 커스터마이징 IntelliJ, WebStorm comment customizing 1. 개요 알고리즘으로는 파이참(파이썬), Node.js로는 vscode, 스프링으로는 인텔리J, 그리고 리액트로는 이번에 최근에 웹스톰을 쓰게되었다. (C로는 Visual Studio..) 파이썬을 보면 주석이 """ """와 # 두가지가 있는 것을 볼 수가 있다. 나는 주석이 언어자체에만 있는건줄 알았다. C언어를 배울때 //와 /* */를 배웠고, HTML을 배울때는 를 배웠으니 말이다. 하지만 코드 작성시, 동작은 하지 않지만, 이 코드를 메모로, 혹은 버그로, 혹은 기타 등등으로 표시하고 싶을때가 있다. 주석을 표시는 할 수 있지만 에디터에서 눈에 띄지 않는 회색으로 처리되.. 2021. 6. 27. 그림으로 배우는 http&Network Basic (0) - 목차 & Why? 백엔드 개발자로서 간단하거나 깊은 http와 network에 대한 지식은 필수라고 생각한다. 그래서 나혼스(나 혼자하는 스터디)를 시작해보려고 한다. 왜? => 백엔드개발자로서 필수 역량을 갖추기 위해 목차 제 1장 웹과 네트워크의 기본에 대해 알아보자 1.1 웹은 HTTP로 나타낸다 1.2 HTTP는 이렇게 태어났고 성장했다 1.2.1 웹은 지식 공유를 위해 고안되었다 1.2.2 웹이 성장한 시대 1.2.3 진보 안하는 HTTP 1.3 네트워크의 기본은 TCP/IP 1.3.1 TCP/IP는 프로토콜의 집합 1.3.2 계층으로 관리하는 TCP/IP 1.3.3 TCP/IP 통신의 흐름 1.4 HTTP와 관계가 깊은 프로토콜은 IP/TCP/DNS 1.4.1 배송을 담당하는 IP 1.4.2 신뢰성을 담당하는 .. 2021. 6. 27. 모던 자바 인 액션스터디 (0) - 시작 & Why? & 목차 우리 대학교의 IT인들을 위한 소통방에서 내가 스터디를 꾸려서 스터디장이 되었다. 스터디의 목록은 토비스프링, 모던자바인액션, 디자인패턴, 이펙티브자바, ORM표준JPA가 있었는데 인원 사정상 토비스프링과 모던 자바인액션을 진행하게 되었다. 나머지는 이후 또는 멀티로 나혼스(나 혼자 하는 스터디)를 진행해볼까 한다..ㅎㅎ 스케쥴(일정, 어느 부분 공부할것인지)을 정하는 데 애 먹기도 했고 공부할 양과 난이도도 있는 편이지만 끝까지 마무리를 잘했으면 좋겠다. 항상 어떤 공부를 시작하기 전에, 시작하는 도중에, 끝맺음 도중에 기억을 떠올려야 하는 내용이 있다. 그것은 바로 자기가 공부하는 책의 목차이다..!! 목차를 외우는 것만큼 공부에서(특히 책) 중요한 것은 없다고 생각한다. 그리고 WHY? 왜? 질문이.. 2021. 6. 27. 구글링 혹은 검색에 대해서 IT쪽에 종사하는 사람 혹은 일반인으로서 검색에 대한 장점과 단점을 적으려고한다. 검색을 하다보면 이쪽 블로그에 있던 내용이 저쪽에도 있고, 한참전의 블로깅된(최신이 아닌) 글 등을 여러개 발견할 수 있다. 결국 어떤 유명한 사람의 개인 블로그 혹은 대기업의 기술 블로그에서 양질의 정보를 얻어간다던지, 스택오버플로우에서 몇줄 소스코드를 얻어간다. 나는 내가 책 자체의 내용을 복붙하지 않은 이상, 내 블로그의 글 하나하나 다 소중하고 누군가에게 출처도 없이 복붙당해서 그 사람의 글로 인용되고 싶지도않다. 그래서 플러그인으로 복사방지를 설정해놓았다. 정말 자기가 공부했던 내용, 수많은 시간을 삽집해가며 디버깅을 하고 에러 해결을 한 내용의 글이라면 소중하다고 생각한다. 추가로 아직 내 블로그에는 이렇다저렇다.. 2021. 6. 27. 이전 1 ··· 10 11 12 13 14 다음