전체 글 294

[docker] 도커 PostgreSQL & Redis 이미지 설치와 컨테이너 실행하는 방법

🤷‍♂️ 본론에 앞서 docker 볼륨이란?docker는 가상화 환경을 빠르고 쉽게 컨테이너로 실행하고 관리할수 있는 대표적인 오픈소스 툴입니다.   도커에 대한 개념과 핵심 설명을 먼저 보시면 도커 볼륨에 대해서 이해하기가 쉬워요^^도커&쿠버네티스 [Docker] Docker의 개념 및 핵심 설명https://cometruedream.tistory.com/76 [Docker] Docker의 개념 및 핵심 설명Docker란? Go언어로 작성된 리눅스 컨테이너 기반으로하는 오픈소스 가상화 플랫폼입니다. VM(Virtual Machine)과 컨테이너(Container)의 차이 가상화는 VM 버추얼 머신으로 OS가상화죠. 대표적으로 window, licometruedream.ti..

[컴퓨터메모리구조] 메모리 캐시 vs 디스크 캐시 개념

🤷‍♂️ 본론에 앞서 메모리란? 메모리는 '기억장치'라는 뜻을 가지고 있으며 컴퓨터의 메모리는 일반적으로 RAM을 의미하여 주기억장치 라고도 한다. 기본적인 컴퓨터의 메모리 종류 기본적인 컴퓨터는 일반적으로 레지스터, 캐시, RAM을 주기억장치라고 부른다. 왜냐하면 프로그램이 실제로 실행될때 이 세 기억장치를 사용하기 때문이다. 이 3가지의 기억장치를 알아보자. 레지스터: 제일 빠른 장치이며, CPU 계산과정의 일부분이다. 캐시 메모리: 레지스터 다음으로 빠른 메모리로 L1, L2, L3 CPU에 작은 칩으로 메모리를 저장시켜 빠르게 데이터를 제공한다. RAM: 주 기억장치로 매우 빠르지만 CPU > Cache > RAM > HDD 순서로 캐싱데이터를 제공한다. 하지만 HDD, SDD 보다는 월등히 빠르..

ITstudy 2024.04.18

개발자라면 알아야할 NVM 개념 & 설치 & 사용법

🤷‍♂️ NVM이란? NVM? Node Version Manager node.js 개발을 하다보면 한번쯤은 들어봤던 용어 NVM은 설명하자면 Node.js의 버전을 관리하는 도구이다. 왜 NVM을 사용해야 하는 이유? 회사에서 협업, 프로젝트를 진행하다보면 다양한 라이브러리, 프레임워크, 개발툴의 버전 호환 문제를 겪는다. 이러한 버전 호환문제를 해결하기 위해서 node.js 버전을 관리해주는 도구 NVM 필요하다. ex: Next.js 14 버전은 node.js 버전 18.17.4 이상부터 사용이 가능하다. 18.17.4 아래 버전이 Next.js 14 버전을 install or create 하면 오류가 발생하므로 node 버전을 업그레이드 해야한다. 이런 예시같은 버전 호환 문제가 발생할경수 NVM을..

replaceAll is not a function 오류 해결 경험

🤷‍♂️ replaceAll is not a function 오류? 제가 운영하는 커뮤니티에 크롤링 로직에서 replaceAll is not a function 오류가 발생하면서 크롤링이 제대로 되지 않고 있었다. 오류 로그를 확인했는데도 정확한 원인을 파악하지 못했다. 본론에 들어가기 앞서 NODE.JS 무엇인가? https://cometruedream.tistory.com/2 Node.js 는 무엇인가? 요즘 개발에서 JavaScript 활용도가 높아지면서 Node.js를 활용하는곳이 점차 늘고 있습니다! 저또한 Node.js를 Study하는 중입니다!!ㅎ 그렇다면 Node.js란 무엇일까요???? 웹어플리케이션을 개발할때 JavaS cometruedream.tistory.com replaceAll ..

JavaScript 2024.04.09

MAC에서 사용중인 특정 포트 찾아서 포트 kill하는 방법

