Spring을 위한 객체 지향 연습 1-4. 리플렉션 맛보기(1)
Intro 이전 글에서 리플렉션에 대해 공부해보기로 하고 살펴봤는데 처음엔 받아들이지 못하다가 실습하면서 조금이나 친숙해진 느낌입니다. 하지만 여전히 제대로 이해를 못했고, 단기간에 소화할만한 내용은 아닌 것 같아 이론적인 것은 적당히 넘어가고, 실습한 썰을 푸는 느낌으로 기록을 남겨보려 합니다. Reflective Programming 먼저 R...
Intro 이전 글에서 리플렉션에 대해 공부해보기로 하고 살펴봤는데 처음엔 받아들이지 못하다가 실습하면서 조금이나 친숙해진 느낌입니다. 하지만 여전히 제대로 이해를 못했고, 단기간에 소화할만한 내용은 아닌 것 같아 이론적인 것은 적당히 넘어가고, 실습한 썰을 푸는 느낌으로 기록을 남겨보려 합니다. Reflective Programming 먼저 R...
Intro 플래시카드의 생성/수정/삭제 기능을 구현하는 것을 진행하고 있었던 이전 글에 이어서 Javadoc을 작성하기도 하고, 테스트도 작성하면서 나름의 객체지향 프로세스를 이어서 진행해봤습니다. 물론 계획대로 되지는 않았습니다. 4. API 설계 ~ 8. 메서드 구현 원래 계획대로라면 4. API 설계, 5. 테스트 구현, 6. 인스턴스 변...
Intro SQLite 에서는 AUTOINCREMENT 설정 시 새로운 테이블(sqlite_sequence)이 생성되는데, 이 테이블에서 AUTOINCREMENT가 설정된 정보가 담긴 row를 찾아 제거해야 자동으로 증가하여 저장되는 숫자를 초기화할 수 있습니다. Summary DELETE FROM sqlite_sequence WHERE name...
Intro 이전 글에서 API 테이블까지 그려봤는데, Spring을 사용해봐서 그런지 생성/수정/삭제가 플래시카드라는 도메인 객체에서 처리해야 할 일인가에 대한 의문이 생겼습니다. 이전에 작업한 코드와 Spring의 Service 클래스 비교 이전에 Java 만 배운 상태에서는 아래와 같이 나름대로 만든 도메인 객체에서 바로 DAO(Data Ac...
Intro 이전 글에서 나름의 객체 지향 개발 프로세스를 정리해 봤습니다. 바로 해보고싶었지만, 팀 프로젝트하느라 민폐되지 않게 쉼 없이 달리고 이제 좀 정리가 되어 다시 진행하려고 합니다. 1. 문제 파악 및 정의 효과적인 학습에 관심이 많습니다. 그래서 학습에 있어서 제 개인적인 문제를 먼저 파악하면서 시작해 보겠습니다. 개인적으로 학습에...
Intro 한동안 팀 프로젝트 하느라 정신이 없다가, 이제 좀 마무리가 돼서 코딩테스트 쉬운 옛날 문제도 다시 보고 있습니다. 프로그래머스 시저 암호 문제(링크)를 풀었는데, 문자열 내의 문자를 특정 수 만큼 다음 위치에 있는 문자를 출력해야 했습니다. 예전에는 if-else 문으로만 풀었었는데, 이번에는 stream으로 풀어봤습니다. 문자열의 ...
Intro 여러 책에 있는 내용 한 곳에 몰아 넣으면서 공부하다가 그대로 블로그 글로 올렸습니다. 다시 객체 지향 공부로 앞서 글을 썼듯 Spring에 입문했습니다. 문제는 Spring 예제를 복사해다가 붙여넣든 어쩌든, 어떻게든 되게 만드는건 할 수 있겠는데, 실습파 보다는 학구파인지라 뭔가 만들면서도 찝찝합니다. 검색을 하다가 Spring 을...
Intro Spring 을 입문하면서 제어의 역전(IoC, Inversion of Control)과 의존성 주입(Dependency Injection)에 대해서 배웠습니다. 중요한 개념이라 한 번 정리하려고 글을 작성하면서 여러가지 자료를 검토하다 보니, 제어의 역전과 의존성 주입은 설명하는 곳 마다 미묘하게 다른 느낌을 받아 조사한 것을 정리할 겸...
Intro 요즘 Java Framework 인 Spring에 입문하면서 Bean 객체를 XML에서 설정해보고, Annotation으로 설정하기도 해보고 있습니다. 근데 쓰잘데기 없기는 하지만 왜 Bean이라고 이름을 지었는지 문득 궁금해서 찾아봤습니다. GPT-4, Bing chat, Bard 에 물어보기 GPT-4 와 Bing chat은 못 ...
문제 다음은 Java 코드입니다. long dividend = 10_000_000_000L; long divisor = 10L; int quotient = (int) dividend / divisor; 위에서 quotient의 값은 무엇일까요? 1_000_000_000 일까요? jshell 에서 연산해본 결과값은 141_006_540 입니다....