728x90

개발/ETC 68

디자인 패턴 (1)

1. 개념 - 디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 2. 싱글톤 패턴 - 싱글톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 - 하나의 클래스를 기반으로 여러 개의 개별적인 인스턴스를 만들 수 있지만, 그렇게 하지 않고 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는 데 쓰이며, 보통 데이터베이스 연결 모듈에 많이 사용 - 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어드는 장점이 있지만, 의존성이 높아진다는 단점이 있음 - JS에서 싱글톤 패턴 예시 const obj ..

개발/ETC 2023.01.02

공공데이터 API 사용해보기

공공데이터 API를 이용해보자 이 많은 데이터로 간단한 프로젝트를 만들 수 있을 것 같다. 그래서 그 과정에서 공공 데이터 API를 어떻게 사용하는지 알아보았다. 1. 회원가입을 한다. 회원가입을 해야 사용할 수 있다. 회원가입 후 로그인하여 공공데이터 찾기에서 아무 데이터나 찾아본다. 예시로 코로나를 검색해봤더니 2. 데이터를 선택한다. 우리는 파일데이터보단 오픈API가 사용하기 편하니, 선택하여 아무거나 클릭해본다. 나는 제일 첫번째 데이터를 선택했다. 안심식당 정보를 사용해보자 3. 사용신청을 하자 url을 클릭하여 들어가서 오른쪽에 있는 '오픈 API 신청'을 클릭한다. 하필 고른게 농림축산 식품이라 이쪽에도 회원가입을 해야한다. 난 로컬에서 사용할 것이므로 로컬IP를 기입했다. 오픈API 신청을..

개발/ETC 2022.08.25

[HTTP] 커넥션 관리

HTTP 완벽가이드 읽은 후 정리 - HTTP는 어떻게 TCP 커넥션을 사용하는가 - TCP 커넥션의 지연, 병목, 막힘 - 병렬 커넥션, keep-alive 커넥션, 커넥션 파이프라인을 활용한 HTTP의 최적화 - 커넥션 관리를 위해 따라야할 규칙들 1. TCP 커넥션 - HTTP 통신은 패킷 교환 네트워크 프로토콜들의 계층화된 집합인 TCP/IP를 통해 이루어진다. - 커넥션이 맺어지면 클라이언트와 서버 간에 주고 받는 메시지들은 안전하게 전달된다. 신뢰할 수 있는 데이터 전송 통로인 TCP - TCP 커넥션은 인터넷을 안정적으로 연결해준다. - TCP는 충돌 없이 순서에 맞게 HTTP 데이터를 전달한다. TCP 스트림은 세그먼트로 나뉘어 IP 패킷을 통해 전송 - TCP는 IP패킷이라고 불리는 작은..

개발/ETC 2022.08.08

Git 커밋 제거하기

회사 코드를 다시 이전 버전으로 돌릴 일이 생겼다.(하나 하나 수정하기엔 너무 많았다.) 인텔리제이를 사용했는데, 인텔리제이는 Git과 연동이 되어있어서 사용하기 편했다. git 로그 목록 중 원하는 버전을 클릭하여 마우스 오른쪽 버튼에서 Reset Current Branch to Here...(현재 브랜치를 여기로 재설정) 클릭 후 Hard, Reset 순서로 클릭하면 되돌아간다. 명령어로도 가능하다. git reset --hard HEAD^ : 바로 전으로 돌아감 git reset --hard HEAD~n : n만큼 전으로 돌아감 이후 cmd창 켜서 프로젝트가 있는 경로에 가서 강제 커밋해준다. git push origin master -f

개발/ETC 2022.08.02

SMTP 서버에 보안 연결이 필요하거나 클라이언트가 인증되지 않았습니다. 서버 응답: 5.7.0 Authentication Required. Learn more at

gmail을 이용한 메일 서비스가 어느 순간 에러를 뱉으면서 되지 않았다. 아무래도 구글 정책에 변화가 있던거 같아서 구글링 해본 결과 2단계 인증을 사용해서 앱 비밀번호를 생성해서 개발한 애플리케이션의 smtp 설정 쪽에 비밀번호 대신 앱 비밀번호를 넣어주면 된다고 해서 진행했다. 성공!

개발/ETC 2022.07.06

[HTTP] HTTP 메시지

HTTP 완벽가이드 읽은 후 정리 - 메시지 흐름 - HTTP 메시지 구성 - 요청, 응답 메시지 차이 - 요청 메시지가 지원하는 메소드 - 응답 메시지가 반환하는 상태 코드 - HTTP 헤더들이 하는 일 메시지의 흐름 - HTTP 메시지는 HTTP 애플리케이션 간에 주고 받은 데이터의 블록들 - 클라이언트, 서버, 프록시 사이에서 흐름 메시지는 원 서버 방향을 인바운드로 하여 송신 - 메시지가 원 서버로 향하는 것은 인바운드로 이동 - 모든 처리가 끝난 후 메시지가 사용자 에이전트로 돌아오는 것은 아웃바운드 - 다운스트림으로 흐르는 메시지 - 모든 메시지는 다운스트림으로 흐른다 - 발송자는 수신자의 업스트림 메시지의 각 부분 - 메시지는 시작줄, 헤더 블록, 본문 세 부분으로 이루어짐 - 시작줄은 어떤..

개발/ETC 2022.07.06

[HTTP] URL과 리소스

HTTP 완벽가이드 읽은 후 정리 목차 - URL 문법, 여러 URL 컴포넌트가 어떤 의미를 가지며 무엇을 수행하는지 - 여러 웹 클라이언트가 지원하는 상대 URL과 확장 URL 같은 단축 URL에 대해서 - URL의 인코딩과 문자규칙 - 여러 인터넷 정보 시스템에 적용되는 공통 URL 스킴 - 기존 이름은 유지하면서 객체들을 다른 장소에 옮기는 것을 가능하게 해주는 URN을 포함한 URL의 미래 인터넷의 리소스 탐색하기 - http는 url의 스킴 - www.joes-hardware.com은 서버의 위치 - /tools.html은 리소스의 경로 - url은 http프로토콜이 아닌 다른 프로토콜도 사용 가능 - mailto: ~ - ftp: ~ - rtsp: ~ URL 문법 스킴: 사용할 프로토콜 - h..

개발/ETC 2022.07.05

[HTTP] HTTP 개관

HTTP 완벽가이드 1장 읽은 후 정리 HTTP: 인터넷의 멀티미디어 배달부 - HTTP는 신뢰성 있는 데이터 전송 프로토콜을 사용한다. 웹 클라이언트와 서버 - 웹 컨텐츠는 웹 서버에 존재 - 웹 서버는 HTTP 프로토콜로 의사소통 - 클라이언트는 서버에게 HTTP 요청을 보내고 요청된 데이터를 HTTP 응답으로 돌려받는다. 리소스 - 웹 서버는 웹 리소스를 관리하고 제공 - 텍스트파일, html파일, 워드 등 모든 종류의 파일 관리, 제공 미디어 타입 - 인터넷은 수천 가지 데이터 타입을 다루기 때문에, HTTP는 웹에서 전송되는 객체 각각에 MIME 타입이라는 데이터 포맷 라벨을 붙인다.(Multipurpose Internet Mail Extentions, 다목적 인터넷 메일 확장) - MIME 타..

개발/ETC 2022.07.01
728x90