본문 바로가기

전체글보기

(28)
[자.알.인] CH19. 비트 조작 1. 비트 조작 비트(bit)는 Binary Digit을 줄인 말로 데이터를 나타내는 최소 단위입니다. 0과 1 두 개의 값만을 가질 수 있습니다. 8bit가 모여 1Byte가 되며 이 후 단위들은 킬로, 메가, 기가 등 컴퓨터 저장 용량이나 RAM 용량 등에서 보던 익숙한 단위가 보이게 됩니다. 2. 부울 연산자 가장 기본적인 부울 연산(Boolean Operation)에 대해서 설명드리겠습니다. AND OR NOT NAND NOR XOR XNOR 등 으로 소개가 되어있습니다. 저 중에 0과 1의 숫자로 이용하는 '비트 연산자'에서 일부 사용이 가능합니다. 3. 비트 연산자 위의 부울 연산자에서 사용되는 것은 4가지의 연산이 있습니다. AND(&) 두 자릿수 중 하나라도 0이 있으면 0, 없으면 1로 ..
[자.알.인] CH16. 트라이 1. 트라이(Tire)란? 트라이(Trie)는 검색 트리의 일종으로 일반적으로 키가 문자열인, 동적 배열 또는 연관 배열을 저장하는데 사용되는 정렬된 트리 자료구조입니다. 특히 실무에 매우 유용하게 쓰이는 자료구조로서, 자연어 처리(NLP) 분야에서 문자열 탐색을 위한 자료구조로 널리 쓰입니다. 래딕스 트리(radix tree) / 접두사 트리(prefix tree) / 탐색 트리(retrieval tree)라고도 불린다. 여기서 트라이는 retrieval tree의 'trie'를 따온 단어입니다. 해당 자료구조는 예를 들어서 'Datastructure'라는 단어를 검색하기 위해서 제일 먼저 'D'를 찾고, 다음 단어 순서로 찾는 방식입니다. 2. 트라이 구현(Java) 자.알.인의 문제 62번 '트라이..
[자.알.인] CH08. 연결 리스트 1. 연결 리스트(Linked List)란? 배열과 함께 가장 기본이 되는 대표적인 선형 자료구조 중 하나로, 다양한 추상 자료형 구현의 기반이 된다. 순서대로 저장하는 배열과 다르게 데이터의 순서가 메모리에 물리적인 순서대로 저장되지는 않는다. 어떤 데이터 덩어리(이하 노드(Node))를 저장할 때 그 다음 순서의 자료가 있는 위치를 데이터에 포함시키는 방식으로 자료를 저장한다. 연결 구조를 통해 물리 메모리를 연속적으로 사용하지 않아도 되기 때문에 관리도 쉽다. 특정 인덱스에 접근하려고 할 때 전체를 순서대로 읽어야 하기 때문에 시간 복잡도는 O(n) 이다. 반면, 시작/끝 지점에 엘리멘트를 추가, 삭제, 추출하는 작업의 시간 복잡도는 O(1) 이다. 2. 자.알.인에서의 연결 리스트 문제 위의 설명..
[잡담 + 프로젝트 후기] 후회되는 일 이전 스타트업 회사에 퇴사하기 직전 Spring Boot + MyBatis + WebSocket을 사용하는 프로젝트를 진행하였습니다. REST API을 통해 클라이언트의 조건에 맞는 API 기능과 STOMP 프로토콜을 통해 WebSocket으로 양방향 통신을 진행하였습니다. 그러나 기본 프로그래밍 실력이 낮아 프로젝트 구성부터 느리고 조금 나사빠져 퇴사 전 후회하던 기능과 공부를 다시금 해보고 싶은 것이 있었습니다. 1. Spring Boot + MyBatis 를 이용하는 경우 중복로그인 처리 방식 2. Hanlder와 Filter의 구분 3. JWT 사용을 Access Token만 사용하였는데 Refresh Token을 추가하여 작업, OAuth 공부 4. WebSocket의 Id, Password를 ..
[잡담] 스타트업 퇴사 올해 1월, 사람인에서 우연치않게 좋은 조건으로 들어왔던 스타트업. 좀 더 공부를 하려고 했던 필자에게 좋은 기회여서 2월부터 근무하기 시작했고 첫 프로젝트로 Spring Boot + React 를 이용한 웹 페이지 제작과 WebSocket을 하며 진행했습니다. 거의 프로젝트가 끝나가는 무렵, 해당 대표님에게 경영 악화로 인한 퇴사 통보를 받고 현재 재취직을 진행하고자 다시 블로그 및 GitHub를 통한 기본기 쌓기를 진행하고자 합니다. 다시금 제 공부 블로그에 오신 분들에게 [반갑습니다.]
[잡담] 스타트업 취업...! 계속된 코테 떨어짐 + 서류 탈락으로 한 번 이력서를 어디든지 간에 공개를 했었습니다. 뭐 오는 회사마다 생각한 그대로 오고 있고 했었기에 계속 공부하던 중에 스타트업에서 이직 제안을 받아드리고 면접을 본 후 회사에서 긍정적으로 받아드려 합격하게 되었습니다... 회사 자체에서는 스프링을 사용하지 않으나 이번에 올린 스프링 부트 프로젝트는 끝내고 싶은 마음이기에 예상한 기간보다 늦을 지도 모르지만 계속 올려보도록 하겠습니다.
[스프링부트 게시판] 17. Spring Security 이번 게시글에서는 로그인 기능을 스프링 시큐리티 라이브러리를 사용하여 수정하도록 하겠습니다. 상세한 내용은 공식 홈페이지 Docs와 아래 블로그 링크를 참고하시면 됩니다. Spring Security :: Spring Security If you are ready to start securing an application see the Getting Started sections for servlet and reactive. These sections will walk you through creating your first Spring Security applications. If you want to understand how Spring Security works, you can docs.sprin..
[스프링부트 게시판] 16. 로그인 기능 구현 이번 게시글에서는 로그인 기능 구현에 대해 설명드리겠습니다. 이전에 만들었던 loginForm.html 을 사용하도록 하겠습니다. [loginForm.html] Username: Password: Remember me Login joinForm.html처럼 form의 action 속성을 지우고 button의 type 속성을 button으로 변경, id 속성으로 'loginBtn'을 추가합니다. 이전 join.js처럼 이번엔 login.js를 생성하도록 하겠습니다. login.js를 불러오기 위해 UserController에서 addScript에 login을 집어넣어 작동하는지 확인합니다. 정상적으로 login.js를 불러오는 것을 확인할 수 있습니다. [login.js] window.addEventLis..