일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 고르드
- promise메서드
- 화이트 해커를 위한 웹 해킹의 기술
- 예쁜술집 예술
- graphql
- useMutation error
- apollo react native
- graphql with reactnative
- graphql 400
- promise처리
- 신촌 소문난집
- 도그존
- 홍대 토라비
- 홍대 예술
- 잠실새내
- 앙버터마카롱
- 지보싶 신촌점
- graphql with RN
- 비동기배열처리방법
- 토라비
- graphql react native
- graphql mutation error
- 홍대 카페 장쌤
- typescript
- 화이트해커를 위한 웹 해킹의 기술
- 금별맥주
- 비동기배열
- 잠실새내 도그존
- apolloclient
- 운정 소바동
- Today
- Total
목록분류 전체보기 (150)
yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆
Today I Learned : request에 대한 응답, http response를 하기 위해 Response DTO를 생성하고 재사용할 수 있었다. 배경 원래는 ResponseEntity의 body에 값을 넣어주는 형태로 응답을 했다. 그치만 body에서 필요한 데이터만 보내준다는 점이 마음에 들지 않았다. 응답에서 내용만 들어가는게 아니라 status, code, message 등의 정보가 같이 들어갔으면 했고, 또 해당 정보들은 성공했을때, 실패했을때, 등등으로 나뉘어질 수 있었으면 좋겠다고 생각을 해서 ResponseDTO 를 새로 생성, 커스텀하기로 했다. 그치만 난 java 문법에 아직 익숙하지 않았고....... 열심히 사례가 없는지 구글링하며 엄청난 포스팅을 발견했다. Contents ..
Background 우선 spring에서 아키텍처를 어떻게 가져가야할 지 잘 모르겠어서 잘 정리된 포스팅을 참조해서 진행하고 있었다. 그치만 문제는 포스팅은 정말 간단한 예제였고, 내가 원하는 모든 기능이 나타나있지 않다는 점! (항상 그렇지만) DB 구조는 다음과 같다. 여기서 다룰거는 셀프 참조 혹은 관계에 관한 에러다. Issue / Error tag - type 관계에서 tag를 추가하고 싶은데, DTO 구성을 어떻게 해야하는지... tag 라는 테이블이 tag_id가 pk고 셀프 참조 해서 parent_id 필드가 있음 tag 테이블이랑 type 테이블이랑 연결되어잇는데(?) 여러 tag가 하나의 type을 가질 수 있음! type > tag 이런식이어서 JPA로 tag가 N이고 type이 1이..
JAVA JDK 설치 (home brew) #latest stable version 설치 brew install openjdk #심볼릭 링크를 추가.. sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk 설치하고 다음 명령어를 수행한다. brew info openjdk /usr/libexec/java_home -V 결과가 요로코롬 나온다. (최신 버전 말고 17~18 쯤 설치하려다가 포기하고 여러번 깔았더니 java가 3개...! 그치만 보통은 1개 나올 듯?) 만약 자바 버전을 여러개 깔고, 원하는 버전 별로 자바를 골라서 쓰고 싶다면 java -version 했을 때, 내..
배경 토이 프로젝트를 진행하게 됐다. 인원은 나 혼자. 그러니까 혼자 기획, 디자인, 개발 다 해야한다는 뜻. 그래서 백엔드 개발 스택을 좀 고민하게 됐다. DB 와 프레임워크나 라이브러리 등등.. 우선 프로젝트 목적은 다음과 같다. 1. 나의 학습!! 새로운거 배우고, 해봤던건 더 잘 쓸 수 있는 방법 찾아보기 2. 사용자(우리 언니)가 원하는 서비스를 제공하기 학습이 우선이지만 그래도 2번에 의해서 프로젝트를 완성 해야한다. contents DB DB 선택지는 우선 MySQL, MariaDB 이다. RDB를 선택한 이유는 최근에 RDB를 제대로 해보고 싶다는 생각이 들었고, 무엇보다 프로젝트가 가계부라서 재무에 가깝지 않나?! 그렇다면 RDB가 맞지 않나!! 라고 생각해서였다. MySQL 은 짧게나마..
배경 진행하려는 프로젝트는 내가 처음으로 풀스택으로 진행하려하는 프로젝트다. 그래서 기획, 디자인, DB, 개발 다 해야한다는 뜻. 근데 사실 백엔드를 하면서 DB를 제대로 설계해본 경험이 없다. CEOS로 활동하면서 그래도 주워들은게 있어서 다행... DB 설계할 때는 기획 문서와 와이어프레임으로 틀을 좀 잡아놓고, ERD(Entity Relationship Diagram) 설계를 한다고 한다. 그래서 처음으로 프로젝트 진행 전에 ERD를 설계해보는 시간을 가졌다. contents 우선 사용한 툴은 ERD cloud (https://www.erdcloud.com/) 였다. (유명하고 무료라고 해서 써봤는데 솔직히 좀 구린거같음) 어제 오늘 열심히 고민하고 와이어프레임도 만들었다. (구려서 아직 공개 불..
배경 사실 DB 설계를 제대로 해본 경험이 없다. 그래서 인턴을 할 때도 이렇게 구성해도 괜찮은지에 대한 피드백은 받지 못했었다. 최근에 다시 개발 감을 익히고 뭔가 만들고 싶다는 생각이 들어서 여러 프로젝트를 구상해봤다. 그 중에서 하나를 골랐는데, 해당 프로젝트 할 때 계층형으로 태그를 저장 및 사용하는 기능이 필요하다고 생각했다. 근데 앞서 말했듯 난 DB 설계를 제대로 해본 경험이 없어서 열심히 찾아봤다. 프로젝트에서 태그의 의미와 용도 - 태그는 정보를 추가하기 위한 수단으로 사용하고, 사용자가 임의로 관리가 쉬워야한다. (추가, 수정, 삭제) - 카테고리도 태그로 나타낼지에 대해서도 고민을 하고 있다. (카테고리에 대한 정의와 정확한 이름이 필요하다고 느꼈다. 방금) - 계층형 구조에서 하나를..
변수&상수 var i, j, k int = 1, 2, 3 func main(){ i:=1 j:=2 } 기본적으로 변수,상수를 나타내는 키워드(var/const) 변수/상수 명 type 이렇게 3가지를 명시하는게 원칙 그치만 첨에 초기화할 때 얘도 파이썬처럼 인식하긴 함 const는 웬만하면 타입생략하고 사용할 수 있음, 초기화 필요 const ( Visa = "Visa" Master = "MasterCard" Amex = "American Express" ) const ( Apple = iota // 0 Grape // 1 Orange // 2 ) //Apple=0, Grape=1, Orange=2 //status 표현할 때 좋을 것 같음 const는 여러개로 묶어서 저장할 수 있음 Data type 종..
Today I Learned : python locust를 이용한 부하 테스트를 진행하는 방법을 알아보았다. 배경 기존에 팀에서 웹 서버 개발에 사용하던 프레임워크는 장고와 플라스크였고 특히 flask 의 경우에는 내장 웹서버로 인해 한번에 한사람만 접근하기에 적합했고 이를 해결하기 위해 그동안 nginx + gunicorn으로 배포를 해왔다. 그런데 내가 맡은 프로젝트에서 golang 을 이용해서 서버를 개발했고 이를 배포하는 단계에서 golang 은 flask 처럼 gunicorn 과 nginx를 이용해서 배포하는 과정이 필수인지 알고 싶었다. 기존에는 gunicorn에서 workers를 추가하여 마치 n개의 서버가 하나의 서버처럼 돌아가도록 배포했다면 (추정) golang 서버도 worker를 추가..
Today I Learned : 내가 짠 해결 코드에서 시간복잡도 계산하고 예상 소요시간 예측하기 배경 / 이슈 5월부터 지금까지 주 3회 2문제씩 한 주에 약 6문제씩 알고리즘 문제를 풀어왔다. 지금까지는 백준, 코드트리(3*), 프로그래머스 등 다양한 플랫폼에서 알고리즘 준비를 해왔는데, 얼마 전에 현대오토에버 코딩테스트 준비로 소프티어에서 문제를 풀면서 준비했다. 그동안은 문제를 해결할 수 있는 알고리즘을 찾고 코드를 짜는 것에 초점을 맞췄다면 소프티어에서 문제를 풀면서는 다른 이슈로 인해 문제를 많이 틀렸다. 결과 값이 아예 오답인 것이 아니라 시간초과로 인해 문제를 많이 틀렸다. 물론 백준에서도 시간초과가 뜨는 경우가 많았지만, 그때는 아예 다른 알고리즘을 사용해야 풀리는 문제여서 시간초과에 대..
Today I Learned : golang 에서 log 패키지를 이용해서 logger를 만들고 custom logger 도 생성하기 배경 golang으로 프로젝트 진행하면서 로깅을 추가해야했음, 기왕 추가하는거 내가 원하는 정보만 담아서 (디버깅하기 좋은 정보) 로그를 남기고 싶었음 Contents 기본 logger type Logger struct{ mu sync.Mutex prefix string flag int out io.Writer buf []byte } log 패키지에서 기본으로 제공하는 Logger 타입 log.Println("logging") //2020/12/30 10:27:11 Logging 으로 출력됨 log.SetFlag(0) log.Println("logging") // 날짜 시..