전체 글
-
TIL-2024.02.15 - JS - 고차함수와 Reduce> 기초/Javascript 2024. 2. 15. 21:50
------- 고차함수 란? 고차함수: JS에서 함수는 일급 객체이므로 함수를 값처럼 인수로 전달할수 있고, 반환 가능. 고차 함수는 외부 상태의 변경이나 가변 데이터를 피하고 immutability (불변성)을 지향하는 함수형 프로그래밍에 기반을 둠 ------- Reduce 란? Reduce 특징: 고차함수: 함수를 인수로 전달받거나 함수를 반환하는 함수 순수함수: 동일한 인자가 들어오면 항상 같은 값이 나와야하고 return 값으로만 소통하고 데이터베이스 호출이나 HTTP 호출 등 외부의 데이터 구조를 변형하는 호출을 허용하지 않는 함수 설명: 자신을 호출한 배열의 모든 요소를 순회하며, 인수로 전달받은 콜백 함수를 반복 호출. 콜백 함수의 반환값을 다음 순회 시에 콜백 함수의 첫번째 인수로 전달하..
-
TIL-2024.02.14 -알고리즘-투포인터 알고리즘> 기초/알고리즘 2024. 2. 14. 22:45
배열이나 리스트 같은 선형 구조에서 두 개의 포인터를 사용하여 문제를 해결하는 방법입니다. 이 알고리즘은 주로 정렬된 배열이나 리스트에서 두 요소의 합이 특정 값에 해당하는 문제, 연속적인 데이터의 부분 합, 최소 길이 부분 배열 찾기 등에 활용됩니다. 투포인터 알고리즘의 핵심은 두 포인터가 서로 다른 속도로 움직이거나, 조건에 따라 한쪽 또는 양쪽 포인터가 이동하며 조건을 만족하는 해를 찾는 것입니다. 해당 알고리즘은 중첩 For 문을 써서 풀이도 가능하지만, 시간 복잡도 측면에서 다중 For문은 O(N^2)이지만, 투포인터 알고리즘은 배열을 한번만 순회하기 때문에 선형 시간 복잡도 O(n)을 가짐 투포인터 알고리즘의 기본 개념 시작 포인터(Start Pointer): 배열의 시작 부분을 가리킵니다. ..
-
TIL-2024.02.08 - URL로 이미지 원본 사이즈 구하기> Frontend/JS 2024. 2. 8. 16:45
// API 를 통해 가지고 온 이미지 URL의 원본 사이즈 return new Promise((resolve, reject) => { const img = new Image(); img.onload = () => { resolve({width: img.naturalWidth, height: img.naturalHeight}); }; img.onerror = reject; img.src = fileUrl; }); > 02/07의 문제에서, scale를 사용할 경우, 원본 사이즈의 크기를 구해, img 태그의 width, height를 나눠서 scale 적용
-
TIL-2024.02.07 - 이미지에 원 그리기> Frontend/JS 2024. 2. 7. 23:28
이미지에서 마우스 클릭 이벤트가 발생한 경우, 해당 부위에 원 그리는 함수 // 이미지 위에 사용자 클릭 위치에 마커를 생성하는 함수 정의 const createClickMarker = (positionX, positionY) => { const markerElement = document.createElement("div"); markerElement.style.position = "absolute"; markerElement.style.left = `${positionX}px`; markerElement.style.top = `${positionY}px`; markerElement.style.width = "10px"; markerElement.style.height = "10px"; markerEl..
-
코딩 문제 2. 기러기 토마토 스위스 인도인 별똥별 (회문 숫자)> 기초/코테 연습 2023. 9. 21. 15:28
문제 정수 x가 주어졌을 때, x가 회문 숫자인 경우 true를 반환하고 그렇지 않은 경우 false를 반환합니다. [회문] 이란? 기러기, 토마토 , 스위스 , 역삼역과 같이 앞에서부터 읽을 때와 뒤에서부터 읽을 때 동일한 것 예시 1: 입력: x = 121 출력: true 설명: 121은 왼쪽에서 오른쪽으로 읽어도, 오른쪽에서 왼쪽으로 읽어도 같은 수입니다. 예시 2: 입력: x = -121 출력: false 설명: 왼쪽에서 오른쪽으로 읽으면 -121이지만, 오른쪽에서 왼쪽으로 읽으면 121-이 되므로 팰린드롬이 아닙니다. 예시 3: 입력: x = 10 출력: false 설명: 오른쪽에서 왼쪽으로 읽으면 01이므로 팰린드롬이 아닙니다. 나의 풀이 const solution = (x) => { if (..
-
코딩 문제 1. 배열 안 두개의 합> 기초/코테 연습 2023. 8. 3. 10:12
문제 주어진 정수 배열 nums와 정수 target이 있을 때, 두 숫자를 선택하여 그 합이 target이 되도록 하는 인덱스를 반환합니다. 각 입력에는 정확히 하나의 해결책만 존재하며, 동일한 요소를 두 번 사용할 수 없습니다. 답은 어떤 순서로든 반환할 수 있습니다. 예시 1: 입력: nums = [2,7,11,15], target = 9 출력: [0,1] 설명: nums[0] + nums[1] == 9이므로 [0, 1]을 반환합니다. 예시 2: 입력: nums = [3,2,4], target = 6 출력: [1,2] 예시 3: 입력: nums = [3,3], target = 6 출력: [0,1] 제약 조건: 2
-
Ubuntu_Server_10 (完). SMB ( a.k.a 삼바, Samba) 설치하여 Ubuntu, Linux 파일 공유> DevOps/Ubuntu Linux Server 구축 (완) 2023. 7. 13. 15:14
Samba란 ? > Windows, Linux, Unix 기반 운영 체제 간의 파일 및 프린트 서비스 상호 운용성을 제공하는 오픈 소스 소프트웨어 > 다른 OS 끼리 네트워크에 원활하게 참여할 수 있도록 지원하여, 클라이언트와 파일 및 프린터를 공유. > Samba는 SMB/CIFS 프로토콜을 사용하여 파일 및 프린트 서비스를 제공하여 Windows 클라이언트가 Samba를 사용하는 시스템의 공유 폴더와 프린터에 접근할 수 있도록 합니다. 설치 방법 > SMB Server PC의 Terminal > sudo apt-get -y install samba sudo chmod 777 /share (기본적으로 /share 하위에 공유) sudo chmod 777 /var/log/samba (이상하게 저는 이거 ..
-
Ubuntu_Server_09. Jenkins 설정- 원격 통신을 위한 Docker Remote API> DevOps/Ubuntu Linux Server 구축 (완) 2023. 7. 13. 15:11
> Client 와 Daemon이 각기 다른 PC에 있는 경우, 젠킨스에서 원격으로 Docker Build, Run 본격적으로 들어가기 앞서, Docker의 구성 요소에 대해 알아보자. 이름 설명 데몬 (Daemon) - 컨테이너를 생성,실행,관리하는 백그라운드 프로세스 - Docker 데몬은 호스트 운영 체제에서 실행 - Docker API를 통해 클라이언트와 상호 작용. - 한줄소개: 도커 그 자체 클라이언트 (Cilent) -Docker 데몬과 상호 작용하기 위한 명령 줄 도구 또는 API를 제공하는 클라이언트 응용 프로그램 -CLI 를 통해 Docker 명령어를 실행하거나 Docker Remote API 를 사용하여 (HTTP RESTful API 방식)Docker와 상호 작용 - 한줄 소개: D..