😶🌫️ 문제 문제를 풀기 위해서는 다리가 무너진 상태에서 서로 왕복할 수 있도록 다리를 연결해야 합니다. 이 문제는 그래프 이론과 합집합 찾기(Unifon-Find) 자료구조를 사용하여 해결할 수 있습니다. 🌿 풀이 Union-Find Union-Find 는 대표적인 그래프 알고리즘 입니다. '서로소 집합(Disjoint-Set)' 알고리즘이라고도 부릅니다. 구체적으로 여러개의 노드가 존재할 때 두 개의 노드를 선택해서, 현재 이 두 노드가 서로 같은 그래프에 속하는지 판별하는 알고리즘 입니다. 간단하게 알아볼게요. 1. Union 다음과 같이 6개의 노드가 서로 연결된 것 없이 존재하고 있습니다. 이때 1-2 노드를 선으로 연결해서 그룹으로 묶는 것을 Union 이라고 합니다. 2. Find 다음과 ..
전체 글
hoist:(흔히 밧줄이나 장비를 이용하여) 들어[끌어]올리다 🐣 Hoisting- MDN JavaScript 호이스팅은 인터프리터가 코드를 실행하기 전에 함수, 변수, 클래스 또는 임포트(import)의 선언문을 해당 범위의 맨 위로 끌어올리는 것처럼 보이는 "현상"을 뜻합니다. 자바스크립트 엔진은 코드를 실행하기 전 실행 가능 한 코드를 형상화 하고 구분하는 과정(*실행 컨텍스트)을 거칩니다. *실행 컨텍스트: 실행 가능한 코드가 실행되기 위해 필요한 환경 자바스크립트 엔진은 실행 컨텍스트의 과정에서 모든 선언 (var, let, const, function, class) 를 스코프에 등록합니다. *스코프: 식별자(변수, 함수, 클래스) 가 유효한 범위 자바스크립트 엔진이 스코프를 통해 어떤 변수를 ..
쇼핑몰 제작 프로젝트를 진행하며 구현한 모달 창 입니다. 👉 목표 취소/확인 이 있는 모달창 컴포넌트화 하기 모달 영역 외 배경은 어둡게 처리하기 모달이 닫히는 조건 영역 밖 클릭 시 취소/ 확인 버튼 클릭 시 모달이 열리는 조건 버튼 클릭 시 👉 고려 사항 다른 페이지에서 재사용할 것인데, 텍스트 내용이 다를 수 있다. 확인 버튼 클릭 시 주문취소 인 경우 주문번호가, 반품신청 인 경우 각 주문번호+알파가 백앤드에 전달되야 한다. (나중 구현 예정) 🌝 구현 1️⃣ 모달 창을 먼저 컴포넌트화 했습니다. modal의 css 파일을 따로 만들면 css 파일이 많아지고 각 클래스 작명을 잘해야 한다는 귀찮음이 있어 styled-components를 이용했습니다. 참고로 styled-components 을 잘..
개발자라면 알아야 할 NULL 과 UNDEFINED 의 차이 입니다. 저는 몰랐습니다. 더보기 멘토님이 이 질문을 하셨을 때 차마 대답하지 못하고 머리속에 맴돈 생각 null은 값이 없는 상태, undefined 는 정의 되지 않은 것 뭐가 다른 거지? 그래서 모르겠다 말했는데 좀 부끄러웠습니다. 이번 글 끝에는 어떻게 대답하면 좋을 지 적어볼게요. null: 변수를 선언하고 빈 값을 할당한 상태 = 빈 객체 undefined: 변수를 선언하고 값을 할당하지 않은 상태 = 자료형이 없다 자바스크립트의 truthy / falsy 값 설명에 들어가기 앞서 자바스크립트의 falsy 값에 대해 알아보겠습니다. 자바스크립트는 boolean 타입이 아닌 값을 truthy (참으로 평가되는 값), falsy (거짓으..
[] 내하루오늘로 기업 실무 프로젝트를 시작한 지 3일 차.. 8주 동안 진행하는 프로젝트의 일정은 다음과 같다.기간프로세스 단계~1주차기획 및 분석~2주차설계~6주차구현~7주차검증~8주차종료🙉 각 프로세스 단계에 따라 요구되는 산출물이 있다 기획은.. 코딩만 하던 내게 너무 어렵다. 특히 요구사항 분석은 딥하게 들어갈 수록 어떻게 구현해야 할지 생각하게 되는데, 그럼 기획의 요지에서 벗어나는 것이기도 하고, 너무 상세한 것 까지 논의 하게 되어 시간을 많이 잡아먹는다. 주말 동안 맡은 과제와 UI 기획 부분을 러프하게라도 정해보려 한다. ➡️ 화면 해상도, 반응형vs적응형 (UI 요구사항) ➡️ 레퍼런스할 다른 사이트들 ➡️ 관리자 페이지 예시 ➡️ 전체적인 컨셉 ➡️ 협업시 공통으로 할 사항 ➡️ 간..
멀티클라우드 특강 내용을 바탕으로 작성한 글 입니다. 멀티클라우드 멀티클라우드는 기업이나 조직이 단일 클라우드 서비스 제공업체가 아닌 여러 클라우드 서비스 및 인프라 를 혼용하여 사용하는 것입니다. 쉬운 예로 대표적인 클라우드인 AWS 와 Azure 를 같이 쓰는 것인데요, MSA 서비스 외 CI/CD, DevOps 등 여러 컨테이너 기반 서비스들이 각각 최적의 클라우드 환경 위에서 실행된다면 좋겠죠? 한편 다른 클라우드 환경에서 실행되는 서비스들을 어떻게 관리할 것이고 복잡해질 네트워크와 아키텍처 구조에 벌써 어렵게 느껴지기도 합니다. 이에 멀티클라우드 간 호환성을 확보하고 일관된 운영을 도와주는 "골든이미지" 가 있습니다. 골든이미지 OS 영역을 포함하여 필수 패키지, 보안 설정 등이 적용된 "표준 ..
window wsl 환경의 ubuntu 에서 진행 docker-compose.yml 파일을 작성 후 실행 하였더니 다음과 같은 에러가 발생했습니다. Error response from daemon: invalid volume specification: 처음엔 volume에 없는 경로를 지정하여 발생했다고 생각해 다시 확인 했지만 그건 아니었습니다. (기존 docker-compose.yml 파일) version: '3' name: kafka_test services: mysql: image: mysql container_name: mysql ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: **** MYSQL_USER: root MYSQL_PASSWORD: **..
ssh 원격 접속 시 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 오류가 뜹니다. vm 을 지우고 새로 생성하는 것을 반복하다 보니 이 오류 메시지에 아주 익숙해 졌는데요, 간단하게 해결 가능합니다. 해결방법: ssh-keygen -R your_server_ip_or_hostname 접속하려는 서버 ip 가 127.0.0.1 이라면 ssh-keygen -R 127.0.0.1 그 후에 재접속하면 Are you sure you want to continue connecting (yes/no/[fingerprint])? 이 뜨니 yes 를 입력해 주시면 됩니다. 해결완료 :) 이렇게 간단하게 해결 가능하지만 하도 많이 마주치니 오류 메시지의 원인이 궁금해 졌는데요 경..
CentOS vm 환경에서 진행하였습니다. 기본 최소사양: 메모리 4G 이상 (권장: 8G), 코어는 2코어 CI/ CD 구축을 위한 Jenkins 설치에 이어 GitLab 을 설치하도록 하겠습니다. - Docker 설치 docker-compose.yml 을 실행하기 위해 docker 가 우선 설치되어 있어야 합니다. docker 설치는 아래 포스트를 참고해 주세요. 2023.11.25 - [Docker/Jenkins] - [Jenkins] Docker 에 Jenkins 설치하고 실행까지 - Docker-compose 설치 Docker-compose 설치 더보기 ※ Docker 와 Docker-compose 의 차이 Docker와 Docker-compose 는 둘 다 컨테이너화된 애플리케이션을 관리하고 ..
CentOS vm 환경에서 진행하였습니다. CI/ CD 구축을 위한 Jenkins 설치입니다. - Docker 설치 레포지토리를 사용한 Docker 설치 yum -y update yum install -y yum-utils // docker repository를 시스템에 추가 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum-config-manager --enable docker-ce-nightly 도커 관련 패키지를 설치 // 도커를 설치함 yum -y install docker-ce docker-ce-cli containerd.io // 도커를 실행함 systemctl start docker..