🤷‍♂️ 에러 코드 MAC에서 볼수있는 이미 실행중인 포트 에러 서버를 실행시 이미 사용중인 포트라는 오류를 볼수있다. Error: listen EADDRINUSE: address already in use :::3000 🤷‍♂️ 해결 방법 1. 3000번 포트를 사용하고 있는 프로세스 확인 명령어 sudo lsof -i :포트번호 ex:3000, 3003, 8000 위에 명령어를 터미널에서 입력하면 아래의 리스트를 볼수 있다. 내가 친 명령어 sudo lsof -i (모든 프로세스를 확인하기 위해서) PID가 현재 사용중인 프로세스의 고유번호 2. 실행중인 프로세스 강제 종료 시키기 sudo kill -9 PID번호 프로세스 리스트를 확인후 고유번호 PID를 입력해서 강제 종료 종료 후 다시 서버를 띄..

ITstudy 2024.04.07

알아두면 좋은 개발용어 프로토타입, MVP 개념 정리

🤷‍♂️ [개발용어] 프로토타입 & MVP란 ? HTML 삽입 미리보기할 수 없는 소스 스타트업 또는 새로운 제품을 개발할 때 많이 사용하는 용어 프로토타입(Prototype)과 MVP(Minimum Viable Product)의 뜻과 차이점에 대해서 알아보겠습니다. 프로토타입(Prototype)란? 아이디어나 디자인, 기능 등을 시각적으로 또는 동작적으로 구현하고 요구사항들과 시나리오를 구현한 초기 설계 버전 프로토타입은 제품의 컨셉을 시험하고 피드백과 요구사항을 수집하기 위해 서비스 초기에 많이 사용됩니다. 보편적으로 개발 초기 단계에서 많이 활용되며 사용자, 고객 요구사항을 이해하고 디자인을 검증하며 문제를 해결하는데 도움을 줍니다. 가장 중요한 개념은 프로토타입은 실제 제품과 비슷한 모습을 가지지..

ITstudy 2024.04.03

[Docker] Mac 운영체제에 도커 개념 & 설치 방법

🤷‍♂️ 도커란? HTML 삽입 미리보기할 수 없는 소스 (Docker)도커는 애플리케이션을 개발, 배포, 실행하도록 도와주는 오픈 소스 플랫폼이다. 컨테이너화 기술을 사용하여 애플리케이션과 관련된 파일들을 컨테이너안에 패키징해서 독립적으로 실행, 관리할 수 있도록 돕는다. 도커의 컨테이너화 기술은 안정적이며 효율적으로 애플리케이션을 관리할 수 있다. Docker Container (도커 컨테이너)란? 도커 컨테이너는 가상화된 공간을 생성하기 위해 리눅스 자체 기능인 chroot, 네임스페이스(namespace), cgroup을 사용함으로써 프로세스 단위의 격리 환경을 만들기 때문에 성능 손실이 거의 없습니다. 컨테이너에 필요한 커널을 공유해서 사용하고, 컨테이너 안에는 어플리케이션을 구동하는 데 필요한..

react input 모든 텍스트 선택하는 방법

