profile
Software Engineer + Product Manager
태그 목록
전체보기 (319)개발일기(76)토비의 스프링(26)더 나은 코드(23)테스트(20)Java(18)Netty(16)더 나은 테스트(15)How to work(13)생각(12)trouble shooting(11)프로그래머스(10)트러블슈팅(10)코딩테스트(10)회고(9)커뮤니케이션(8)더 나은 설계(8)토비의스프링(8)tcp(8)프로덕트 오너(7)git(7)network programming(6)agile(6)(6)C(6)우주지상국(6)자세(5)TDD(5)aop(5)알고리즘(5)읽기모임(5)junit(5)dll(5)더 나은 도구(5)asynchronous(5)고민(5)2021(5)문제(4)추상화(4)독서(4)wireshark(4)JNA(4)배움(4)Spring(4)windows(4)github(4)코드리뷰(4)비동기(4)커리어(4)인프콘(4)매니지먼트(4)IntelliJ(4)관계(3)사람(3)습관(3)연역적(3)데이터(3)Software Engineering(3)네트워크 패킷분석(3)의존관계(3)객체지향(3)협업(3)오브젝트(3)debug(3)awaitility(3)Telnet(3)문제해결연습(3)2022(3)협력(3)프로젝트 매니저(3)test(3)실시간(3)예외(3)multithreading(3)Software Enginerring(2)가치(2)사용자(2)마인드(2)문서화(2)주석(2)ci(2)함께자라기(2)컨퍼런스(2)TROUBLESHOOTING(2)networking(2)http(2)배포(2)Mockito(2)test case(2)귀납적(2)더 나은 디자인(2)Locale(2)clean architecture(2)문제 해결 연습(2)제품(2)리더(2)디버깅(2)collaboration(2)stream(2)분석(2)코드로 문제해결 연습(2)cherry-pick(2)온보딩(2)클린 아키텍처(2)leak(2)학습(2)목표(2)리팩토링(2)소프트웨어 개발자(2)jackson(2)기획(2)User Manual(2)개발문화(2)(2)mock(2)management(2)개방폐쇄원칙(2)실용주의 프로그래머(2)변경(2)태도(2)(1)StringUtils(1)커뮤니티(1)PacketSender(1)객체지향의사실과오해(1)비실시간(1)개선(1)주간보고(1)Product Design(1)불편(1)시니어개발자(1)데이터 엔지니어(1)코드작성외에(1)Memory Leak(1)응집도(1)software engineer(1)Pair Programming(1)힙 메모리(1)TCP Connection Persistence(1)균형(1)아이들(1)고객(1)SNMP(1)성경(1)Device Driver(1)Thread Pool(1)OXM(1)유틸리티(1)지상국(1)인증(1)실험(1)캐시일관성(1)면접(1)사표(1)help(1)동료주도개발(1)소수점(1)프로토타입(1)메모리가시성(1)Interrupt(1)프로세스(1)요구사항(1)공유(1)어려움(1)메모리(1)Strategy Pattern(1)자동화(1)Q&A(1)util(1)Functional(1)사용자중심(1)문서(1)ux(1)예측(1)Copilot(1)가짜필요(1)Persona(1)결합도(1)변화(1)세미나(1)대역(1)동료(1)조직(1)volatile(1)아주힘듬(1)다름(1)SOLID(1)network(1)branch(1)XML(1)코드변경관리(1)네이밍(1)aws(1)부족함(1)Feedback(1)삶의자세(1)흥미(1)User Journey(1)병렬(1)모델링(1)아두이노(1)cdd(1)CI/CD(1)authentication(1)Manangement(1)설계(1)Transction(1)switch(1)고통(1)Nginx(1)트러불슈팅(1)json(1)주니어(1)exception(1)DTO(1)자유(1)작업난이도(1)스프링(1)더나은코드(1)템플릿(1)철학(1)환경(1)1553B(1)프로그래밍(1)redmine(1)삶의일기(1)메타포(1)impact(1)크리스찬(1)aspect(1)우주(1)algorithm(1)행복(1)메시지큐(1)일기(1)신뢰성(1)String(1)동반자(1)인터뷰(1)InvalidMemoryAccess(1)부모참여수업(1)감정(1)복잡성(1)독서메모(1)클린코드(1)snmp4j(1)어설프다(1)인사이트(1)Ideation(1)di(1)커밋(1)MVP(1)PSA(1)네트워크 프로그래밍(1)이슈관리(1)putty(1)기록(1)lazy(1)JIRA(1)어린이(1)성과(1)화면중심(1)템플릿/콜백(1)경계값(1)도구(1)short circuit(1)clean software(1)kotlin(1)누수(1)예외처리(1)Native(1)노이즈캔슬링(1)데이터 통신(1)더 나은 개발(1)SDLC(1)발표(1)핀란드(1)제약사항(1)마음 가짐(1)중복(1)제안서(1)heap memory(1)동등분할(1)생존(1)notion(1)alignment(1)테스트케이스(1)생각의프레임(1)회사(1)개발자(1)memory(1)준비(1)Reflection(1)교보문고(1)관심(1)사업(1)창업(1)lua script(1)도전(1)split()(1)멀티쓰레드(1)Csharp(1)Messaging Service(1)함께(1)의존(1)warning(1)IoC(1)assembly(1)projects(1)캐시불일치(1)집중(1)문제정의(1)actions(1)SI 프로젝트(1)코딩(1)신뢰(1)문화(1)우선순위(1)rebase(1)죽음(1)빌더 패턴(1)svn(1)리드잇(1)백로그(1)Thread(1)Product Designer(1)비정상종료(1)약함(1)S3(1)figma(1)Pull Request(1)garbage collector(1)아쉬움(1)장애회고(1)디자인 패턴(1)ObjectMapper(1)iteration(1)Pain Point(1)프로젝트(1)VxWorks(1)문제해결(1)

