TIL ✍️

· TIL ✍️
어제는 공가라서 TIL 안 썼다. 최종 면접을 다녀왔다. 면접 시간은 2시간인데, 왕복 5시간이었다.. 11시에 출발해서 7시에 도착.. 환승없이 지하철로 쭉 2시간을 가는데 집올 때는 퇴근시간이랑 겹쳐서 서서 갔다 ㅠㅠ 면접은.. 잘 모르겠다.. 합격 확률은 50% 미만으로 예상을 해 본다. 구글링해보니 대충 어떤 부분에서 질문이 나온다길래 그 부분을 중점적으로 준비를 했는데 1도 안 나왔다. ㅋㅋ 아니, 절대 예상을 못 한 질문만 나왔다 ㅋㅋㅋㅋ 그래도 나름 필살기라고 생각한 것을 어필하려고 어떻게든 방향을 틀면 면접관분들은 이악물고 다시 유턴을 해서 다른 질문을 하셨다.. 아무래도 미리 정해둔 질문 리스트가 있고, 면접자가 뭐라고 하든 꼬리 질문따윈 안 하고 이 리스트의 질문을 다 해야해 라는 느낌..
· TIL ✍️
내일 면접이다,, 가는 길 체크 완, 정장 이상 무, 이제는 예상 질문 답변 써둔거 달달 외우고 있다. 면접이 떨어질까 걱정보다, 드디어 면접이 끝난다는 해방감이 압도적으로 크다... 최근 일주일 평균 심박수 120 BPM 일듯 ㅋ ㅋ ...근데 날 안 뽑는게 손해 아닌가? 날 탈락시킬 정도로 안목이 없는 회사에 가야되나? 스프링 프레임워크 스프링 이라고도 하며(프레임워크를 붙이는 것이 정확한 표현이다), 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크이다. 1.0은 2004년 3월에 출시했으며, 현재 메이저 버전은 6이다. 스프링은 엔터프라이즈용 자바 애플리케이션을 편하게 개발할 수 있게 해주는 오픈소스 경량급 애플리케이션 프레임워크다. 스프링은 POJO 프로그래밍을 지향하는 특징을 가지며, 그를 ..
· TIL ✍️
오랜만의 일기. 쓸 겨를이 없었다. 수요일에 최종면접을 본다.. 하루하루 입맛이 없고 쉴 때도 괜히 마음이 찔린다. 그냥 마음 비우고 봐야지.. 객체지향 프로그래밍이란 💡 시스템을 상태와 행위를 가진 객체들의 공동체로 보고, 객체들 간의 협력으로 로직을 구성하는 프로그래밍 방법. 장점 코드 재사용성이 높다. 누군가 만들어놓은 클래스를 재사용하거나 상속하여 확장한다. 유지보수가 쉽다. 수정할 부분이 클래스 내의 멤버 변수나 메서드로 존재하여 해당 부분만 수정하면 된다. 대형 프로젝트에 적합하다. 클래스 단위로 모듈화하거나 인터페이스로 … 업무분담하기 쉽다. 단점 처리 속도가 상대적으로 느리다. 객체가 많으면 용량이 커진다. 설계 시 많은 시간과 노력이 필요하다. 객체지향의 특징 추상화 불필요한 정보는 숨기..
· TIL ✍️
람다 서버를 준비하거나 관리하지 않아도 코드를 실행할 수 있는 컴퓨팅 서비스. 서버리스 서비스다. 람다를 사용하면 필요할 때만 함수를 실행하고 자동 확장된다. 또한 사용한 만큼 비용을 지불한다. 람다는 AWS가 직접 서버에 관한 것들은 관리를 해주기 떄문에 (VPC도 관리할 필요 없다.) 개발자는 자신의 코드만 관리해주면 된다. 내 주식앱은 람다를 사용하고 있는데 이유는 다음과 같다. 우선 내가 앱과 서버 모두를 관리해야 하기에는 작업량이 너무 많았고, 크롤링 같이 단발성의 작업에 상시 서버를 켜두는 것보다 사용한 만큼만 지불하는 것이 더욱 비용효율적이며, 스케일링도 자동으로 해주어 요청에 탄력적으로 대응할 수 있었다. 제일 컸던 것은 일정량까지는 무료다. 그래서 슬퍼해야할지, 기뻐해야할지 모르겠지만 아..
· TIL ✍️
스프링 라이브러리 중에는 검증을 담당하는 validation 라이브러리가 있다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-validation' } build.gradle 에 이렇게 작성하면 사용할 수 있다. 이번 익명 게시판 API 만들기 과제에서 게시글의 필드값을 검증해야 했어서 이를 사용해봤다. import org.hibernate.validator.constraints.Length; import jakarta.validation.constraints.NotBlank; import lombok.Getter; /** * 게시글 생성 요청 DTO * 생성되기 전 암호화된 비밀번호로 변경이 필요 */ @Gette..
· TIL ✍️
멱등성(idempotent) 전산학이나 수학에서 사용하는 용어, 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질 (연산을 여러 번 반복하여도 한 번만 수행된 것과 같은 성질) f(f(x)) = f(x) 보통 이렇게 표현이 되곤 한다. 일단 한번 연산하면, 이후 몇 번을 연산해도 같은 결과가 나온다. 멱등 연산은 작업 수행 요청이 최소 한 번 발생하도록 보장되지만 두 번 이상 발생할 수도 있는 네트워크 프로토콜 설계에 자주 사용된다. 작업이 멱등적이면 작업을 두 번 이상 수행해도 결과는 한 번만 수행된 것과 동일하기 때문에 문제가 없기 때문이다. 멱등은 RESTful 웹 서비스의 맥락에서 많이 언급된다. REST는 웹 애플리케이션을 리소스로 구성한 다음 POST, PUT, GET 및 DELETE 등..
· TIL ✍️
주제 Http method 중 PUT 과 PATCH 의 차이가 뭘까 Http method 중 자원의 수정을 의미하는 메서드로는 PUT 과 PATCH 가 있다. 한 개만 있어도 될 것 같은데 왜 2개지?? 하는 의문으로 알아보았다. RFC 문서를 직접 찾아봤다. PUT은 자원을 대체(replace) 한다. 즉, 없으면 생성하고 있으면 기존 값을 버리고 요청값으로 바꾼다. (튜터님은 보통 프로젝트에선 성공 응답은 전부 200 OK 로 통일한다고 하고, 나도 이 방법이 더 좋다고 생각하지만 일단의 표준은) PUT 요청시 자원이 없다면 POST와 같이 새로 생성 후, 201 Created 를 응답한다. 자원이 있다면, 기존 자원을 대체 후 200 OK 나 204 NO CONTENT 를 응답한다. PUT 메서드를..
· TIL ✍️
문제 String.isEmpty(), String.isBlank() 의 차이점 역시.. ㅈㅎ님 코드리뷰 하다가 발견한 것들 적어본다. 코드리뷰할 때마다 TIL 쓸 것들이 쏟아진다. String 객체의 메서드 중에는 문자열이 비었는지 체크하는 메서드인 isEmpty() 와 메서드의 공백까지 체크해서 비었는지 확인하는 isBlank() 메서드가 있다. 코드리뷰를 하던 중 isEmpty() || isBlank() 를 함께 사용한 부분이 있어서 역시 리뷰의 근거?를 마련하고자 적어본다. 먼저 isEmpty() 메서드는 JAVA 6 에 추가된 메서드고, 문자열의 길이가 0일 경우 true를 반환한다. /** * Returns {@code true} if, and only if, {@link #length()} i..
· TIL ✍️
문제 String.matches(regex) 는 왜 반복사용시 Pattern.matcher(string).matches() 보다 느릴까 깃허브에서 추천을 타고타고 보다보면 다른 사람들이 코드리뷰 해놓은 것들도 볼 수 있는데, 그중에 종종 보이는게 String.matches는 느려서 Pattern 을 static 으로 해두고 써야해요! 라는 내용이 있다. ㅈㅎ님 코드리뷰를 하던 중에 마침 String.matches 를 써둔 게 있길래 리뷰의 근거를 마련하기 위해? 얼마나 느린지, 왜 느린지를 정리해보려고 한다. private static final Pattern PATTERN = Pattern.compile(".*[0-9].*"); static Function validateNumberWithPattern..
yunjae62
'TIL ✍️' 카테고리의 글 목록 (11 Page)