[Tistory] 줭춰귀 쉴귀 쥔뷔

디자인 패턴 🚩 생성1) Builder : 생성 단계를 캡슐화 해서 구축 공정을 동일하게 이용하도록 하는 패턴2) Prototype : 기존 객체를 복제해서 새 객체를 생성할 수 있도록 하는 패턴3) Factory Method : 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고 하위 클래스에서 인스턴스를 생성하는 패턴4) Abstract Factory : 생성군들을 하나에 모아놓고 팩토리 중에서 선택하게 하는 패턴5) Singgleton : 유일한 하나의 인스턴스를 보장하도록 하는 패턴🚩 구조1) Bridge : 추상과 구현을 분리해서 결합도를 낮춘 패턴2) Decorator : 소스를 변경하지 않고 기능을 확장하는 패턴3) Facade : 하나의 인터페이스를 통해 느슨한 결합을 제공하는 패턴4..

[Tistory] UML 다이어그램이란 무엇인지 알아보자

UML다이어그램이란소프트웨어 시스템의 설계와 모델링을 위해 사용하는 방법이자, 도구이다. 크게 두 가지로 나누어 구분할 수 있고 각각 여러 개의 다이어그램들을 포함하고 있다.더보기1. 구조다이어 그램-> 요소들 간의 정적인 관계를 이해하는데 도움,  시스템 요소들이 어떻게 연결되어있는지.2. 행위다이어 그램-> 동적인 관계를 이해하는데 도움,  객체들이 시간의 흐름에 따라 메시지를 주고받는 행위 등. 구조다이어그램구조다이어그램은 “클래스다이어그램, 객체다이어그램, 컴포넌트다이어그램, 배치다이어그램, 패키지다이어그램”으로 다시 나누어진다. 클래스 다이어그램이름 그대로 클래스와 클래스 간의 관계를 나타내는 다이어그램이다.스프링을 예시로 들자면 컨트롤러 클래스와 서비스 클래스의 관계를 표시하는 것처럼 클래스 ..

[Tistory] SSL 인증서 적용 – w. 가비아 + 502 err 해결

1. 개요SSL 인증서를 추가해 보았다. 2. 적용https://velog.io/@jungtaesu/AWS-EC2-https-%EC%97%B0%EA%B2%B0-%EA%B0%80%EB%B9%84%EC%95%84 AWS EC2 – https 연결 (가비아)본인이 배포한 사이트의 도메인이 그저 ip와 포트가 적힌 모습이 아닌 원하는 이름으로 배포된 모습을 보면 더욱 뿌듯할 겁니다.오늘은 가비아와 AWS EC2 이용해서 https 연결까지 해보겠습니다.가velog.io 이 분의 블로그를 보고, 적용을 해보았다.SSL 인증서를 추가해 본 것은 처음이라, aws 과정이 어떤 것을 의미하는지 이해하는 과정을 가져보도록 할 것이다. 가비아에서 구매해 두었던 도메인을 이용할 것이다. 호스팅 영역 생성을 통해 DNS에서 ..

[Tistory] Render Props를 통한 UX 개선

요구 사항개인 설정 페이지를 담당하고 있는데 모바일 상황에서 모달을 Drawer형식으로 바꾸는게 좋을 것 같다고 팀원들과 회의를 통해 결론이 났었다. 현재상황의 모바일 모달은 다음과 같았다  위의 사진과 같은 모달이 여러개 있는데 기존에는 마감기간이 있어서 구현하는데만 집중하는 나머지 각 모달마다 각각의 컴포넌트가 있었다 이러한 상황이 발생하니까 문제점이 모바일 화면에서 Drawer 모달을 구현하려고 하면 각각의 컴포넌트별로 Drawer 형식의 모달을 구현해야했다.이를 해결하기위해 여러 레퍼런스를 찾던중 대표적인 패턴 2가지를 찾았다 바로 컴파운드패턴과 render props 패턴이다. 먼저 간단히 설명을 얘기하고 해결방법을 알아보도록 하자.Render Prop 패턴Render Prop 패턴이란렌더 프롭..

[Tistory] [Next 고캠핑] 로그인 상태관리, 로그아웃

로그인, 회원가입 화면page > login const [formError, setFormError] = useState(false); // 로그인, 회원가입 에러 const [tabLogin, setTabLogin] = useState(true); // 로그인, 회원가입 탭 const router = useRouter(); const { isLogin } = useAuth(); useEffect(() => { // 로그인된 상태에서 /login 들어오면 홈으로 if (isLogin) { void router.replace(“/”); } else { // active 클래스 1초 뒤 삭제 const timer = setTimeout(() => { ..

[Tistory] Google Login, Google People Api 로 사용자의 구글 계정 정보를 알아내보자~ 1편