토비의 스프링 | 8장 스프링이란 무엇인가? (읽기모임)

토비의 스프링 8장 ‘스프링이란 무엇인가?’를 읽고 읽기 모임 중 나눔한 내용 참조 사이트 등을 정리합니다.스프링이 해결하려는 문제가 무었이고 또 어떤 전략과 사상을 가지고 그것을 해결하는지 전반적으로 잘 설명되어 있어서 좋았습니다. 개인적으로 이해한 것을 정리해 보면

2022년 11월 13일
·
0개의 댓글
·

토비의 스프링 | 8장 스프링이란 무엇인가? (학습)

토비의 스프링 8장 ‘스프링이란 무엇인가?’를 읽고 배우고 학습한 내용을 정리합니다.“자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크”프레임워크는 애플리케이션의 특정 계층에서 주로 동작하는 한 가지 기술 분야에 집중된다. 하지만 스프링은

2022년 11월 13일
·
0개의 댓글
·

토비의 스프링 | 7장 스프링 핵심 기술의 응용 (읽기 모임)

선생님께 자랑하고 싶은 학생의 마음 같은 건데, 3장 템플릿/콜백을 배운 이후에 현업에서 만나는 코드들이 모두 템플릿과 콜백으로 나누어져서 보이기 시작하더라구요. 마치 당구 처음 배우면 천장에 당구대가 보인다는 느낌이랄까요? 변하는 것과 변하지 않는 것을 나누고 변하는

2022년 11월 7일
·
0개의 댓글
·

토비의 스프링 | 7장 스프링 핵심 기술의 응용 (SQL 쿼리문을 동적으로 변경해 보자)

DI를 적용하는 건 간단해 보이지만 DI의 가치를 제대로 누리기는 쉽지 않다.DI에 필요한 유연하고 확장성이 뛰어난 오브젝트 설계를 하려면 많은 고민과 학습, 훈련, 경험이 필요하다. 객체지향 설계를 잘하는 방법은 다양하겠지만, 그중에서 추천하고 싶은 한 가지가 있다

2022년 11월 7일
·
0개의 댓글
·

