본문 바로가기
728x90

전체 글112

[JavaScript] 배열 합집합, 교집합 반환 / Set, filter, include 합집합const arrA = [1, 4, 3, 2]; const arrB = [5, 2, 6, 7, 1];const result = [...new Set([...arrA, ...arrB])]; // [1, 4, 3, 2, 5, 6, 7]  교집합const arrA = [1, 4, 3, 2]; const arrB = [5, 2, 6, 7, 1];const result = arrA.filter(it => arrB.includes(it)); // [1, 2] 2023. 12. 30.
[JavaScript] 배열 중복 제거 / set, map, reduce, filter Set숫자/문자열 const values = [3, 1, 3, 5, 2, 4, 4, 4];const uniqueValues = [...new Set(values)]; // [3, 1, 5, 2, 4] mapconst list = [3, 1, 3, 5, 2, 4, 4, 4]; const result = [...new Map(list.map(item => [item, item])).values()];console.log(result); // [3, 1, 5, 2, 4] reduceconst list = [3, 1, 3, 5, 2, 4, 4, 4];const result = list.reduce((accumulator, currentValue) => { if (!accumulator.includes(curr.. 2023. 12. 30.
[CS] 오픈소스 저작권: MIT, ISC, Apache License 등 주요 라이선스 완벽 정리 개요오픈소스 라이선스는 법률적, 기술적 지식 모두를 아우르는 복합적인 영역입니다.프로젝트의 사용 목적에 따라 적절한 라이선스를 선택하는 것은 필수입니다.이번 포스팅에서는 오픈소스 저작권의 카테고리와 특징, 그리고 주요 라이선스에 대해 정리해 보겠습니다.  오픈소스 저작권이란?저작권자의 권리법적으로 창작물의 저작자는 그 창작물에 대한 사용, 복사, 배포, 수정의 범위를 결정할 권리를 갖습니다.따라서 저작권자의 허락 없이는 이를 자유롭게 사용할 수 없습니다.오픈소스 라이선스의 역할오픈소스에서는 저작권자가 소스 코드의 사용 조건과 사용자가 준수해야 할 의무 사항을 라이선스를 통해 명시합니다.즉, 오픈소스라도 라이선스를 확인하지 않고 사용하면 저작권 침해 문제가 발생할 수 있습니다.중요: 오픈소스를 사용할 때는.. 2023. 12. 30.
[JavaScript] 특정 위치 문자 찾기 / charAt() const str = 'qwertyuiasdfghjk'console.log(str.charAt()); // qconsole.log(str.charAt(0)); // qconsole.log(str.charAt(5)); // yconsole.log(str.charAt(-1)); //''console.log(str.charAt(a)); // error 2023. 12. 27.
[JavaScript] 대문자, 소문자 변경 / toUpperCase(), toLowerCase() 대문자 -> 소문자toLowerCase()const str = 'hello World';console.log(str.toUpperCase()); // 'HELLO WORLD'  소문자 -> 대문자toUpperCase()const str = 'hello World';console.log(str.toLowerCase()); // 'hello world'   값 비교하기- 값 비교 시 대소문자를 통일하여 비교한다. 예를 들면1) 검색창 키워드 검색2) 대소문자 구분없는 아이디var string='UPPER lower';string=string.toUpperCase();console.log(string); //UPPER LOWERstring=string.toLowerCase();console.log(string.. 2023. 12. 27.
[JavaScript] 문자열 앞, 뒤 자르기 / substring() 앞에서 자르기const str = "helloworld";console.log(str.substring(0)) // 'helloworld'console.log(str.substring(0, 0)) // ''console.log(str.substring(0, 4)) // 'hello'console.log(str.substring(0, str.length)) // 'helloworld'  뒤에서 자르기const str = "helloworld";console.log(str.substring(str.length)) // ''console.log(str.substring(str.length-1)) // 'd'console.log(str.substring(str.length-5)) // 'world' 2023. 12. 27.
[Next.js] Next.js 프레임워크 소개 Next.js- react framework 중 하나다.- 리액트 문법을 사용하기 때문에 리액트 개발자가 쉽게 배울 수 있다.- 다양한 기능들을 추상화해서 제공하고 있다.- SSR을 기반으로 동작할 수있어서 인기가 많다. CSR / SSRclient-side rendering(CSR)장점사용자 입장에서 편안한 사이트를 만들 수 있다.단점로딩 속도로 인한 성능 저하가 있을 수 있다.server-side rendering(SSR)장점페이지가 브라우저에 로드되기전에 데이터를 미리 세팅하기 때문에 로딩 속도가 빠르다.js 언어로 작성하지만, js 빌드에 문제가 발생되어도 이미 서버가 렌더링 세팅을 맞췄기 때문에 화면에 데이터 표출할 수 있다.단점사용자 입장에서 사이트 속도가 버벅거린다고 느낄 수 있다. Next.. 2023. 12. 27.
[Git] Git Branch 전략- gitflow 와 네이밍 gitflow란?Git Branch 전략 중 하나로 아래 네이밍을 사용하여 작업하는 방식이다. gitflow의 5가지 대표 브랜치master제품으로 출시될 수 있는 브랜치기준이 되는 브랜치로 제품을 배포하는 브랜치develop다음 출시 버전을 개발하는 브랜치기능 개발을 위한 브랜치들을 병합하기 위해 사용하기도 한다개발 브랜치로 개발자들이 이 브랜치를 기준으로 각자 작업한 기능들을 Mergefeature : 단위 기능을 개발하는 브랜치로 기능 개발이 완료되면 develop 브랜치에 Mergerelease : 배포를 위해 master 브랜치로 보내기 전에 먼저 QA(품질검사)를 하기위한 브랜치hotfix : master 브랜치로 배포를 했는데 버그가 생겼을 떄 긴급 수정하는 브랜치  Branch 네이밍 규칙.. 2023. 12. 27.
[window] 실행 중인 서버 포트 강제 종료 방법(Taskkill) 개요 Node.js 등 웹서버를 창을 닫거나 ctrl+c로 나가는 경우 포트가 완전히 종료되지 않는다. 이런 경우 서버 충돌이 나서 포트를 완전히 종료 해야 할때가 있다. 방법 1. window + r 를 누르고 실행창을 열어 cmd창을 연다. 2. 아래 명령어를 입력한다. Taskkill /IM node.exe /F npx kill-port [PORT] 2023. 12. 22.
728x90