[개발] 기록/기록(8)
-
2022년 프로젝트 회고
관리를 거의하지 않는 티스토리이지만, 일기 겸 해서 2022년을 회고하며 올해는 목표를 얼마나 달성했는지 살펴보려고 합니다. 평상시에 거의 이런 짓을 하지 않지만, 어느 순간 개인들한테도 연말 행사처럼 이런 내용을 정리할 수 있는 기회가 있으면 좋겠다라는 생각을 했거든요. 아무튼, 저는 매년 1월 첫째쯤해서 올해의 목표같은 것을 설정합니다. 이렇게 들으면 거창하지만 아래 그림을 보면 얼마나 볼품 없는지 아실겁니다. 돌이켜보니 그래도 달성률이 65%는 되는군요. (개발 서적은 7/10...!) 독립은 어떻게 했다치고! 일단 읽은 책부터 정리해볼게요. 올해 읽은 개발 서적 도메인 주도 설계 https://kok202.tistory.com/342 테스트 주도 개발로 배우는 객체 지향 설계와 실천 https:/..
2022.12.25 -
테코톡 정리
유투브에서 재미있는 채널을 발견해서 정리합니다. Proxy Proxy 서버 대신 처리하는 서버, 클라이언트와 서버 사이에 있는 중계 서버, 캐시 / 보안 / 트래픽 분산의 이점이 있음 Forward proxy 일반적으로 말하는 proxy 클라이언트 - 포워드 프록시 - 인터넷 - 서버에 위치 캐싱에 이점이 있다. 서버에 포워드 프록시가 요청한 것 처럼 요청이 가기 때문에 익명성에 이점이 있다. ex. 프록시 서버를 설정한다. ex. 해커가 IP 추적 방지를 위해 프록시를 썼다. ex. 외국에서 접속하는 것 처럼 테스트하기 위해 프록시 서버를 써라 ex. 인터넷 서버 속도를 높이기 위해 프록시 서버 설정을 해줘라 Reverse proxy 클라이언트 - 인터넷 - 리버스 프록시 - 서버에 위치 포워드 프록시..
2020.10.13 -
사설 SSL 인증서 만들기
쿠버네티스 강의를 듣던도중 괜찮은 내용을 발견해서 기록합니다. [more] openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=www.https.com/O=www.https.com" 사설 인증서이기 때문에 아래와 같은 페이지가 나오게된다.
2020.03.11 -
스프링 기타 지식
@Qualifier @Bean 를 사용할 때 쓰는 @Qualifier 는 빈의 이름을 지정하는 동작이며, @Autowired 를 사용할 때 쓰는 @Qualifier 는 주입받으려는 객체의 타입이 애매모호할 때 특정 객체를 지정하는 동작이다. @Autowired 필수 여부 의존 주입을 반드시 받을 필요가 없는 경우 다음과 같은 3개의 선택지가 있다. 1. @Autowired(required=true) 2. @Autowired 객체 타입이 Optional 인경우 ex. Optional 3. setter 주입 매소드의 매개변수에 @Nullable 을 같이 명시할 경우 빈의 초기화 과정 1. 기본 생성자 호출 2. setter 호출 ... @Bean @Qualifier("yourComponentA") publi..
2020.02.15 -
파이어스토어 + 리액트
파이어 스토어 파이어 스토어에 아이디 지정해서 도큐먼트 생성 firestore.collection(“TODO”).doc(”myCustomId”).set({ … }); 아이디 자동 생성해서 도큐먼트 생성 firestore.collection(“TODO”).add({ … }); 파이어 스토어에서 문서가 없는 콜렉션은 삭제가된다. 파이어 스토어는 기본적으로 아이디에 의해 정렬된다. 배포 리액트를 이용해서 SPA 로 빌드하고 이를 파이어베이스로 배포하기 npm build npm install -g firebase-tools firebase login firebase init React 의 빌드 결과로 SPA 파일이 build 폴더 밑에 생긴다. 따라서 firebase cli 로 배포하려는 폴더를 지정할 때 bu..
2020.02.09 -
자바스크립트 기초
Form에서 데이터를 전달하면 기본적으로 페이지가 리로딩된다. 클래스안의 메소드는 일반적으로 바인딩을 해줘야 가능하지만 아래와 같이 사용하면 자동 바인딩을 해준다.deleteHandler() { // 바인딩이 필요하다. ... }deleteHandler = () => { // 바인딩할 필요가 없다. ... }
2020.02.09