토비의 스프링 | 7장 스프링 핵심 기술의 응용 (SQL 쿼리문을 코드에서 분리해 보자)

토비의 스프링 ‘7장 스프링의 핵심 기술의 응용’을 읽고 정리합니다. 6장까지 개선해왔던 UserDao에서 SQL 쿼리문을 분리하여 손쉽게 유지보수하고 확장가능한 구조를 만들어가는 과정에 집중합니다.반복적인 JDBC 작업 흐름은 템플릿을 이용해 DAO에서 완벽하게 제거

2022년 10월 30일
·
0개의 댓글
·

토비의 스프링 | 6장 AOP (읽기모임)

일단 처음으로 쉽게 안 읽히더라구요. 예제 코드를 좀더 신중하게 작성해 보니 이해가 조금 더 되긴 했는데 추상화된 부분들이 계속 누적되다 보니까 잘 이해되지 않는 부분이 생기더라구요. 그래서 구체적으로 어떻게 동작한다고 주석으로도 치고 글로도 정리하니까 조금 더 이해에

2022년 10월 24일
·
0개의 댓글
·

토비의 스프링 | 6장 AOP - 더 나은 설계, 테스트

토비의 스프링 6장 AOP를 읽고 더 나은 설계 및 테스트를 위한 내용을 별도로 정리합니다. 스프링의 ProxyFactoryBean의 설계를 보면서 기술적인 영역에서도 변하는 것과 변하지 않는 것을 구분하면 재사용성을 높일 수 있고 최소한의 노력으로 변경에 대처할 수

2022년 10월 24일
·
0개의 댓글
·

토비의 스프링 | 6장 AOP 발전과정 (학습)

