분류 전체보기
-
배열 요소의 조합을 찾는 문제Algorithm | Data structure/문제풀이 2022. 10. 31. 20:30
Q. twoSum 함수에 숫자배열과 '특정 수'를 인자로 넘기면, 더해서 '특정 수'가 나오는 index를 배열에 담아 return해 주세요. nums: 숫자 배열 target: 두 수를 더해서 나올 수 있는 합계 return: 두 수의 index를 가진 숫자 배열 예를 들어, nums은 [4, 9, 11, 14] target은 13 nums[0] + nums[1] = 4 + 9 = 13 이죠? 그러면 [0, 1]이 return 되어야 합니다. # 가정 target으로 보내는 합계의 조합은 배열 전체 중에 2개 밖에 없다고 가정하겠습니다. 답안 // 내 답안 const twoSum = (nums, target) => { // 아래 코드를 작성해주세요. let result = []; for (let i =..
-
Git 명령어 정리Git&Github 2022. 10. 30. 17:16
1. 초기세팅 이름 설정 : git config --global user.name "이름" 이메일 설정 : git config --global user.email "이메일” 2. 로컬레포지토리 관련 - git init : git 저장소를 생성 / 버전 관리를 위한 정보 생성 → 새로운 디렉토리를 만들고 그 폴더에서 git init을 쓰게 되면 깃 명령어를 쓸 수 있도록 세팅이 된다. - git status : git 상태를 확인하는 명령어 - git add : 파일 수정 이력 기록 준비 → 수정사항을 스테이징 하는 명령어 git add 파일이름 : 특정 파일만 이력을 남기고 싶을 때 git add . : 현재 위치한 폴더의 변경된 파일 전체의 이력을 남기고 싶을 때. - git commit : 파일 수정..
-
HTTPServer/기타 2022. 10. 30. 16:59
1. HTTP란 무엇인가? 1.1 HyperText - 정의 : 참조(하이퍼링크)를 통해 독자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트 1.2 Transfer - HTML 문서를 다른 컴퓨터에 주고 받는데 그 때, 보내는 주체와 받는 주체가 있다. 1.3 Protocol - 프로토콜은 협약, 통신 규약이라는 의미이다. 즉, HTTP는 컴퓨터끼리 어떻게 HTML 파일을 주고받을 지에 대한 통신 규약을 의미한다. 2. Stateless - Stateless = state(상태) + less(없음) 즉, 각각의 HTTP 통신(요청/응답)은 독립적이기 때문에 과거의 통신(요청/응답)에 대한 내용을 전혀 알지 못 한다는 특징. 따라서, 매 통신마다 필요한 모든 정보를 담아서 요청을 보내야 한다. 3..
-
[HOW] Node.js 모듈 시스템Server/Node.js 2022. 10. 30. 13:15
[이전 글 참고] 1. [WHAT] Node.js란 무엇인가? : https://growth-msleeffice.tistory.com/51 2. [WHY] Node.js 기반으로 API 서버를 구축하면 좋은 이유 : https://growth-msleeffice.tistory.com/52 3. [How] Node.js 모듈 시스템 3.1 Custom 모듈 만들기 모듈도 LEGO 블록과 마찬가지로 코드의 조각으로, 여러 모듈이 조합되어 하나의 소프트웨어를 이루게 됩니다. 즉, 프로그램을 만들 때 코드를 잘 모듈화해서 만들게 되면, 유지보수하기 쉬운 구조로 시스템을 만들 수 있습니다. 결국에는 모듈화가 잘 된 코드는 재사용성과 확장성을 높여 새로운 기능을 개발하거나 유지보수 할 때, 전체적인 비용을 감소시키..
-
[WHY] Node.js 기반으로 API 서버를 구축하면 좋은 이유Server/Node.js 2022. 10. 30. 13:13
[이전 글 참고] 1. [WHAT] Node.js란 무엇인가? : https://growth-msleeffice.tistory.com/51 [다음 글 참고] 3. Node.js 모듈 시스템 : https://growth-msleeffice.tistory.com/53 2. [Why] Node.js 기반으로 API 서버를 구축하면 좋은 이유 2.1 frontend와 backend 기술 스택 통합 - 클라이언트와 서버의 동일한 언어 사용으로 코드를 모듈로 만들어서 "재사용"가능 - FE개발자 서버 프로그래밍 접근성 향상 - 개발팀 생산성 향상 2.2 빠른 처리속도, 동시요청 처리 성능 - V8 엔진은 JIT 컴파일 방식, V8의 최적화 기법으로 놀라운 속도로 작업을 수행한다. - libuv라는 비동기 I/O에..
-
[WHAT] Node.js란 무엇인가?Server/Node.js 2022. 10. 30. 13:11
이번 주, 위코드에서 Node.js 세션이 시작되었다. JavaScript로 간단한 기능들을 구현하거나 문제풀이 했던 것과는 다르게 filesystem 객체를 활용해 가상의 데이터베이스에서 데이터를 뽑아오는 것도 해보고, GET, POST, PATCH, DELETE API도 구현해보면서 보다 실무와 가까워지는 느낌이 들어 뿌듯했다! 아직 클라이언트, 데이터베이스와 연결하는 작업은 하지 않았지만, 연결되었을 때를 상상하며 학습하고 과제를 완수했다. 멘토님들께서 보여주신 코드들과 내 코드를 비교해보니 배울 점이 많았다. 내 코드는 의식의 흐름대로 맥락없이 흘러내려간 글이라면, 멘토님들의 코드는 내용별로 단락 구분이 잘 된 정돈된 글이었다. 특히, 인상 깊었던 것은 함수지향 프로그래밍을 하고계신건가? 싶은데 ..
-
배열에서 최대값, 최소값 구하기Language/JavaScript 2022. 10. 29. 22:42
Q. find_longest_word 함수를 만들어 주세요. 주어진 리스트안에 있는 단어중 가장 긴 단어를 찾을수 있도록 함수를 완성해주세요. console.log(find_longest_word(["PHP", "Exercises", "Backend"])) // --> "Exercises" 이 문제는 풀이 접근을 잘 못했던 문제다. 1. 단어의 길이 수를 구한다. 2. 가장 긴 단어의 길이 수를 뽑는다. 3. 그 단어를 반환한다. 이 로직을 구현하기 위해 코드를 작성하고자 했으나, 가장 긴 단어의 길이를 구하는 로직이 복잡하게 느껴졌다. 배열에 있는 모든 요소의 길이를 구하고, 그 길이를 전부 개별로 비교할 수 있는 로직. 그래서, 첫 요소와 나머지 요소를 모두 비교하고 첫 요소보다 길이가 긴 요소만 필..
-
indexOf 메소드 하드코딩하기Language/JavaScript 2022. 10. 29. 16:54
Q. 문자와 문자열이 주어졌을때, 주어진 문자열에서 주어진 문자가 나타나는 첫번째 위치를 반환하는 getFind 함수를 작성하세요. Notes: 문자열의 첫번째 문자는 인덱스 값 0 을 가집니다. 만약 문자열에 해당 문자가 여러번 나타나면, 첫번째로 나타나는 위치를 반환해야 합니다. 만약 문자가 문자열에 존재하지 않는다면, -1 을 반환해야 합니다. 중요!! indexOf 함수를 사용하지 마세요. const output = getFind('a', 'I am a hacker') console.log(output) // --> 2 이 문제를 풀 때 주어진 filter가 sentence에서 처음 나타나는 index를 반환 하는 로직을 만드는 것은 어렵지 않았다. function getFind(filter, s..
-
Linux & TerminalServer/기타 2022. 10. 28. 15:22
Linux & Terminal 1. 운영체제 OS의 역할? 유저와 컴퓨터를 연결시켜준다. 사람과 기계 사이의 통역관! 컴퓨터는 생각보다 멍청하다. 0과 1밖에몰라 근데 계산은 되게 잘해. 그래서 0과 1 밖에 모르는 컴퓨터가 알아들을 수 있게 사용자의 명령을 OS가 변환해준다. 이건 OS의 부분적인 역할이고 OS는 컴퓨터의 자원관리도 해주고, 자원 보호까지 해준다. 그리고 효율적으로 컴퓨터를 사용할 수 있게끔 인증도 해준다. 1.1 커널과 쉘 사용자 ↔ 쉘 ↔ 커널 ↔ 하드웨어 터미널을 실행하면 뜨는 화면이 쉘이다. 쉘에는 여러가지가 있다 bash, zsh 근데 요새는 zsh를 많이 쓴다. 쉘은 사용자 입장에서 컴퓨터에게 명령을 내리는 곳이다. 그 명령을 커널이 가져다가 하드웨어에 전달을 해주고 하드웨어..
-
Database(DBMS, RDBMS)Database 2022. 10. 24. 19:28
DATABASE 1. 데이터베이스(Database)? [WHAT] - 데이터베이스의 정의 : 데이터베이스란 컴퓨터 시스템에 저장된 정보나 데이터를 모두 모아놓은 집합을 의미한다. 이런 데이터들은 보통 데이터베이스 관리 시스템(DBMS)으로 제어하고 관리한다. [WHY] 이러한 데이터는 왜 데이터베이스에 모아둘까? 비즈니스적 목적이라면 당연히 비즈니스 목적 달성을 위해서이다. 비즈니스 의사결정 등을 하는 여러 사람들이 서로 데이터를 공유하고, 그것을 활용할 목적으로 통합 관리되는 것이다. 엑셀로 관리하면 되지 왜 굳이 “데이터베이스”라는 것을 만들어서 데이터를 저장하느냐? 데이터베이스를 사용하기 이전에는 엑셀 같은 파일 시스템을 사용해서 데이터를 관리했었다고 한다. 이러면 데이터를 파일 단위로 그룹지어서 ..