🤷‍♂️ 본론에 들어가기 앞서 React 프로젝트 중에 input 입력 후에 Enter or 등록 버튼 후에 모든 테스트를 선택해야 되는 기능을 만들어야 했다. 나는 자바스크립트에 addeventlistener 메소드를 활용해서 하려고 했지만 더 좋은 방법이 있기 때문에 기억보다는 기록으로 남겨본다. 🤷‍♂️ focue가 맞춰지면 React를 사용하여 입력 요소의 모든 텍스트를 선택 input 포커스가 되면 입력요소에 모든 텍스트를 선택하는 select() 요소를 활용해서 포커스가 있을 때 모든 텍스트를 선택하는 방법 select() 요소를 활용해서 input 요소에 모든 텍스트를 선택하는 이유는 똑같은 값을 사용하거나 전체 삭제를 효과적으로 사용할 수 있기 때문에 필요한 기능이다. EX: App() {..

React 2024.03.21

script 요소의 defer과 async 속성을 통한 효과적인 스크립트 로딩

🤷‍♂️ 본론에 들어가기 앞서 웹 개발을 하다 보면 B 위 HTML 문서는 브라우저에서 다음과 같이 순차적으로 처리가 됩니다. A가 화면에 출력됨 script.js 파일을 내려받아 자바스립트 코드가 실행됨 B 가 화면에 출력 * HTML은 동기식으로 한줄한줄 읽어나가는 특징을 가지고 있다. HTML 삽입 미리보기할 수 없는 소스 🤷‍♂️ defer vs async 속성? 전통적으로 script 요소를 head 요소 안에 넣도록 배우는 경우가 많지만 실제 프로젝트 or UI & UX 측면에서 body 요소 제일 마지막에 script를 넣어서 사용자에게 최적화된 웹페이지 경험을 줄 수 있다. 미리 HTML 그려주고 script를 렌더 하는 방식이다. Defer 속성 정의 요소에 defer 속성의 정의 def..

JavaScript 2024.03.19

VPN 개념 정리 및 접속 방법

🤷‍♂️ 본론에 들어가기 앞서 코로나 이후로 IT 전공이 아니신 분들도 VPN, 네트워크 등등에 단어들을 많이 들어보고 사용했을 것이다. 코로나 이후로 재택근무가 활성화되면서 VPN을 이용하여 회사 네트워크에 접속해서 회사 업무를 처리했을 것이다. 나 또한 우리 회사의 자회사 데이터 센터에서 업무를 위해서 VPN을 접속해서 업무를 했던 경험이 있다. 그러면서 자연스럽게 VPN이 무엇이고 VPN의 개념에 대해서 궁금해졌다. 🤷‍♂️ VPN(Virtual Private Network) 이란? 사용자들은 인터넷에 접속하여 웹을 이용할때 ISP(KT, SKT, LG 같은 업체)의 통신망을 사용한다. 통신망을 사용하면 사용료를 지불하고 이따 사용하는 네트워크를 public network라고 한다. public n..

ITstudy 2024.03.18

React 중복 파일 업로드 오류 해결 방법

🤷‍♂️ React에서 동일한 파일 업로드 구현 프로젝트중에 PDF 파일 업로드 기능 구현 당시 동일한 파일을 업로드 하는 경우 input태그의 onChange 이벤트 핸들러 함수가 정상적으로 동작하지 않는 문제가 발생했다. 파일 업로드 과정 브라우저에서 PDF 업로드를 클릭하면 파일 탐색기 창이 열리고 파일을 선택후에 파일을 업로드한다. 여기서 오류는 동일한 파일을 두번 이상 업로드시 onChange 이벤트가 발생하지 않는 문제였다. 20230920001_00_40.pdf 파일을 업로드하고 다시 20230920001_00_40.pdf 파일을 업로드하면 onChange 이벤트가 발생하지 않는다. 정리: React에서 동일한 파일을 연속해서 선택했을 때 input 태그에 onChange 이벤트 핸들러 함수..

React 2024.03.14

defaultPrevented 이벤트 속성 개념 총정리

🤷‍♂️ 본론에 들어가기 앞서 javascript 이벤트와 이벤트 핸들러의 이해 자바스크립트는 이벤트 기반에 프로그램이며 자용자 또는 브라우저가 페이지를 클릭하거나 action을 통해서 이벤트가 발생한다. 이를 활용해 웹 페이지 요소를 동적으로 변경할 수 있으므로 이벤트는 중요한 역할을 맡고 있습니다. 예를 들어 브라우저가 document 로딩을 완료하면 load 이벤트가 발생하고 사용자가 버튼을 클릭하면 click 이벤트가 발생합니다. 이벤트는 한 번, 여러 번 또는 전혀 발생하지 않을 수 있습니다. 특히 사용자가 임의 생성한 이벤트는 언제 발생하는지 모를 수도 있습니다. 이와 같은 시나리오에서 이벤트 발생을 감지하기 위해 이벤트 핸들러가 필요합니다. 이를 통해 이벤트가 발생하는 즉시 반응하도록 코드를..

JavaScript 2024.03.13

ESLint & Prettier 와 프로젝트 build 해결 일대기

경험 만큼 좋은 교훈은 없다. 들어가기 앞서 지키지 않는 정책과 규칙은 없으니만 못하다. 이 말에 누구나 다 고개를 끄덕이겠지만 이 세상에 정책과 규칙을 준수하는 것만큼 가장 어려운 일도 없다. Prettier 일관성 있는 코드 스타일 유지해서 코드 퀄리티를 일관 적으로 유지하는 것을 돕는다. * 참고 vscode 자체에도 prettier 설정을 해줄 수가 있는데 이것은 프로젝트에 공유되지 않으니 prettierrc 파일에 설정을 하는 것이 좋다. 만약 prettierrc 파일이 있다면 우선적으로 그 설정을 따른다. Eslint 코드에 문제 패턴을 식별하고 코드에 오류를 검사해준다. Eslint rules Eslint 규칙을 설정 가능하다. VScode Prettier 셋팅 방법 Intellij 셋팅 B..

my life 2024.02.01

URL 인코드와 디코드 변환하는 방법과 개념

🐣인코딩 & 디코딩 이란? Encoding: 인코딩이란 사람이 인식할 수 있는 문자열을 바이트 형식으로 변환 하는 과정 Decoding: 디코딩이란 인코딩과 반대 개념으로 바이트 형식을 문자열로 변환 하는 과정 인코딩과 디코딩은 주로 HTTP 통신을 할때 URI에 한글 혹은 특수문자가 포함되어 있을때 주로 사용한다. 🐣인코딩 & 디코딩 개념 EX: URI 상수에 값을 encodeURI로 변환하면 아래에 변환된 값으로 변환된다. 인코딩된 값을 다시 decodeURI로 변환을 하면 다시 안녕하세요 문자열을 변환시킨다. 인코딩과 디코딩을 사용하는 이유 인코딩과 디코딩을 하는 이유 중에 가장 큰 이유는 URI 주소 또는 file 이름에 한글 or 특수문자가 포함되면 에러를 발생 시킬 수 있다. 이러한 에러를 해..

ITstudy 2024.01.25

프론트엔드 개발을 위한 번들러 개념과 webpack vs vite 비교

🐣모듈 번들러? 모듈 번들러는 분리된 코드 조각들을 하나로 압축 하는 개발 도구입니다. 핵심 작업은 HTML, CSS, JAVASCRIPT 여러 파일을 하나로 결합하여 단일 파일로 만드는 것이다. 압축시킨 단일 파일을 브라우저에서 하나의 단일 파일을 로드함으로써 애플리케이션이 동작하게된다. 🐣빌드 도구란? 애플리케이션을 개발할 때 사용하는 도구이다. 위에 언급한 번들링을 위한 도구다. 이 도구는 프론트엔드 코드를 빌드하고 번들링하며, 최적화하고, 테스트하고, 배포하는 데 사용된다. 프론트엔드에서 가장 많이 사용되는 빌드 도구로는 Webpack, Parcel, Rollup, Gulp, Grunt, Vite 등이 있다. 요즘은 webpack, vite 많이 사용된다. 이 도구들은 각각의 장단점이 있으며, 프..

ITstudy 2024.01.08

immer를 사용해서 불변성을 지켜야하는 이유와 얕은 복사의 개념

immer 란? React에서 불변성을 유지하느라 난잡해진 코드를 짧고 간결하게 불변성을 유지할수 있게 도와주는 라이브러리이다. 반대로 immer 사용함으로 짧은 코드가 길어지는 경우도 있다. 불변성 개념 불변성이란 기존의 상태 값을 유지하면서 새로운 상태 값을 추가하는 것을 의미한다. 불변성을 지키는 이유 만약에 list OR 상태 값을 리렌더링 하고 싶을때가 있다고 가정한다. state.push({ title: "값 추가" })을 통해서 배열에 직접 10이라는 값을 추가한다. React에서는 해당 state라는 값은 새로운 참조값으로 바뀐것이 아니기 때문에 push 이전에 값가 push 이후에 값에 state 참조하는 메모리값이 같다고 판단하여 리렌더링이 일어나지 않는다. 이러한 이유로 state 값..

React 2024.01.05

프론트엔드 꼭 필요한 디바운싱과 쓰로틀링 중요 개념

디바운스와 쓰로틀링 모두 웹에서 발생하는 이벤트를 제어하는 방법이다. 예를 들어 스크롤 이벤트의 경우 스크롤링 할 때마다 발생하는데, 그 때마다 같은 작업을 실행하게 되면 성능 문제가 발생할 수 있다. 디바운스와 쓰로틀링을 적절한 상황에서 사용하여 그런 상황이 발생하지 않도록 막을 수 있다! 목록으로가기 or 버튼 이벤트에서 여러번 클릭하면 여러번에 이벤트가 일어나면서 예측할 수 없는 다음 액션이 일어날수도 있다. ex: 목록으로가기 이벤트가 router.back()을 2번 누르면 history 2번째 stack 페이지로 이동하는 경우도 있다. 디바운싱과 쓰로틀링은 성능을 목적으로 자바스크립트의 이벤트를 제어하기 위해 사용되는 기법이다. 디바운싱 (Debouncing) 연속으로 호출되는 함수들 중에 마지..

ITstudy 2024.01.03

1분만에 나만의 QR 만들고 QR 코드 소문내기

QR코드(QR CODE)란? 기존에 사용되던 바코드형태에서 발전한 흑백 격자무늬 패턴 코드이며, 정보를 나타내는 매트릭스 형식의 이차원 코드이다. 기존의 바코드 형태의 용량 제한에서 벗어나 형식과 내용을 확장하여 2차원의 패턴으로 정보를 저장하여 숫자 외에 문자의 데이터도 저장할 수 있다. 일반적으로 디지털카메라나 전용 스캐너로 읽어 활용하고, 근래에는 핸드폰을 이용하여 대중적으로 사용되고 있다. QR코드의 명칭은 덴스 웨이브가 등록한 상표인 'Quick Response'에서 유래되었고, 주로 한국, 일본, 중국, 영국, 미국 등에서 많이 사용된다. QR코드(QR CODE)의 장점 QR코드의는 누구라도 다양한 목적으로 쉽게 제작하여 사용할 수 있다. 그리고 많은 양의 데이터와 정보를 넣을 수 있지만 코드..

ITstudy 2023.12.26

SEO 최적화 블로그 글자수 꿀팁

SEO(Search Engine Optimization, 검색 엔진 최적화)에서 추천하는 블로그 글자수 상세한 내용 제공: 글자수가 많을수록 더 많은 키워드를 포함시킬 수 있고, 주제에 대해 더 상세하게 설명할 수 있습니다. 이는 검색 엔진이 블로그 글의 주제를 더 정확하게 이해하는 데 도움이 됩니다. 독자의 관심 유지: 너무 긴 글은 독자가 중간에 지치거나 관심을 잃을 수 있습니다. 따라서, 글의 길이를 적절하게 유지하면서 독자의 관심을 유지하는 것이 중요합니다. 고질적인 내용: 글자수가 많을수록 주제에 대해 더 깊이 있는 분석이 가능하며, 이는 블로그가 전문성을 갖추는 데 도움이 됩니다. 검색 엔진 순위: 더 긴 글은 일반적으로 검색 결과에서 더 높은 순위를 차지하는 경향이 있습니다. 이는 검색 엔진..

ITstudy 2023.12.24

모든 브라우저 복사 금지 되어있는 글 복사 방법

모든 브라우저 복사 금지 되어있는 글 복사 방법 글을 쓰거나 수정하다 보면 정말 필요한 내용이나 정보를 복사해야 되거나 복사한 글을 다시 한번 가공해야 될 때가 많습니다. 간혹 중요한 내용이나 정보를 복사 하려는데 복사 방지 or 복사 금지가 되어 있는 경우에 복사 할수 있는 유용한 방법을 알려드겠습니다. 전 세계 3대 웹 브라우저 (크롬, 파이어폭스, 엣지) 더해서 네이버웨일, 사파리에서 모두 똑같이 사용 할 수 있는 방법입니다. 1. 브라우저에서 복사할 내용이 있는 웹페이지로 이동합니다. 2. F12(개발자 도구)를 누르면 아래 이미지 처럼 소스를 볼 수 있는 창이 뜬다. 3. 빨간색으로 표시한 부분의 아이콘을 클릭합니다. (항상 Elements가 선택되어 있어야 합니다) 4. 화면에 커서를 옮기면 ..

ITstudy 2023.12.20

내 아이피 확인 (My IP Address) 안전하고 빠르고 쉽게 아는 방법

빠르고 쉽게 내 IP 주소를 확인하는 방법 브라우저 즐겨찾기를 통해 빠르게 확인하는 것은 IP주소를 확인하는 가장 쉽고 빠른 방법 중 하나입니다. webtool.everyday-365.com 개인정보 수집 없이 안전하게 현재 접속한 기기의 공인 IP(Internet Protocol) 주소를 제공합니다. 내 아이피 바로 찾기 IP, IP 주소란? IP란 인터넷 프로토콜(Internet Protocol)의 약자로 인터넷에 연결되어 있는 장치를 식별하기 위해 각각의 장비에 부여하는 고유 주소입니다. 데이터를 주고 받기 위해서 데이터를 발신하는 곳과 수신하는 곳이 필요합니다. 통신을 위해 부여한 주소가 IP 주소(Internet Protocol Address)입니다. 공인IP와 사설IP IP는 사용자 입장에서 ..

ITstudy 2023.12.18

git clone -- recursive 옵션의 의미

💡 git clone -- recursive 무엇인가? 위에 프로젝트는 Lerna를 활용한 모노레포 프로젝트 저장소이다. 위 오픈소스를 clone 할때 --recursive 옵션을 추가 해야 한다고 나와있다. 해당 옵션을 설정 안하고 clone 하게 되면 WIGOEditor 폴더 아래는 비워진 폴더로 clone 이 된다. 그래서 해당 옵션을 설정함으로 하위 서브 모듈에 까지 clone한다. 💡 서브 모듈이란? 서브 모듈은 기존 저장소 하위에 다른 저장소가 존재한다는 것이다. 그것은 .git 파일이 있음으로 저장소를 확인할 수 있다. 상위에 .git 과 하위에 .git 파일 2개 존재하는 것을 확인할 수 있다. ex: 아래와 같이 한개의 프로젝트에 2개의 .git 파일을 볼수 있다. git clone 사용..

Git 2023.07.13

보일러플레이트(Boilerplate code)란? - 개념, 필요한 이유

👋 보일러 플레이트란? 코딩을 하다 보면 의미 없는 코딩을 할 때도 있고 불필요한 작업에 때문에 업무 생산성이 떨어지는 경우가 있습니다. 이럴 경우를 대비해 보일러 플레이트로 기본적인 골격을 미리 만들어서 업그레이드하는 방식이며 불필요한 코드와 생산성을 높일 수 있는 방법이다. 개발자에게 보일러 플레이트 란? 코딩에서 보일러 플레이트는 개발자에게 꼭 필요한 요소이다. 직접 타이핑, 반복적인 작업, 하드 코딩 등은 자동화로 맡겨 버리고 꼭 필요한 코딩을 할 수 있도록 도와주는 방법이 보일러 플레이트입니다. 가장 대표적인 예로 create-react-app 활용하면 미리 갖춰진 골격을 주고 개발자는 거기서 원하는 서비스에 맞춰서 개발을 하는 것이다. 만약 create-react-app 없이 첨부터 세팅을 한..

ITstudy 2023.07.12

GitLab 개념 & 정리

GitLab이란? - 프로젝트 버전 관리를 위해서 사용 - 소스코드를 저장할 수 있는 서버를 운영하고 서버에 저장 함으로 버전관리, 협업, 백업, 유지보수 등 다양한 장점이 있다. - CI및 CD를 구축해서 프로젝트에 생산성을 높일 수 있고 코드 컴토및 안전하게 관리가 가능하다. 1. Git 설치 https://git-scm.com/ Git git-scm.com 2. Gitlab 프로젝트 셋팅 3. Gitlab Config 셋팅 사용자이름과 이메일 주소 전역으로 셋팅 git config --global user.name "yoo" git config --global user.email "yoo@gmail.com" 사용자 config 확인 # git config --list user.name=yoo use..

Git 2023.07.10

자바스크립트 알고리즘 52 일차 (프로그래머스)

52일차 첫번째 문제 문제: 나머지가 1이 되는 수 찾기 난이도: 하 풀이 과정: 나머지가 1이 되는 가장 작은 자연수를 찾기 위해서 매개변수 n 개수만큼 for 문을 순회하고 n % i 나눈 나머지 값이 1 조건에 만족하는 경우가 가장 작은 자연수 이기때문에 i 값을 return 한다. 참고사항: 산술 연산자: % 나눈 나머지값을 반환 https://school.programmers.co.kr/learn/courses/30/lessons/87389 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 51 일차 (프로그래머스)

51일차 첫번째 문제 문제: 숫자 문자열과 영단어 난이도: 중 풀이 과정: 매개 변수 s 문자열 length만큼 for문을 순회하고 변수 2개들 만들고 순회하는 원소 값이 숫자면 정규식 조건에 걸려 result 에 값을 할당하고 숫자가 아니고 문자열이면 currentNumber에 문자를 할당해서 numberMap에 문자열에 프로퍼티가 할당 되면 프로퍼티에 값을 할당하고 currnentNumber 값을 초기화 해준다. 참고사항: 문자열도 길이가 있어서 for문 순회가 가능하다. hasOwnProperty는 객체에 특정 값이 있는지 블리언 값으로 반환한다. https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용...

자바스크립트 알고리즘 50 일차 (프로그래머스)

50일차 첫번째 문제 문제: 제일 작은수 제거하기 난이도: 하 풀이 과정: 매개변수 arr를 Math.min 스프레드 구문으로 배열에 최소값을 찾아서 상수에 담고 매개변수 arr filter 메소드를 활용해서 최소값에 상수와 다른것들만 걸러내서 상수에 담는다. 배열에 값이 1개거나 이하라면 [-1]반환하고 아니면 filter로 걸러낸 배열에 값을 return 참고사항: Math.min() 최소값을 찾을수 있고 스프레드 구문으로 배열에 최소값을 찾는다. Math.max() 최대값을 찾을수 있다. filter 함수는 배열에 순회해서 값들을 필터할 수 있다. 삼항연산자 true = ? false = : https://school.programmers.co.kr/learn/courses/30/lessons/12..

자바스크립트 알고리즘 49 일차 (프로그래머스)

49일차 첫번째 문제 문제: 직사각형 별찍기 난이도: 하 풀이 과정: row 3줄이며 a N개수 만큼 * 채워져야해서 repeat 함수로 문자열을 개수만큼 돌려서 셋팅하고 b개수만큼 for 문을 순회하며 값을 출력한다. 참고사항: repeat 함수는 문자열은 개수만큼 반복한다. 이 문제 로직은 게시판에서 별표 평점을 내는 기능이나 이런곳에서 활용할수 있는 로직으로 문제를 풀었다. https://school.programmers.co.kr/learn/courses/30/lessons/12969 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 48 일차 (프로그래머스)

47일차 첫번째 문제 문제: 부족한 금액 계산하기 난이도: 중하 풀이 과정: 매개변수 price, money, count 자연수로 넘어오고 count만큼 for문을 순회하고 result 변수에 price N배의 값을 축적한다. money 값이 result 값에 같거나 이상이면 반환할 값이 없기 때문에 0 아니라면 result값과 money값을 빼줘서 return한다. 참고사항: 삼항연산자는 조건 연산자로 가독성과 쉽게 조건문을 표현할 수 있다. https://school.programmers.co.kr/learn/courses/30/lessons/82612 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을..

자바스크립트 알고리즘 47 일차 (프로그래머스)

47일차 첫번째 문제 문제: 없는 숫자 더하기 난이도: 중하 풀이 과정: 매개변수로 넘어오는 배열에 원소는 0~9 중 일부가 있어서 0~9 숫자가 담긴 배열을 하나 만들고 for문으로 순회하면서 매개변수 배열에 특정 숫자가 없으면 그 숫자를 result에 더해서 return 값을 반환 참고사항: let 블록스코프이며 재할당이 가능하다. includes 메소드는 특정 문자열을 찾는데 사용하면 특정문자열이 있으면 true 없으면 false 반환한다 https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을..