토비의 스프링 6장 AOP를 읽고 배우고 학습한 것들을 정리합니다. 특별히 최신 AOP 기술이 등장하기 까지 스프링이 걸어온 집요한 문제 해결 과정에 집중해 봅니다.Proxy : a person authorized to act on behalf of another. (

2022년 10월 24일
·
0개의 댓글
·

토비의 스프링 | 6장 AOP - Transaction (학습)

토비의 스프링 6장 AOP를 읽고 배우고 학습한 것들을 정리합니다. 특별히 Tansaction과 관련도니 부분을 따로 정리합니다. 트랜잭션을 다루는 개념들을 읽다보니 섬세하게 데이터를 다루는 일에 대한 호기심이 생겨납니다. 처음있는 일입니다. 지금까지는 섬세하게 외부

2022년 10월 24일
·
0개의 댓글
·

토비의 스프링 | 5장 서비스 추상화 (읽기모임)

토비의 스프링 5장 서비스 추상화를 읽고 읽기모임을 하며 나눈 것, 배운 것들을 정리합니다.5장이 ‘서비스 추상화’라는 주제이긴 하지만 책 곳곳에 좋은 설계와 테스트를 위한 가이드들이 많아서 열심히 메모하며 읽었던 것 같습니다. 특히 5장 초반에 비지니스 로직을 처음으

2022년 10월 9일
·
0개의 댓글
·

토비의 스프링 | 5장 서비스 추상화 (학습)

객체지향적인 코드는 다른 오브젝트의 데이터를 가져와서 작업하는 대신 데이터를 갖고 있는 다른 오브젝트에게 작업을 요청한다. 오브젝트에게 데이터를 요구하지 말고 작업을 요청하라는 것이 객체지향 프로그래밍의 가장 기본이 되는 원리이기도 하다. 테스트 코드와 애플리케이션 코

2022년 10월 9일
·
0개의 댓글
·

토비의 스프링 | 4장 예외 (생각거리, 기억에 남는 말)

토비의 스프링 '4장 예외'를 읽기모임 중에 기억에 남는 말들, 생각거리, 추천 링크들을 정리합니다. 현재 수행 중인 프로젝트에 예외를 받아서 의미있는 무언가(예를 들면 예외 상황 복구)를 할 수 있는 케이스가 정말 있는지 한 번 살펴보자. 그래서 Checked Exc

2022년 10월 2일
·
0개의 댓글
·

토비의 스프링 | 4장 예외 (배우고 느낀점)

토비의 스프링 ‘4장 예외’ 장을 읽고 배우고 느낀점을 정리합니다.스프링은 사용자의 체크를 필수적으로 요구하는 Checked Exception을 Unchecked Exception으로 전환해서 던진다는 것(복구 가능성이 거의 없는 예외를 위해 애플리케이션에서 불필요한

2022년 10월 2일
·
0개의 댓글
·

토비의 스프링 | 4장 예외 (독서메모)

토비의 스프링 ‘4장 예외’ 장을 읽고 책의 내용을 정리합니다.다음과 같은 유형의 난감한 예외처리 코드들이 있다.예외를 잡고 예외를 삼킨다. 예외가 숨겨지고 이 후에 예외가 후에 드러나면 어디서 문제가 발생했는지 찾기 어렵게 된다.콘솔 로그만 남기고 삼킨다. 콘솔로그는

2022년 10월 2일
·
0개의 댓글
·

토비의 스프링 | 3장 템플릿 (모임 중 든 생각, 기억에 남는 말말말)

‘객체란 무엇인가?’라는 질문을 받고 순간적으로 상태와 행위를 가진 프로그래밍의 단위 정도가 생각납니다. 조금 있다 문득 객체 중에는 상태가 없이(사용자가 멤버 변수를 정의하지는 않아도 사실 객체가 되기 위해 JVM이 관리하는 상태는 있을 테지만) 행위만 가지는 객체도

2022년 9월 26일
·
0개의 댓글
·

콜백을 위해 항상 람다식을 전달하는게 좋나요?

템플릿에 콜백을 위한 객체를 전달할 때 람다식을 사용하시나요? Functional 인터페이스를 정의한 분리된 클래스 객체를 전달하시나요?

2022년 9월 26일
·
0개의 댓글
·

토비의 스프링 | 변하는 것과 변하지 않는 것을 분리하는 과정

토비의 스프링 3장(템플릿)에서 거대하고 복잡한 하나의 메서드에서 변하는 것과 변하지 않는 것을 분리하며 객체지향의 핵심 원칙(개방폐쇄원칙)을 점진적으로 구현해 나가는 과정을 보여줍니다. 중복을 제거하고 재활성을 높였으며 변경에는 닫혀 있고 확장에는 열려있는 이 코드를

2022년 9월 25일
·
0개의 댓글
·

토비의 스프링 | 3장 템플릿 (독서메모)

토비의 스프링을 읽고 핵심적인 내용을 정리합니다.개방 폐쇄 원칙 (OCP, Open-Closed Principle)이란 자유로운 확장에는 열려있고 변경에는 굳게 닫혀 있다는 객체지향 설계의 핵심 원칙이다. 이 원칙은 코드에서 어떤 부분은 변경을 통해 그 기능이 다양해

2022년 9월 25일
·
0개의 댓글
·

토비의 스프링 | 3장 템플릿 (생각나눔)

토비의 스프링을 읽고 인상적이었던 부분과 느낀점을 정리합니다.매 장을 읽을 때 마다 새롭고 좋습니다. 3장이 변하지 않는 것과 변하는 것을 분리하는 개념이 나오는데 책에는 스프링이 버전업 되어도 변하지 않는 가치가 풍성하게 담겨있다는 생각이 듭니다. 3장에서 하나의 메

2022년 9월 25일
·
0개의 댓글
·

개발일기 #35 : 다양한 선택지와 이유들

처음으로 배운 프로그래밍 언어는 대학 1학년 때 C 언어였다. 그리고 다음해 Java를 배우는데 과제를 엄청 내주셨다. C 수업에서 구구단 출력하기 같은게 과제였다면 Java 수업에서는 도서관 대출 프로그램 같은게 과제로 나왔다. 그때 나는 프로그래밍을 그만하고 싶을

2022년 9월 23일
·
0개의 댓글
·