전체 글
-
[후기] 운영체제와 정보기술의 원리후기/책 후기 2023. 4. 25. 22:15
운영체제 수업의 GOAT인 반효경 교수님이 쓰신 책이다. 책 내용은 KOCW 내용과 매우 유사하므로 KOCW 강의를 듣거나, 책을 읽거나 선택을 하면 될 것 같다. 나는 강의도 보고 책도 읽었는데, 굳이 반복해서 봐야했을까라는 생각이 많이 들었다 책과 영상을 추천해주는 이유는 깃허브 면접 레포에 있는 대부분의 OS 질문에 대한 답변을 이 강의/책으로 해결할 수 있다. 다만 아쉬운 점은 교수님이 수업에서 말했듯이 한 층 더 깊은 내용은 따로 추가적인 학습이 필요하다. CS 면접 준비 직전에 아마 영상이나 책을 한 번 더 볼 것 같다
-
[후기] 초보 웹 개발자를 위한 스프링 5 프로그래밍 입문후기/책 후기 2023. 4. 25. 22:07
책은 진작 다 읽었는데.. 후기 글을 쓰기 귀찮아서 미루다가 드디어 쓰게 됐다 목차를 보면 알 수 있듯이 Ch.02 ~ Ch.07은 스프링 기초에 대해 배우고, Ch.08 ~ 부터는 스프링 MVC 기초에 대해서 공부한다. 후기 글을 쓰면서 저자님이 쓴 내용을 찾아봤는데, `처음 스프링을 배우고자 하는 독자들이 입문할 때 필요한 것은 스프링의 방대한 내용이 아닌 기초와 전반적인 흐름을 잡아주는 것으로 생각한다.`로 책을 소개한 문장이 있다. 책을 다 읽고 이 문장을 읽어보면 정말 책을 소개하는 완벽한 문장이라고 생각한다. 특히 `스프링 코드를 사용하기만 했지, 기본적인 내부 동작은 몰랐던 사람들`도 추천을 해주고 싶다. 스프링 MVC는 옛날 버전이기 때문에 대충 훑고 책을 덮었다가, 스프링의 역사를 체험해..
-
[Spring] Dispatcher Servlet에서 핸들러가 저장하고, 매핑되는 과정백엔드/Spring 2023. 4. 21. 23:49
프로그램이 실행되면 어떻게 핸들러가 만들어지고, HTTP 요청을 하면 어떻게 매핑이 되는 것일까? 1. 서론 한 크루가 컨트롤러 클래스를 @Bean으로 등록해서 사용하려니까 오류가 발생했었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 @Configuration public class SpringConfig { private final DataSource dataSource; @Autowired public SpringConfig(final DataSource dataSource) { this.dataSource = dataSource; } @Bean public RacingGameController racingGameContro..
-
@Transaction를 적용하면 어떻게 하나의 Connection을 사용할까?백엔드/Spring 2023. 4. 14. 00:11
자동차 경주 웹 미션을 하는데 페어가 JdbcTemplate update를 여러 번 호출하면 @Transaction 을 적용해도 Connection이 여러번 열리고 닫히는지 궁금해했다. 그래서 JdbcTemplate update 내부 코드를 보니까 update를 할 때마다 Connection이 한 번 열리고 닫히는 것 같아보였다. 그래서 집에 돌아와 @Transaction을 적용하면 어떻게 달라지는지 내부 코드를 보고 정리를 해보았다. 먼저 JdbcTemplate의 update 코드를 확인해보자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 @Override public int update(final PreparedStatementC..
-
[Spring] 스프링 기본백엔드/Spring 2023. 4. 11. 09:00
1. DI (Dependency Injection) 객체 간의 의존성을 외부에서 주입하는 방식 - 장점: 낮은 결합도를 가지고, 더 쉽게 테스트할 수 있음 - 낮은 결합도를 가지면 장점: 개방 폐쇄 원칙의 장점을 가짐 (코드 재사용, 확장에 용이해짐) 2. Spring Bean 스프링에서 관리하는 객체로 IoC 컨테이너에 의해 생성되고, 관리되어짐 Bean을 등록하는 방법은 @Configuration과 @Bean을 사용하거나, @Component를 사용할 수 있음 3. IoC 컨테이너 IoC 컨테이너는 객체의 생명주기를 관리하는 곳임 이건 프로그래밍에서 쓰이는 컨테이너와 뜻이 같지만, 스프링에서 IoC가 추가된 이유는 개발자가 직접 객체의 생명주기를 관리하지 않고, 프레임워크가 대신 수행하기 때문임 Io..
-
우테코 레벨 1이 끝나고 다시 보는 SOLID백엔드/객체지향 | 디자인패턴 2023. 4. 6. 00:55
https://hello70825.tistory.com/530 [SOLID] 객체지향 설계 원칙 우아한테크코스 프리코스를 할 때, 인터넷에서 뒤적뒤적 거리면서 공부를 했었지만 간단한 코드와 글만 봐서는 이해가 되지 않았었다. 그런데 지금 객체지향 책을 읽어보니 이해가 되어서 나중 hello70825.tistory.com 우테코 프리코스가 끝나고, 본 과정을 시작하기 직전에 SOLID에 대한 글을 포스팅 했었다. 하지만 이때에는 실제 코드로 적용을 하면 어떻게 될지 제대로 가늠이 안갔는데, 레벨 1을 진행하면서 어느정도는 알게 되었다고 말할 수 있다. TDD를 하면서 SRP가 무엇인지 제대로 알게 되었고, 체스 미션에서 다중 if문을 제거하면서 OCP가 얼마나 중요한지 알게 되었다. 이외에도 다른 원칙들이..
-
[후기] 스프링 입문을 위한 자바 객체지향의 원리와 이해후기/책 후기 2023. 3. 1. 09:00
표지에 개구리가 있어서 개구리책으로도 불리는 책이다. 메모리 → 객체지향 → 디자인 패턴 → 스프링 입문 순서로 책이 진행된다. 여기서 디자인 패턴을 제외하고는 자세하게 설명되어 있다. 장점 - 예시 코드를 순차적으로 실행한다고 가정하며 T 메모리 구조에 대해 굉장히 자세하게 알려준다. - SOLID에 대한 감을 어느정도 잡게 해준다. 특히 다른 책들에 나오는 비슷한 설명과는 다르게 좀 더 쉬운 방법, 명확한 방법으로 설명해줘서 잘 이해할 수 있게 되었다. - IoC / DI를 스프링의 역사를 통해 알려준다. 처음엔 XML 파일로 일일이 설정했던 것을 @Autowired와 @Resource로 오기까지의 설명을 해준다. 이 부분을 읽기 전에는 XML 파일을 왜 사용한거지 의아했는데, 코드를 수정하지 않고서..
-
[Java] @BeforeAll과 static block의 차이백엔드/Java 2023. 3. 1. 09:00
책에서 메모리 구조를 공부하다가 갑자기 테스트 어노테이션을 찾아보라는 말이 나왔다. @BeforeClass를 찾아보라고 했는데, JUnit4가 @BeforeClass이고, JUnit5는 @BeforeAll을 사용한다. @BeforeAll @Target({ ElementType.ANNOTATION_TYPE, ElementType.METHOD }) @Retention(RetentionPolicy.RUNTIME) @Documented @API(status = STABLE, since = "5.0") public @interface BeforeAll { } - 어노테이션이나 메서드에 @BeforeEach를 붙일 수 있다. - 런타임(프로그램 종료 전까지)동안 어노테이션이 남아있다. - JavaDoc을 생성할 때..