본문 바로가기
반응형

분류 전체보기155

SpringBoot에서 JSP사용 시 설정 springboot starter로 프로젝트 생성 때마다 jsp 설정 어떻게 했었는지 기억하기 위해 메모 1. 폴더 생성 src/main/webapp/webapp/WEB-INF/views/ 폴더 생성 2. application.properties 파일에 해당 내용 추가 spring.mvc.view.prefix=/WEB-INF/views/ spring.mvc.view.suffix=.jsp 3.pom.xml 에 해당 내용 추가 org.apache.tomcat.embed tomcat-embed-jasper javax.servlet javax.servlet-api 3.0.1 javax.servlet.jsp jsp-api 2.1 javax.servlet jstl 1.2 4. 윈도우 기준 configurations.. 2022. 11. 10.
브랜드 이름 검색어 자동완성 with Trie 인터넷을 돌아다니다 글을 하나 보게 됐다. 카테고리 자동완성 개발기 카테고리 자동완성 개발기 안녕하세요. 29CM 발견스쿼드에서 백엔드개발을 담당하고 있는 이동권입니다. 검색페이지에서 카테고리 자동완성 기능을 개발한 경험을 공유합니다. medium.com 어느 쇼핑몰의 검색어 자동완성에 대한 글을 봤다. 간단히 요약하자면, Trie 자료구조를 이용해 단어를 저장하고, 검색 시 조건에 맞는 단어를 보여 준다는 글이다. 다 읽고, ‘오 이정도면 한번 구현해볼 만 한데?’ 싶어서 작업에 들어갔다. 대략 순서는 이렇다. 데이터 수집 Trie 자료구조에 저장 결과를 반환해줄 api , html 페이지 구성 글을 읽은 것과 코딩을 시작한건 시간차가 좀 있다. 그래서 그런지 저 기술 블로그가 ‘무신사’라고 착각해 데.. 2022. 11. 7.
벡터 곱셉 (inner, cross, outer product) with Go 벡터의 내적 (inner product) \( a \cdot b \) 로 적는다. 벡터의 크기(norm) → ||[3,4]|| → 5 = \( \sqrt{3^2+4^2} \) → ||a|| → \( \sqrt{a_0^2+a_1^2...+a_n^2} \) 벡터의 크기를 곱한뒤 사이각\( (\theta) \)의 \( \cos \) 한 값을 곱해준다. \( ||a|| * ||b|| * cos(\theta) \) 그래서 왜 내적이 저런 공식으로 나온 건지 → 벡터 b의 입장에서 a가 움직인 거리는 ||a|| * \( \cos(\theta) \) 만큼 움직이고 b 세계의 단위인 ||b||를 곱해준 값 → 벡터에는 방향이 있으므로, 방향이 일치하는 만큼만 곱한다. -> 직교하면 \( cos(\theta) = 0\).. 2022. 10. 22.
VScode 뭐가 자꾸 안돼서 세팅 사용하다 보니 불편한 점이 있었는데, 나중에 내가 찾아보려고 이렇게 적는다. (차후 추가될 예정!) 코드 모두 접기, 펴기 이번에 js 파일 함수 별로 주석 처리하려고 보니 인텔리제이(community버전)는 /** */으로 지원을 안 하길래, js 폴더만 따로 VScode로 열게 됐다. 그런데 인텔리제이에서는 코드 블록들을 괄호 기준으로 ctrl+shift+"+"(모두 펴기) / ctrl+shift+"-" (모두 접기) 기능이 있다. 그래서 vscode도 분명 있으리라 생각하고 찾아보니 [vscode] 코드 접기 펼치기 단축키 [vscode] 코드 접기 펼치기 단축키 Ctrl + Shift + [ : 현재 영역 접시 Ctrl + Shift + ] : 현재 영역 펼치기 Ctrl + K + 0(숫자) : .. 2022. 10. 20.
VScode 에서 Go 한글 print가 안되서 한 삽질 적어놓기 요즘 go에 흥미가 생겨서 go 어떤 강의를 보는 중인데 해당 강의에서 페이지 긁어오는 예제를 돌리는데 문제가 발생했다. 예시로 보여주는 코드가 에러가 난 것! (indeed.com에서 뭐 정보 긁어오는 것) 댓글에 보니, 각자 알아서 문제가 난 것에 대해 구글링 해서 푸세요 라고 적혀있었고... 강사는 그 댓글에 좋아요 찍은 거 보니 내가 스스로 공부해야겠군! 해서 나는 네이버에서 기사를 가져오자! 하고 코드를 조금 바꿨었다. 페이지를 긁는 것 까진 좋으나… 뭐 때문인지 VScode 상에서는 가져온 한글이 죄다 깨져서 나왔다 구글에서 찾은 방법으로 하나씩 적용해본 후기를 적어보자. VScode 실행 창의 인코딩을 utf-8에서 euc-kr로 바꿔보자 아래의 인코딩 (UTF-8)에서 EUC-KR로 바꿔준.. 2022. 10. 12.
java HashMap source code 살펴보기 source code의 주석 살펴보기 더보기 (파파고로 번역을 돌렸다!) 1번째 주석 -> HashTable 구현체 고, key값으로 null 지원한댄다.(순서는 보장 x) Hash table based implementation of the " Map " interface. This implementation provides all of the optional map operations, and permits " null " values and the " null " key. (The " HashMap " class is roughly equivalent to " Hashtable " , except that it is unsynchronized and permits nulls.) This class .. 2022. 10. 11.
circular-queue 자료구조와 문제풀이 [leetcode] 진짜 백만 년에 알고리즘 문제풀이에 대해서 글을 쓴다. 그동안 잘 안 썼는데, 문제 푸는 것보다 글 쓰는 게 더 어렵다고 느껴졌기 때문이다. 그렇지만 이번에 쓰는 이유는 내가 잘 안 쓰는 자료구조이기도 하고, 학교 다닐땐 알고리즘 코딩 테스트에서 못 풀었었는데 지금은 푼 기념으로 정리하고자 글을 적는다. 이번에 쓸 자료구조는 queue의 변형인 circular-queue 다. 우선 queue 란, stack 자료구조와 다르게 first-in first-out (FIFO)의 입출 로직을 갖는 자료구조를 얘기한다. 여기에 빈 배열이 있다고 치자. [ ] 차례로 1,2,3 의 숫자를 집어넣는다 치면 (enqueue라고 한다.) [1,2,3]으로 들어가고, 꺼낼 땐 (dequeue라고 한다.) 1 ← [2, 3.. 2022. 9. 28.
java ArrayList source code 살펴보기 궁금하기도 하고 평소에 자주 쓰는 자바의 자료구조 클래스인 ArrayList를 한번 살펴보고자 한다. (사실 할일이 없어서가 맞다. 월급 루팡~) 소스코드는 여기를 참고 했다. 자바의 구현 구조를 보면 이렇다고 한다. 평소에도 이런 식으로 초기화를 한 뒤, 사용하곤 했다. 이제 보니 List는 interface, ArrayList는 실제 구현체 class 인걸 확인할 수 있다. List string_list = new ArrayList(); 자주 사용하는 함수는 나 말고도 구글링 해보면 천지삐까리로 많이 나오니 검색된 기능들이 실제로 어떻게 구현되어 있는지 확인해보자. Constructor 위에 적은 예시처럼 구현 class를 생성하는 생성자 코드를 살펴보자 //오브젝트 타입의 배열 private sta.. 2022. 9. 20.
멀티컬럼 PK는 왜? 어느 날, 친구에게 이런 카톡을 받았다. 이런 상황에서는 학생_수업 테이블에는 PK(primary key)를 만들어야 하는가에 대한 질문이었다. 나는 항상 테이블을 만들 때 PK를 기본으로 만들고 시작했었는데 (생각 없이) 생각해보자니 저 상황일 때도 만들어야 하는가? 에 대한 고찰 없이 무지성으로 만들었었다. 그럼 질문이 생긴다. PK는 모든 테이블에 꼭 필요한가? 학생-수업 테이블에서 FK 두 개를 묶어서 PK로 만들어 사용해도 되는가? PK를 구글링 해보면 잘 정리된 블로그가 많으니 해당 블로그를 통해 자세히 살펴보면 좋을 것이다. 위키 백과의 PK에 대한 설명 부분을 가져왔다. 테이블에서 정보 값(각 행)을 식별하기 위해 만들어진 null값이 허용되지 않고 중복이 허용되지 않는 키라고 볼 수 있다.. 2022. 8. 6.
반응형