일단 해보고, 아니면 뭐

실패했어도 배웠으면 실패가 아냐.

무한한 개발세계 여행기

Programing/Java 5

우아한 테크캠프 Pro 프리코스 회고록 - 객체지향 생활체조

정말 오랜만에 포스팅을 하는 것 같다. 요 근래 정말정말 많은 일이 있었는데, 심기일전하고 다시 열심히 해봐야겠다! 아무튼 바쁜와중에 정말 운 좋게 우아한 테크 캠프 Pro 5기에 선발돼서 열심히 공부도 병행하는 중이다. 지금 이미 1주차에 들어섰지만 프리코스 때 배운 점들을 정리해보고자 뒤늦게나마 포스팅을 작성해본다. 과제를 낼때마다 요구사항을 함께 보내주는데, 굉장히 기본적이고 간단해 보이지만 생각보다 까다로웠다. 이번 과제에서 많은 걸 배우고 느꼈던 요구사항 몇 개를 알아보자! else 예약어를 쓰지 않는다. 개발자라면 조건문의 중요성을 너무나 잘 알거라고 생각한다! 나 또한 조건문을 이용한 코딩을 많이 하는데 else 예약어를 자주 썼던 나로써는 굉장히 당황스러웠다. 그런데 밑에 작은 글씨로 이렇..

Programing/Java 2022.11.02

Java Stream 모르고(?) 쓰면 일어나는 일들

오늘 포스팅은 다소 어이없을(?) 수도 있다. 오늘의 주제는 Java Stream의 일부인데, 모르고 쓴다기보단 막 쓰면 일어나는 일이라고 해야 할 수도 있겠다. 더 나아가자면 Stream의 문제가 아닌 그냥 개발자의 태도의 관한 포스팅이라고 생각하면 편할거 같다. 이전 회사에서는 Stream을 자주 사용하지 않았다. 대부분을 향상된 For문과 조건문을 활용해서 각종 필터링 작업을 진행하고, 그룹핑 해야하는 부분에서만 간혹 사용하곤 했다. 그런데 이번 회사는 신기할정도로 Stream을 자주 쓰고 거의 대부분이 Stream을 통해 구현되어 있다. 적응하면 가독성도 좋아지고 퍼포먼스도 잘 나온다고들 하는데, 나는 사용을 거의 안 해봐서 별로 체감하지 못하고 있었다. 그래도 지금 하는 프로젝트에선 주로 사용하..

Programing/Java 2022.09.16

Concurrency Problem 올바른 대응방법 (1) - Lock

동시성 이슈 문제를 해결했던 업무 회고를 작성했던 지난 포스팅에 이어서 동시성 이슈 문제의 해결 방법 중 하나인 Lock이라는 거에 대해서 좀 더 자세히 알아보고자 한다. 지난 포스팅에서 나는 동시성 이슈를 JPA의 Lock Annotation을 이용하여 대응을 하였다. 동시성 이슈에 대해서 공부 하다보면 대응을 위해서 Redis 데이터베이스를 썼다는 이야기가 많이 나온다. 대략적인 이유를 보면 '단일 스레드 처리 방식과 데이터 잠금의 차이'라고 나와있다. 나는 그래서 Lock을 사용하고자 했던 거고 이번 기회에 Lock에 대해 더 공부를 하게 되었다. Lock? Lock이란 트랜잭션 처리의 순차성을 보장하기 위한 방법으로, 같은 데이터에 동시에 접근하는 경우 데이터의 일관성과 무결성의 유지를 위해 사용..

Programing/Java 2022.09.09