목록웹 (104)
개발일기장
진짜 머리 리셋되서 아무것도 모르겠는데 뭐부터 다시 공부해야할지도 모르겠고 앞날이 깜깜한데 https://github.com/tlqckd0/web-crawling GitHub - tlqckd0/web-crawling: web-crawling & analysis web-crawling & analysis. Contribute to tlqckd0/web-crawling development by creating an account on GitHub. github.com 이거 뭐 자꾸 생각만 하는것보단 고쳐보면서 궁극적으로 생각했던거 까지 구현해보자. 그냥 책펴고 공부하는 것 보다는 이게 나을거같음 일하는거 월급나오니깐 AWS에 DB서버 하나 받을..까? 아니면 NAS구축해서 DB하나 만들어서 할까 ..?
로그 째려보다가 눈깔 빠질거같은데 대부분의 로그가 flag에 대한 검사.. 그 부분만 지우고 다른부분 정리만 하면 뭔가 편해지지 않을까 1. 로그 종류 일단 기본적으로 이게 있다고 치자(현실은 좀더 복잡하던데 여기 쓸수가 없네) const save_tag = ['S', 'Z', 'I']; // -> 요거는 확인용 const del_tag = ['Q'];// -> 필요없는 로그 const check_tag = ['A', 'B', 'C'];// -> 저장해야함 A,B,C중에 내용에 특정 내용이 있으면 delFlag체크를 하고 삭제하자 2. 코드(refactoring 계속 해줘야지) const fs = require('fs'); const readline = require('readline'); functio..
이렇게 사는게 맞나
https://tlqckd0.tistory.com/56 express.js 를 class형식으로 실행 Spring boot같은 프레임워크로 웹서버를 만드는 경우에는 이미 틀은 다 만들어져 있어서 기능을 집어넣는다? 라는 표현을 쓰는게 맞는것 같음. Node.js에서는 웹서버 개발을 위한 프레임워크가 많은 tlqckd0.tistory.com 여기 마지막 부분인 아래 코드 부분을 해결하기 위해서 inversify를 사용해봤음. routerList.push(new HelloController(new HelloService(new HelloRepository(new Map)), "/user")); https://inversify.io/ InversifyJS InversifyJS is a lightweight i..
Spring boot같은 프레임워크로 웹서버를 만드는 경우에는 이미 틀은 다 만들어져 있어서 기능을 집어넣는다? 라는 표현을 쓰는게 맞는것 같음. Node.js에서는 웹서버 개발을 위한 프레임워크가 많은데 기본적으로 다들 express.js로 시작하는것 같다. Spring boot와는 다르게 express를 사용하면 레고를 하나씩 쌓고 이어붙이는것 처럼 원하는 기능을 하나씩 더하고, 미들웨어를 추가하는 방식으로 개발을 했던것 같다. 그런데 이거는 어디를 돌아다녀봐도 정해진 틀이 없고 개개인의 스타일이 다 달라서 좀 답답했음. 물론 NestJS같은 프레임워크가 Spring boot처럼 깔끔하고 규격이 있다고 느낄수 있었고, 이거 사용하는 회사들도 점점 늘어나는것 같은 느낌?? (사실은 잘 모름, 뭔가 후원..
1. build implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0' springframework에서 정식으로 해주는게 아니라 버전 입력 필요함. 2. application.properties mybatis.type-aliases-package={매핑되어 나올 Class 위치} # 이렇게 하면 /resources/mapper밑에 있는 모든 xml 파일 읽어서 mapping해줌 mybatis.mapper-locations=classpath:mapper/**/*.xml 3. code @Mapper public interface ItemMapper { void save(Item item); void update(@Param("id..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dtqqqQ/btrDqUBY6pW/TxGnr3KVaasNuBwzpE1A61/img.png)
이전까지 CI/CD하면 뭐 맨날 travis CI같은 곳에서 해라는 책만 봤었음. 지인 회사에서 git action많이 쓴다고 해서 이걸로 쭉 배포까지 해보려는데 아직은 공부중이라 hub에 push까지만. 0. 기본설정 1. 일단 Docker hub들어가서 token받아와서 어딘가에 써두기 -> 까먹으면 안됨 2. github에 등록할 리포지토리가 있어야함 -> React사용했음. 3. Dockerfile도 작성해 둬야함. ▶내가 사용한 도커파일 ( CRA에서 build하고 Nginx로 파일 옮겨서 배포하는 이미지) FROM node:16 as builder WORKDIR /usr/src/app COPY package.json ./ RUN npm install COPY ./ ./ RUN npm run b..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bI06h8/btrDkwGCJrz/k2MMims5RikmJizuTHcKf0/img.png)
일반적으로 jdbc를 사용하여 트랜잭션을 구현하는 방법을 nodejs mysql2를 사용해서 구현하기. mysql2를 사용 함미다. npm i mysql2 0. 일반적으로 transaction를 처리하려면 0) 하나의 connection을 유지한 상태로 1) transaction시작을 명시 2) 비즈니스 로직 처리 3-1)성공시 commit 3-2)실패시 rollback 4) connection 종료 순서를 유지해야함. 1. 상황 회원의 닉네임에 맞는 pk값이 필요할때 1) 이미 닉네임이 저장되어 있는 경우 -> 바로 찾아오기. 2) 닉네임이 저장되어 있지 않은 경우 -> 저장하고 pk값 받아오기 ※ 2의 경우 저장한 result에서 insertID의 값이 반환되는 기능이 이미 있음. 2. 구현 회원테이..