전체 글

파편화된 지식이 모일 때까지 꿋꿋하게
문제 설명링크https://www.acmicpc.net/problem/6118 한국어 문제가 다소 가독성이 떨어졌던 문제..문제에서 요구하는 결과는 다음과 같다. 1. 헛간의 개수는 N개, 헛간끼리 연결된 길의 개수= 관계= 간선은 M개2. 1번 헛간에서 가장 멀리 떨어진 헛간을 찾아야하며, 그 헛간의 번호, 1번 헛간으로부터의 거리, 그리고 거리 비용이 같은 헛간의 수를 출력해야 한다.3. 헛간 간의 경로는 항상 양방향으로 연결되어 있다. 나는 인접리스트와 BFS를 이용하여 문제를 접근했다.헛간과 길 정보를 가지고 그래프를 구성하고, BFS를 사용해 특정 시작점(1번헛간) 으로부터 모든 노드까지의 거리를 계산한다. 보통은 최단 거리를 찾는데 쓰지만 그 반대의 경우도 BFS를 쓰기 유용하다. DFS를 사..
1장 블로그 서비스 최적화이 장에서 최적화 기법이미지 사이즈 최적화이미지를 적정한 사이즈로 사용해야 한다. 너무 작으면 화질 저하, 너무 크면 네트워크 트래픽의 증가로 로딩속도가 느려짐.코드 분할SPA의 특성상 모든 리액트 코드는 하나의 js로 번들링 되므로 쓰지 않는 코드도 첫 로딩 시에 포함되어 무거워짐. 따라서 당장 필요없는 코드는 스플리팅하여 필요 시점에 쓰도록 분할.텍스트 압축웹페이지 접속 시 다양한 리소스(HTML, CSS, js 등)을 받는데 서버에서 미리 압축이 가능함. 압축 시 본 사이즈보다 작은 사이즈로 다운로드 할 수 있어서 웹페이지 로드가 빨라짐.병목 코드 최적화특정 js 코드 때문에 서비스가 느리게 다운되거나 실행되는 경우가 있음. 이런 현상을 만드는 코드를 '병목 코드' 라고 함..
14장 전역변수의 문제점전역변수를 사용할 이유가 없다면 지역변수를 사용해야 한다. 이 장에서는 전역변수의 문제점과 전역변수의 사용을 억제할 수 있는 방법을 정리한다.1. 변수의 생명주기변수는 선언으로 생성되고 할당으로 값을 갖는다. 그리고 언젠간 소멸되는 생명주기를 갖는다.변수는 자신이 선언된 위치에서 생성되고 소멸한다.지역변수함수의 생명주기와 같다.(함수가 호출되면 생성되고 함수가 종료되면 소멸한다.)함수가 호출된 직후에 함수 몸체의 코드가 한 줄씩 순차적으로 실행되기 이전에 자바스크립트 엔진에 의해 먼저 실행된다.함수 생명주기와 대부분 일치하나 지역변수가 더 오래 생존하는 경우도 있다.전역변수애플리케이션의 생명주기와 같으며 전역 객체의 생명주기와 일치한다.선언문이 어디에 있든 상관없이 런타임 이전 단..
문제 설명링크https://www.acmicpc.net/problem/6588문제1742년, 독일의 아마추어 수학가 크리스티안 골드바흐는 레온하르트 오일러에게 다음과 같은 추측을 제안하는 편지를 보냈다.4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다.예를 들어 8은 3 + 5로 나타낼 수 있고, 3과 5는 모두 홀수인 소수이다. 또, 20 = 3 + 17 = 7 + 13, 42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 23 이다.이 추측은 아직도 해결되지 않은 문제이다.백만 이하의 모든 짝수에 대해서, 이 추측을 검증하는 프로그램을 작성하시오.  입력입력은 하나 또는 그 이상의 테스트 케이스로 이루어져 있다. 테스트 케이스의 개수는 100,000개를 넘지 않는다.각 ..
오늘 구현할 컴포넌트 테블릿화면에 쓰일 웹 사이트인데, 사용자가 물기묻은 손으로 스크롤이 어렵다고 판단되어 스크롤 탑& 바텀 버튼을 달아주기로 했다. 오랜만에 scroll관련 이벤트를 다루게 되어 기억이 가물가물했다. 그래서 열심히 구글링을 해보았는데.. 대부분 window.scrollTo 를 이용한 구현 글이 대부분이였다. 나는 window 자체가 스크롤이 되는 형태가 아닌 테이블 리스트를 담고 있는 어느 div 자체 내에서 스크롤 이벤트를 감지하고 컨트롤해야 한다. 그렇게 onScroll이라는 리액트 이벤트 핸들러를 발견했는데,공식문서의 설명을 빌리면 요소가 스크롤이 발생했을 때 핸들링하는 메서드이며 기본으로 이벤트 버블링이 일어나지 않는다. 하지만 나는 버튼을 눌렀을 때 스크롤이 일어나게 하고싶었던..
상황 UI가 다르지만 동일한 로직을 공유하는 컴포넌트들의 중복코드를 없애고자 로직을 분리하는 과정에서 발생한 에러이다. 로직을 util함수(JSX를 반환하지 않는 일반함수)로 분리한 후, 이를 사용할 컴포넌트에서 onClick이벤트 핸들러 함수로 넣어주고자 함. 문제의 코드 문제가 발생했던 유틸 함수 async function handleTableInteraction(e, tableId, errorDoorTableId) { const isAdmin = localStorage.getItem('role') === 'admin'; //recoil 또한 hook으로 보기 때문에 일반 util함수에서 부를 수 없음. const setSmallModal = useSetRecoilState(smallModalStat..
Physical Architecture Concepts Region Oracle Cloud Infrastructure is physically hosted in regions and availability domains. A Region is a localized geographic area Availability domain is one or more data centers located with a region. Regions are globally distributed data centers that provide secure, high-performance, local env. AWS의 리전 같은 개념. 오라클 클라우드 인프라구조는 Regions와 availability domain으로 호스팅되는..
문제 설명 링크 https://www.acmicpc.net/problem/1946 문제 언제나 최고만을 지향하는 굴지의 대기업 진영 주식회사가 신규 사원 채용을 실시한다. 인재 선발 시험은 1차 서류심사와 2차 면접시험으로 이루어진다. 최고만을 지향한다는 기업의 이념에 따라 그들은 최고의 인재들만을 사원으로 선발하고 싶어 한다. 그래서 진영 주식회사는, 다른 모든 지원자와 비교했을 때 서류심사 성적과 면접시험 성적 중 적어도 하나가 다른 지원자보다 떨어지지 않는 자만 선발한다는 원칙을 세웠다. 즉, 어떤 지원자 A의 성적이 다른 어떤 지원자 B의 성적에 비해 서류 심사 결과와 면접 성적이 모두 떨어진다면 A는 결코 선발되지 않는다. 이러한 조건을 만족시키면서, 진영 주식회사가 이번 신규 사원 채용에서 선..
조맹구
개발하는 맹구