전체 글

일상

취업 후기

안녕하세요 코자맨입니다. 오늘은 오랜만에 돌아왔습니다.. 이번 글은 길고 긴 취준을 끝내는 글입니다. (완전히 끝은 아닐 수 있지만 ..) 제목에서 보시다시피, 드디어 취준을 끝내고 엔테크 서비스에 취업을 성공해서 돌아오게 되었습니다. 그래서, 엔테크 서비스 채용 과정 및 길고 긴 취준을 끝낸 후기를 적어보려 합니다. 채용 과정 서류 : 2023.07.06 ~ 2023.07.16 코딩테스트 : 2023.07.20 사전 과제 : 2023.07.25 ~ 2023.07.30 면접 : 2023.07.31 입사 : 2023.08.16 채용은 위와 같은 과정으로 이뤄졌습니다. 그리고 각 과정별로 결과발표도 금방 금방 이뤄져서 시원시원했던 것 같습니다. 서류 자기소개서는 크게 특별한 점은 없었던 것 같습니다. 대부분..

Backend

OAuth?

OAuth를 사용한 프로젝트를 수행하기 위해, OAuth가 무엇이고, OAuth1.0과 OAuth2.0은 무엇이 다른지에 대해 알아보고자 작성한 포스트이다. OAuth? 위와 같은 로그인창을 본 경험이 있다. 우리는 새로운 아이디나 비밀번호를 만들어 회원가입을 할 수도 있지만, 카카오톡, 구글, 깃허브, 애플 등등 다양한 플랫폼의 계정 정보를 통해 회원가입 및 로그인을 할 수 있다. 이와 같이, 외부 서비스에서도 인증을 가능(인증, Authentication)하게 하고, 그 서비스의 API를 이용(권한, Authorization)하게 해주는 것을 OAuth(Open Authorization) 라고 한다. 좀 더, 기술적으로 말하자면, 다양한 플랫폼의 특정 사용자 데이터에 접근하기 위해 제 3자(우리가 사..

Java지식

Java의 effectively final이란?

최근 알고리즘 문제를 풀면서 스트림과 람다를 가끔 활용하곤 하는데, 위와 같은 경우를 몇 번 맞닥뜨리게 되었습니다. 읽어보면, "람다 표현식에서 사용하는 변수는 final이거나, effectively final이어야 한다..." 라고 하는데 이에 대해 알아보겠습니다. 순서는 그렇다면, effectively final은 무엇인지, 왜 람다 표현식에서 사용하는 변수는 final이거나, effectively final이어야 하는지 와 같겠습니다. effectively final effectively final은 람다 표현식이 등장한 자바 8에 함께 등장했습니다. 이는 final 키워드가 선언되지 않았지만, 값이 재할당되지 않아 final 변수와 유사하게 동작하는 변수를 의미합니다. 자바 언어 스펙을 살펴보면 ..

일상

SSAFY 9기 합격 후기

반갑습니다. 오랜만에 돌아온 코자맨입니다. 오늘은 .. SSAFY 9기 합격 후기로 돌아왔습니다. 지난 한 해동안 최종 합격이라는 문구를 딱 2번 봤는데, 그 중 하나입니다. 다른 하나는 중소기업이었는데, 더 나은 기회를 잡아보고자 포기했었습니다. 9기 일정 모집 기간 : 2022.10.24 ~ 2022.11.07 에세이 제출 기한 : 2022.11.08 ~ 2022.11.19 전공 코딩테스트 : 2022.11.20 인터뷰 기간 : 2022.12.12 ~ 2022.12.16 중 하루 많은 내용이 대외비이기에, 세부적인 내용은 언급하지 않을 예정입니다. 에세이 에세이에는 어떤 것을 적어야 좋을지 한참을 고민하다가, 코딩에 대한 관심 현재 가진 문제점 싸피 지원 동기 다음과 같은 내용들을 기재했습니다. 에세..

Java지식

기본 자료형과 참조 자료형

JVM과 메모리에 대해서 다루기 전에, 또한 GC에 대해 알기 전에, Java의 자료형에 대해 알아야 할 필요가 있다고 생각해 정리해보고자 합니다. 자료형의 종류 자바는 크게 기본 자료형(Primitive Type)과 참조 자료형(Reference Type)라는 2개의 자료형을 가집니다. 기본 자료형은 8가지(byte, boolean, char, int, short, long, float, double)가 있습니다. 그리고 위 8가지를 제외한 나머지는 모두 참조 자료형입니다. 또한 참조 자료형은 사용자가 직접 정의한 커스텀 자료형 또한 포함됩니다. 먼저 기본 자료형에 대해 간단하게 알아보겠습니다. 기본 자료형 기본 자료형에는 8가지가 존재합니다. 참, 거짓을 저장하는 boolean 실수를 저장하는 flo..

Backend

@SpringBootTest vs. @WebMvcTest

프로젝트를 진행하면서 API 문서화를 위해 Spring Rest Docs를 사용해보게 되었습니다. 이전까지는 테스트 코드를 작성하지 않았던 아쉬움이 있어 테스트 코드 작성을 강제화하기 위해 사용경험이 있던 Swagger UI가 아닌 이를 선택했습니다. 그러면서 작성한 테스트 코드에서 @SpringBootTest이 아닌 @WebMvcTest라는 어노테이션을 사용하게 되었는데, 이 둘은 어떤 차이가 있는지 정리하는 시간을 가져보고자 합니다. (사실 이 차이를 몰라서 에러때문에 끙끙 댔습니다.) 하나하나씩 알아보고 정리해보겠습니다. @SpringBootTest 먼저, 위 어노테이션은 Spring boot를 기반으로 한 테스트를 동작하는 클래스에서 사용될 수 있습니다. 제공하는 기능에 대해 알아보기 전에, 자주..

OpenSW

[OpenSW] QCA 프로젝트

대회 주제 2022 공개 SW 개발자 대회가 열렸고, 이에 참가하고자 주제를 찾아보다가, 우연히 행정안전부에서 제공하는 전자정부 웹사이트 품질관리 가이드라는 것을 발견했습니다. 가이드를 보니 검사자가 하나하나 수기로 확인해야 하는 작업이었고, 웹 접근성, 호환성, 편의성 등 종류도 많은 것을 볼 수 있었습니다. 그리고 문득, 이걸 자동화할 수 있는 서비스가 있다면 엄청 편리하겠다는 생각이 들었습니다. 따라서, 이를 주제로 전자정부 웹사이트 품질 진단 자동화, Quality Control Automation 프로젝트를 시작하게 되었습니다. 프로젝트 흐름 프로젝트는 크게 다음과 같은 시나리오로 흘러갈 것으로 계획했습니다. 사용자로부터 진단을 원하는 웹사이트 주소를 받는다. 해당 웹사이트에 대한 진단을 수행하..

알고리즘풀이

조합과 중복조합

저번 포스트에 이어 이번에는 조합과 중복조합에 대해 정리하고자 합니다. 조합 먼저 조합입니다. 조합은 "N개의 숫자 중에서 R개의 숫자를 순서 없이 뽑는 것"을 말합니다. 예를 들어 1, 2, 3 이라는 숫자가 있을 경우, 여기 2개의 숫자를 순서 없이 뽑으면 {1, 2}, {1, 3}, {2, 3} 을 얻을 수 있습니다. 순열이었다면 {2, 1}, {3, 1}, {3, 2} 등을 얻을 수 있었지만, 조합은 순열과 달리 순서 없이 뽑기 때문에 제외합니다. 그렇다면 이제 이를 구현해보기 위해 필요한 것들을 생각해보면, 조합을 구하고자 하는 데이터(숫자)와, 조합에 현재 숫자가 뽑혔는지를 알아야 합니다. 그리고 이를 구현하는 방법은 2가지가 있습니다. 백트래킹을 이용하거나, 재귀 호출을 이용할 수 있습니다...

codingjavaman
코딩하는자바맨