분류 전체보기 248

[Vue.js] 백엔드/프론트엔드 연결하기 with axios

앞선 글을 통해 springboot의 port로 8081로 바꿔주었다. 2022.01.24 - [PROJECT/SpringWebToturial] - [Spring Boot] 열리는 Port 변경하기 따라서 프론트엔드는 8080, 백엔드는 8081의 port를 가지고 있다. 1. proxy 설정 proxy 설정을 해주지 않으면 8080 포트가 base가 되고, cors 문제가 생긴다. 이후 MSA를 할 때, 추가적인 설정이 필요하겠지만 일단 base port를 8081로 설정한다. 📁 vue.config.js module.exports = { devServer: { proxy: { '/':{ target: "http://localhost:8081", changeOrigin: true, } } }, ... ..

PROJECT 2022.02.02

[SpringBoot] Swagger v2.6.2 추가하기 with gradle

조금 고생이 많았던 Springboot에 Swagger 추가하기 무턱대고 아무 블로그를 들어가서 Swagger를 추가하면 왜 안되지?? 현상을 겪을 수 있다. 그래서 사전에 반드시 체크하고 들어가야 하는 항목이 있다. 1. 어떤 버전의 SpringBoot를 사용하는 지 🍀 해당 글은 SpringBoot 2.6.3 버전을 사용했다. 2. 어떤 버전의 Swagger를 추가할 것인지 🍀 해당 글은 Swagger 2.6.2 버전을 사용했다. SpringBoot 2.6.3은 Swager 3.0.0 ~ 이후 버전과 호환이 되지 않았다. 이 두 개를 반드시 체크해야 한다. 추가적으로 SwaggerConfig도 확인하면 좋다. 1. Gradle에 Swaager 추가하기 📁 build.gradle dependencies..

PROJECT 2022.01.31

[코딩인터뷰] 자료구조 - 배열과 문자열 해법

코딩인터뷰 자료구조 - 배열과 문자열 해법 1. 문자열이 주어졌을 때, 같은 문자열에 같은 문자가 중복되어 등장하는 지 확인하는 알고리즘 💡 아스키코드 문자열인지 유니코드 문자열인지 확인: 유니코드 문자열인 경우 저장 공간이 늘어날 수 있음 해법1) 아스키코드 문자열일 경우, 길이가 256개라고 가정한 후 문자열 순회 boolean[] char_set = new boolean[128]; ... if(char_set[val]) return false; ... - 이미 char_set[val]가 true이면 문자열이 있다고 가정 - 시간복잡도: O(n), 공간복잡도: O(1) 해법2) 비트 벡터 - 필요 공간은 1/8로 줄일 수 있음 해법3) 문자열 내 각 문자를 다른 모든 문자와 비교 - 시간복잡도: O(..

IT/책 2022.01.30

[Vue.js] 최신 Typescript를 사용할 경우, 발생하는 에러

Property '변수명' has no initializer and is not definitely assigned in the constructor. Vue.js를 인프런 강의를 보면서 따라한 후, 실행하면서 아래 코드에서 위 에러가 발생했다. 해결 방법 https://stackoverflow.com/questions/49699067/property-has-no-initializer-and-is-not-definitely-assigned-in-the-construc Property '...' has no initializer and is not definitely assigned in the constructor in my Angular app i have a component: import { Mak..

[SpringBoot] Spring Initializr로 스프링부트 실행하기

intelliJ와 Spring Initializr를 이용하여 Mac에서 스프링부트를 실행했다. vscode로 springboot를 실행할 수 있지만, springboot가 꽤나 무겁기 때문에 그냥 기능 많은 intelliJ에 익숙해질 겸 intelliJ를 하기로 했다. 길게는 작성하지 않고, 내가 하면서 했던 실수들만 간단하게 올릴 예정 Spring Initalizr https://start.spring.io/ 스프링부트로 처음 프로젝트를 시작할 때 가장 쉽고 익숙하게 사용하는 사이트 일 것이다. 설정 Gradle, Java, 2.6.3 버전으로 했다. Maven과 Gradle 중, Gradle을 선택한 이유는 좀 더 최신이 gradle이기 때문. 해당 프로젝트는 항상 최신 기능을 익히는 것을 목표로 진..

PROJECT 2022.01.23

[Vue.js] Vue.js 설치 (feat. MacOS)

맥북에 Vue.js를 설치할 때 사용한 명령어 요약 brew install node brew install yarn --ignore-dependencies yarn global add @vue/cli vue create [name] 새로운 프로젝트 시작 기존에 React로 홈페이지를 만들던 것은 그냥 그대로 두기로 했다. 도저히 혼자서는 하지 못해서, 새로운 멤버들과 함께 하고 싶은 것을 마음껏 하는 프로젝트를 시작해보려고 한다. 이번에는 다들 SSAFY를 하면서 익숙한 Vue.js를 프론트로 잡았다. 맥북을 드디어 개발용으로 사용하게 되는 첫 시작이다. 아무것도 깔려있지 않은 맥북에 Yarn 설치 > 왜 npm이 아닌 yarn 인가? https://developer0809.tistory.com/128 ..

PROJECT 2022.01.17

[코딩 인터뷰] 자료 구조

코딩 인터뷰 완전 분석 자료 구조 해시테이블 - 해시테이블은 효율적인 탐색을 위해 Key를 Value에 대응시킴 해시테이블 구현 방법 1. 키와 해시 코드 계산 > 키의 개수: 무한대, 해시 코드: int, long > 서로 다른 키가 같은 해시 코드를 가리킬 수 있음 2. hash(key) % array_length 방식을 이용해 배열의 인덱스를 구함 3. 각 배열의 인덱스는 키와 값으로 이루어진 연결리스트 존재 해당 방법 사용 시, 주어진 키로 해시 코드를 계산하여 인덱스 계산 > 충돌이 자주 발생할 경우, 최악의 수행 시간은 O(N)이 됨 > 일반적으로는 O(1) > 이진 트리로 구현 시, 탐색 시간: O(logN) ArrayList - 특정 언어에서는 크기를 자동으로 조절 가능 (동적) - O(1..

IT/책 2022.01.16

2021년, 회고록

한 해가 가기 전에 쓰려고 했던 21년 회고록이었건만 어느새 정신 없이 달려 22년이 되었다. 20년은 싸피와 취준으로 바쁜 나날들이었다면, 21년은 이직과 적응으로 뛰었던 한 해다. 첫번째 회사, 그리고 이직 20년 1월부터 9월까지 싸피를 하다가 2학기 첫번째 플젝을마치고 바로 클라우드 회사로 취업을 했다. 그러나 처음 지원했던 개발 직무가 아니었고, 연봉 문제, 회사의 미래 등으로 인해 바로 이직 준비를 했다. 그러나 결과가 좋지 않아서, 조금씩 길어지다가 거의 1년을 채울 때 쯤, 처음 목표는 아니었지만 대기업으로 이직을 할 수 있었다. 이직 준비를 위해서 주 4일 스터디를 했다. 자소서는 쌓아온게 많아서 괜찮았지만 알고리즘에 자신이 없었기 때문이다. 알고리즘 통과가 목표였으며 실제로 알고리즘은..

ETC/잡담 2022.01.08