이번 글에서는 지금 근무중인 회사에서 제가 하고 있는 일과 코딩 테스트때 자주 보고 있는 알고리즘이 현재 어떤 영향이 있고, 이런 내용을 실제로도 잘 활용하고 있는지에 대해서 적어보고자 합니다. 이런 글은 사실 어느 회사에서 어떤 직무로 근무하냐가 판가름되고 있지만, 저는 주관적으로 제가 근무하면서 생각한 부분과 그 내용을 정리해서 적어보려고 합니다. 참고로 저는 현재 다니고 있는 회사가 대기업, 스타트업, 프리랜서를 통틀어 7번째 회사입니다. 이 정도면 그래도 신빙성이 있는 나름의 경험을 바탕으로 말씀드릴 수 있을 것이라 생각합니다. 1. 알고리즘의 유래 신규 입사자분들, 특히나 대기업을 입사과정 있으신 분들이 필히 준비하는 과정인 알고리즘 입니다. 이전에도 그렇고 요새는 사람들이 비슷한 시스템 구조로..
이전부터 ppt 프레젠테이션 파일을 만들기 위해 마이크로소프트 사의 파워포인트 툴을 사용하거나 MacOS 에서 제공하는 Keynote 등의 툴을 사용하곤 했습니다. 그러다보니 기존에 파일을 생성하고 편집을 하는 분들이 훨씬 익숙하겠지만, 이번에 VS Code 에서 제공하는 플러그인 중 하나인 'Marp for VS Code Extension' 을 설치하여 ppt 파일을 만드는 기능이 추가되었습니다. 공식 사이트 링크입니다. https://marp.app/ Marp: Markdown Presentation Ecosystem Marp (also known as the Markdown Presentation Ecosystem) provides an intuitive experience for creating ..
이번 글에서는 젠킨스에서 Slack 웹훅으로 연결하여 배포한 내용을 보내는 방법에 대해 기술해보려 합니다. 가장 먼저 필요한 준비물은 아래와 같습니다. Jenkins 서버 웹훅을 추가할 수 있는 Slack 워크스페이스 및 계정 1. Slack 수신 웹후크 설정에 접속 아래의 페이지가 나올 때 까지 접속합니다. 관리 - 사용자 지정 통합 앱 - 수신 웹후크 로 들어갑니다. 가장 먼저 적용할 부분은 Slack 웹훅을 보낼 수 있는 페이지에 접속하여 보내고자 할 워크스페이스에 연동하는 작업입니다. 전송하고자 하는 채널을 선택하시고, 없는 경우 새 채널 생서응로 해서 채널을 만들어주면 준비는 끝납니다. 이제 기본적으로 세팅할 부분은 여기에서 따로 없고, 생성된 URL을 미리 클립보드에 붙여넣습니다. 기본적으로 ..
저번에 Notion AI 를 이용해보고 싶어 신청을 하고 시간이 꽤나 지났습니다. 한 달이 넘게 기다린 것 같은데, 오늘 드디어 메일이 왔습니다. 아래의 글 링크는 이전에 작성한 Notion AI 를 신청하는 방법과 노션에서 제공하는 Notion AI Q&A 글입니다. https://abbo.tistory.com/368 Notion AI Alpha 버전이 시작되었습니다. https://www.notion.so/ko-kr/product/ai Introducing Notion AI Leverage the power of AI in any Notion page. Now in private alpha. www.notion.so 노션을 메모와 기록용으로 자주 사용하는 저로써 새로운 기능이 릴리즈되어 이 내용 ab..
오늘 다뤄볼 주제는 자바 14버전에서 나오게 된 record 입니다. 제목에서 나와있지만 record 를 class 와 같이 적용하려다가 결국 실패하고, DTO로 사용하게 된 내용을 말씀드리려 합니다. 클래스의 내용은 자바 개발자분들은 많이 아실거라 믿고, 제 블로그에서도 JPA 관련하여 여러 가지 글을 소개한 경험이 있어 넘기기로 하고, 이번 글에서는 record에 대해 중점적으로 다뤄보려 합니다. 목적 : 자바 record 에 대해 알아보고, Entity 는 클래스를 쓰자 가장 먼저 JPA Entity 는 클래스로 이루어져 있고, 이런 내용을 spring-data 의존성 내에서 자동으로 변환해주는 역할을 합니다. 예시가 가장 대표적이므로 예시를 보겠습니다. 아래의 내용은 앱을 사용하는 사용자의 Ent..
이번에는 맥북 또는 맥 사용자들의 화면을 깔끔하게 사용하게 하기 위한 앱을 하나 소개드리려고 글을 작성하게 되었습니다. 우리는 보통 상단에 아이콘들이 잔뜩있는 경우를 자주 보게 됩니다. 이런 경우 어떤 앱인지 헷갈리지는 않지만 너무 많은 경우 정리가 안되고 유료로 결제했는데 몇개를 그냥 포기하고 종료하고 사용하는 불필요성이 생기게 됩니다. 먼저 다운로드는 아래 링크에서 가능합니다. https://apps.apple.com/kr/app/hidden-bar/id1452453066?mt=12 Hidden Bar Hidden lets you hide menu bar items to give your Mac a cleaner look. Features: - Launch at login - Auto-hide a..
최근에 다시 함수형 인터페이스 (람다와는 다른) 추상메소드 인터페이스에 관심이 많아졌습니다. 생각보다 서비스 개발을 하게 되면서 잘 안쓰게 되고 되려 메소드 방식의 내용이 익숙하고 편한지라 그런 내용들을 자주 사용하곤 하였는데요, 이번 글에서는 이제부터라도 함수형 인터페이스를 좀 더 제대로 써보고 싶은 마음에 글을 작성하게 되었습니다. 목적 : 함수형 인터페이스가 무엇이 있는지 파악하고, 이를 실제 함수에 적용해본다. 1. 가장 먼저 함수형 인터페이스를 왜 사용하는지부터 알아보려 합니다. 기본적으로 가장 많이 사용하고 있는 자바의 함수형 인터페이스는 람다 표현식입니다. 화살표 함수라고 하는 이 녀석의 기본 꼴은 아래와 같습니다. public interface FunctionUtil { public abs..
Spring Secruity 를 사용했을 때 세션 만료시간이 다가와 사용하지 못하는 경우가 있습니다. 그런 경우 세션 값에 저장된 내용을 꺼내 써야할 때 NullPointerException 이 종종 출력되곤 합니다. 그래서 검색을 해본 결과 Spring Security 내에서 (Java 로직 내에서) 세션이 만료됨을 체크해주는 로직은 찾기 어려웠습니다. 저는 웹 페이지를 개발하고 있었고, 해결책을 찾아보다가 결국 헤더에 넣은 자바스크립트에서 주기적으로 세션의 유효한 값을 체크하여 커스텀한 Exception 을 던져주는 것으로 방법을 찾았습니다. 원인 : 로그인된 사용자가 자신도 모르게 세션이 만료되어 로그아웃된 사용자 취급을 받는 것을 해결 1. SpringSecurity 뜯어보기 시큐리티에서는 기본적..