-
나의 짭짤한 작은 상점을 읽고리뷰/책 리뷰 2022. 2. 9. 01:42
저자와의 인연 김유인 작가와는 1~2학년 때까지 친했다가 졸업하고 나서 최근에 다시 연락이 닿게 되었다. 그때에도 다양한 방면에 재능이 많았던 친구였는데, 역시나 사람은 안 변한다. 10년이 지난 지금도 재능을 열심히 뽐내며 남부럽지 않게 잘 살고 있었다. 재작년에 학교 선후배와의 술자리에서 우연히(?) 오랜만에 재회를 하게 되었고 그때 이 친구는 책을 집필하고 있다고 했었다. 한동안 생각지 못하다가 최근에 이 친구의 카톡 프사에 뜬 '나의 짭짤한 작은 상점'이라는 책을 보고 '맞다!' 하면서 오랜만에 톡도 보내고 책도 주문했다. 지금 당장은 앞날에 도움되지 않는 것처럼 보이는 일들도 언젠가는 반드시 쓸모가 있다는 것 이 책을 읽으면서 가장 기억에 남는 문장이다. 무언가를 시도하기 전에 이렇게도 생각해보..
-
Java Stream(Lambda) 주요 메소드Java 2022. 2. 7. 00:16
회사에서 fastcampus 강의 수강을 지원해줘서 Java Stream에 관한 강의를 수강했다. stream은 지금도 자주 쓰고는 있지만 좀 더 잘 활용할 수 있는 방법을 터득하고 싶었다. 이 강의를 통해 어떤 stream에 관련된 메소드들이 있는지 알 수 있었다. 실무에서도 자주 쓸 수 있을 것 같다. Functional Programming How to do에 초점을 맞추는 명령형 프로그래밍과는 달리 선언형 프로그래밍(Functional Programming)에서는 what to do에 초점을 맞춘다. 1급 시민으로서의 함수란? 함수가 parameter, return object 등 변수처럼 사용되는 것. Functional Programming의 장점 : 높은 가독성과 확장성, 원활한 유지보수 F..
-
언젠간 나도 창업!?잡생각 2021. 10. 15. 00:34
26살에 첫 사회생활을 시작했을 때, 나는 자본가와 노동자의 이해 관계를 이해하고 싶었다. 복잡한 세상에서 내가 처한 상황을 객관적인 시각으로 바라보고 싶었다. 그러면 세상에 대해 어떤 시각과 태도를 가지고 살아갈 지에 대한 정답을 얻을 수 있을 거라고 생각했다. 그래서 자본가에 대응하여 취해야할 노동자로서의 자연스러운 철학을 얻을 수 있게 되었다. 이후 4년이 지난 지금, 세상을 좀 더 넓게 이해하고 싶다는 생각이 든다. 자본가는 영원히 자본가가 아니고 노동자는 영원히 노동자가 아니다. 현재 노동자일지라도 시대를 읽는 눈과 실행력만 있다면 충분히 자본가가 될 수도 있고 현재 자본가일지라도 언제라도 누군가에게 고용된 노동자로 삶을 이어가야 하는 상황이 생길 수 있다. 때문에 노동자일 지라도 자본가가 될 ..
-
원룸 투룸 관리비는 집주인 마음대로잡생각 2021. 8. 16. 23:14
집주인과의 마찰 난 현재 전세로 투룸에 살고 있다. 우리 건물은 쓰레기장이 따로 없고 화, 목, 일 저녁 6시 이후 현관 계단에 음식물 쓰레기를 포함하여 모든 쓰레기를 버리면 된다. 어느날 갑자기 건물 현관에 음식물 쓰레기를 잘 버리라고 집주인이 공지문을 붙였다. 음식물 쓰레기를 제대로 버리지 않으면 120만원의 청소 비용을 청구한다나 뭐라나. 물론 세대원들도 조심히 잘 버려야 하지만 다짜고짜 120만원 청구 협박이라니? 월마다 꼬박꼬박 납부하는 내 관리비 8만원은 어디로 증발한걸까? 집주인에게 한바탕 따져 묻기 전에 관리비가 어떤 작업들을 포함하는지 분석해봤다. 관리비 항목 공시 관리비의 구성에 대해 공식적인 공시가 있는지 찾아봤다. 민달팽이유니온에서 '표준 원룸 관리비 기준표'를 작성하긴 했지만 시민..
-
stackoverflow 번역하기 :: @PostConstruct를 왜 사용할까?Java 2021. 7. 25. 12:53
Link https://stackoverflow.com/questions/3406555/why-use-postconstruct Question(발번역 주의) Bean 내부의 @PostConstruct는 자바 객체의 생성자 이후에 호출되는데요, 자바 객체의 생성자 대신에 @PostConstructor를 사용해야만 하는 경우가 있나요? Answer(발번역 주의) 객체가 생성될 때 선언한 의존성들을 사용해야 하는 경우 자바 객체의 생성자는 Bean이 초기화되기 이전에 호출됩니다. 즉, 자바 객체의 생성자가 호출될 땐 의존성이 아직 주입되지 않은 상태입니다. 반면 @PostConstrucor가 적용된 메소드는 Bean의 초기화가 완료된 후 호출됩니다. 즉, @PostConstrucor가 적용된 메소드가 호출될 ..
-
객체지향 5대 원칙 :: SOLID 원칙Java/Basics 2021. 7. 18. 23:08
Single Responsiblity Principle (단일 책임 원칙) 객체는 단 하나의 책임만을 가져야 한다. Open-Closed Principle (개방-패쇄 원칙) 클래스, 함수 등의 소프트웨어의 설계 부품은 확장에는 열려있고 변경에는 닫혀있어야 한다. Liskov Substitution Principle (리스코프 치환 원칙) 하위 타입은 상위 타입으로 호환이 가능해야 한다. Interface Segregation Principle (인터페이스 분리 원칙) 인터페이스는 단 하나의 책임만을 갖도록 분리되어야 한다. Dependency Inversion Principle (의존 역전 원칙) 특정 모듈에 의존하지 말고 특정 모듈이 의존하게 하여, 소프트웨어 설계의 변경을 최소화할 수 있도록 해야 ..
-
DB TransactionDatabase/Mysql 2021. 7. 17. 17:05
트랜잭션이란? DB의 데이터를 변화시키는 논리적인 작업 단위 트랜잭션의 특징 Atomicity(원자성) : 트랜잭션에 포함된 작업은 전부 수행되거나 전부 수행되지 않는다. Consistency(일관성) : 트랜잭션의 실행과 상관없이 DB내의 데이터는 항상 일관된 상태를 유지한다. Isolation(격리성) : 한 트랜잭션에 의해 선점된 데이터를 타 트랜잭션의 선점으로부터의 격리 수준을 조절할 수 있다. Durability(지속성) : 성공적으로 종료된 트랜잭션은 변경한 데이터가 유실되지 않도록 결과를 DB에 완전히 반영시킨다. 트랜잭션 연산 commit : 트랜잭션 내의 데이터 보정 작업들이 모두 완료되면, 보정된 데이터들을 한꺼번에 DB에 반영하고 트랜잭션을 종료하는 연산 rollback : 트랜잭션 ..