반응형

전체 글 252

[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

[Clean Architecture] 1달1권, 두번째 책 후기

두번째 책을 마치고 두번째 책은 클린 아키텍처, 클린 코드에 뒤이어서 '클린'이란 무엇일까라는 의문점을 풀기 위해 읽었다. 다 읽은 지는 약 이주가 되었지만 뒤늦게 후기를 남긴다. 결론부터 말하자면 클린 코드에 비해 클린 아키텍처는 더 포괄적이었다. 클린 코드는 포괄적이었지만 예시와 함께 말하고자 하는 바를 명확히 알 수 있었는데, 클린 아키텍처는 조금 어려웠다. 내가 아키텍처적인 지식이 부족한 것일까? 다시 한 번 읽어봐야 하는 것은 분명하다. 아키텍처 지식이 부족한 상태에서 읽은 책은 난해하고 어려웠을 뿐이다. 그래서 별점을 말하자만 2/5 이다. 클린 아키텍처는 설계 원칙에 대해 말한다. 클린 아키텍처의 기본, 설계원칙. 회사를 다니면서 설계원칙에 대해 깊게 생각할 수 없다. 설계 단계는 대부분 위..

IT/책 2022.01.07

[Clean Architecture] 6부, 세부사항

Clean Architecture 6부, 세부사항 30장, 데이터베이스는 세부사항이다 아키텍처 관점에서 데이터베이스는 엔티티가 아님 > 데이터베이스는 소프트웨어일 뿐 데이터베이스는 결국 기술일 뿐, 최하위 유틸리티 함수를 제외하고는 데이터베이스에 대해서 몰라야 함 > 데이터베이스가 테이블 형태라는 것을 알게 되면, 데이터 구조에 결합하게 됨 > 디스크가 어떤 형식인지조차 인식하면 안됨 > 성능은 완전히 캡슐화하여 저수준의 데이터 메커니즘 단에서 다뤄야 함 31장, 웹은 세부사항이다 웹은 GUI이다. GUI는 계속 바뀐다. > 그러나 웹과 장치독립성은 어쩌면 비현실 적임 UI는 애플리케이션 사이의 추상화가 가능 - 업무 로직은 다수의 유스케이스로 구성 - 각 유스케이스는 사용 자를대신해서 일부함수를 수행 ..

IT/책 2021.12.26

12.01 이탈리아 6일차, 콜로세움, 포로 로마노

ⓒ 2021. 꿀물 all rights reserved. 오랜만에 쓰는 여행 일기, 빨리 써야지 생각해도 회사다니고 뭐하고 하면서 점점 미뤄졌다. 이제는 벌써 4년전이 되어버린 유럽여행, 정말 그립고 또 가고싶다. 콜로세움과 포로 로마노 로마는 정말 볼게 많다. 2박 3일 있었지만 너무 짧은 시간이었다. 그래서 아침 일찍 일어나서 이것저것 구경해야 했는데, 어제 저녁에 너무 돌아다니고 피곤했던 탓인지 늦잠을 자버렸다. 일어나니 10시 10분이었다. 심지어 10시까지 방을 비워야 했는데도 말이다. (근데 왜 방을 비워야 했는지, 어떤 숙소로 향한건지 기억이 나지 않는다... 다른 곳에 있었나?) 급하게 짐을 싸고 숙소로 향한 뒤, 콜로세움과 포로 로마노가 있는 곳으로 향했다. 로마는 그냥 로마 그 자체가 ..

[Clean Architecture] 5부, 아키텍처 (2)

클린 아키텍처 22장, 클린 아키텍처 육각형 아키텍처, DCI, BCE 등 다양한 아키텍처들은 모두 관심사 분리라는 목표를 가지고 있음 관심사 분리 - 프레임워크 독립성: 아키텍처는 프레임워크 존재 여부에 의존하지 않음 - 테스트 용이성: 업무 규칙은 UI, 데이터베이스, 웹서버 등의 외부 요인이 없어도 테스트 가능 - UI 독립성: 시스템의 나머지 부분을 변경하지 않아도 UI 쉽게 변경 - 데이터베이스 독립성: 오라클을 몽고DB, 빅테이블 등으로 변경 가능, 업무 규칙은 데이터베이스에 결합되지 않음 - 모든 외부 에이전시에 대한 독립성: 실제 업무 규칙은 외부 세계와의 인터페이스에 대해 전혀 알지 못함 의존성 규칙 각각의 동심원은 소프트웨어에서 서로 다른 영역을 표현함 > 안으로 들어갈 수록 고수준의 ..

IT/책 2021.12.19

[Error] git의 다양한 에러들

Gitbash 1. 로그인 오류 remote: HTTP Basic: Access denied - git bash에서 처음 설정할 때, 계정의 email(username) / 비밀번호를 잘못 설정 한 것 해결방법 https://goodteacher.tistory.com/88 git config --system --unset credential.helper 위 명령어를 입력하면 email(username)과 비밀번호를 입력할 수 있는 창이 나타난다. 그러나, 지속적으로 로그인 정보를 묻기 때문에 한 가지 설정을 더 입력해야 한다. git config credential.helper store 명령어 입력 후, 다시 한 번 로그인을 하면 더 이상 묻지 않는다. 2. 충돌 오류 your local changes..

[Clean Architecture] 5부, 아키텍처(1)

Clean Architecture 5부, 아키텍처 15장, 아키텍처란 - 아키텍처는 코드와 동떨어져서는 안됨 - 시스템을 구축했던 사람들이 만들어낸 시스템의 형태 > 소프트웨어 시스템이 쉽게 개발, 배포, 운영, 유지보수가 되어야 함 > 선택지를 가능한 많이, 오래 남겨야 한다. - 시스템 아키텍처는 시스템의 동작 여부와 관련이 없음 why? 형편없는 아키텍처들도 잘 동작하기 때문 따라서, 아키텍처는 시스템의 수명과 관련된 비용을 최소화하고 프로그래머의 생산성을 최대화 해야한다. 개발 시스템 아키텍처는 개발팀이 시스템을 쉽게 개발할 수 있도록 뒷받침해야한다. 배포 배포 비용이 높을수록 시스템의 유용성은 떨어짐 > 시스템을 단 한번에 쉽게 배포할 수 있도록 만들어야 함 마이크로 서비스 아키텍처 - 컴포넌트..

IT/책 2021.12.12
반응형