배경구글 로그인을 하면서 사용자의 전화번호, 성별 등 정보를 함께 얻을 수 있는지 알아보게되었다.본격적으로 구현에 들어가기 전에 관련 개념을 알아야 할 필요가 있다. 이번 1편에서는 개념에 대한 설명을 먼저 하도록 하고, 2편에서 실제 구현을 어떻게 하는지 설명하도록 하겠다! OAuth 2.0 ?사용자가 자원(ex. 구글 계정 정보) 에 대한 접근 권한을 부여하고 다른 서비스에서 그 자원에 접근할 수 있도록 해주는 권한 부여 프로토콜카카오, 구글, 네이버 등 어떤 서비스에서 그 서비스의 자원에 내가 만든 서비스가 접근할수있도록 권한을 부여하는 프로토콜OAuth 2 를 이해하는데 알아야 할 용어를 아래에 정리한다.용어설명Resource Owner서비스를 이용하는 유저를 뜻한다. (ex. 김도연)Servic..

[Tistory] [자료구조] 이진 탐색 트리 (Binary Search Tree)

오늘은 저번에 공부 했던 힙과 마찬가지로 트리 구조 중 하나인 이진 탐색 트리에 대해 공부해 보겠다. 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념이진 탐색 트리(Binary Search Tree)는 그래프의 트리 구조로 각 노드에 데이터가 저장된다.이진 탐색 트리의 예시 이다. 각 노드에 쓰인 숫자가 데이터 이다. 이진 탐색 트리에는 두가지 특징이 있다. 첫번쩨, 각 노드의 값은 왼쪽 가지에 있는 노드들의 값보다 크다는 특징이 있다.예시를 보면 노드 9는 왼쪽 가지에 있는 값보다 크다. 두번째, 각 노드의 값은 오른쪽 가지..

[Tistory] [컴퓨터 네트워크] 데이터 전송 방식

방향에 따른 데이터 전송단방향 통신한쪽 방향으로만 데이터 전송이 가능한 통신ex) 키보드(입력), 모니터(출력) 반이중 통신양쪽 방양으로 데이터 전송이 가능때떄로 한 방향으로만 데이터 전송이 가능ex) 라디오, 무전전이중 통신동시에 양쪽 방향으로 데이터 전송이 가능ex) 전화   직렬전송과 병렬전송 직렬전송한 컴퓨터 시스템에서 다른 컴퓨터 시스템으로 data bit가 흐름. 데이터의 각 비트는 고유한 클럭 펄스 속도를 가짐. Parity bit 라는 시작과 끝을 알리는 start bit, stop bit가 전달되고, 이들을 포함하여 한번에 8bit가 전송됨  직렬전송 유형1. 비동기 직렬전송모든 byte에 추가 bit를 붙여 수신자에게 새로운 데이터를 전송했음을 알림.startbit 는 0 stop bi..

[Tistory] 원신 임무 – [침옥의 축복] 가라앉은 옥을 찾아서

이제 임무의 마무리 단계이다. 침옥의 축복은 총 4단계로 구성되어 있다. https://asecurity.dev/entry/%EC%9B%90%EC%8B%A0-%EC%9E%84%EB%AC%B4-%EC%B9%A8%EC%98%A5%EC%9D%98-%EC%B6%95%EB%B3%B5-%EC%B0%A8-%EC%A0%9C%EC%A1%B0-%EA%B3%B5%EB%B0%A9%EC%9C%BC%EB%A1%9C-%EA%B0%80%EA%B8%B0 원신 임무 – [침옥의 축복] 차 제조 공방으로 가기 침옥의 축복은 총 4단계로 구성되어 있다. 육 할아버지와 마을 중심부에 도착하면, 나 씨 아저씨가 진 씨와 왜 차 맛이 없는지 논쟁을 하고 있다. 지금 나 씨 아저씨는 차를 만드는 기계가 문제인 asecurity.dev https:..

[Tistory] [인프런] 실리콘밸리 엔지니어와 함께하는 샐러리(Celery) 학습 정리 3

2024.06.29 – [Study/django] – [인프런] 실리콘밸리 엔지니어와 함께하는 샐러리(Celery) 학습 정리 12024.06.30 – [Study/django] – [인프런] 실리콘밸리 엔지니어와 함께하는 샐러리(Celery) 학습 정리 2 * 그동안 celery flower의 동작에 대한 근본적인 문제를 해결하지 못하던 상황에서 최종 해결책에 대해 정리를 먼저 한다.   – 문제 : docker-compose로 django, celery, flower를 동작시키면 “…inspector:44] Inspect method stats failed…” 에러가 발생하였다.    – 1차 문제 해결 방안 : runserver로 구동하면 문제가 발생하지 않았지만, gunicorn으로 구동하..