개발이나 학부생 연구원으로 일할 때 API라는 것을 꽤 자주 접하게 되었다. 처음 API라는 것을 쓸때, API가 뭔지도 모르고 그냥 가이드라인에 따라서 사용했었다. 늦게나마 API에 대한 개념을 확실하게 잡고 넘어가고 싶어 정리하게 되었다. API(Application Programming Interfaces)는 어플리케이션 소프트웨어 및 서비스를 통합하는 툴, 정의, 프로토콜의 세트. 제품과 서비스가 서로 커뮤니케이션할 수 있도록 도와주는 기능을 제공 한 프로램에서 다른 프로그램으로 데이터를 주고바는 방법 이라고 정의할 수 있다. API 역할 서버와 데이터베이스에 대한 출입구 역할 API는 서버와 데이터 베이스에 대한 출/입을 관리하며, 허용된 사람들에게 접근성을 부여한다. 애플리케이션과 기기가 원할..
Vue를 공부하면서 Vue와 React의 차이를 공부했었다. Vue는 웹 프레임워크이고 React는 라이브러리라는 점이 달랐다. 프레임워크와 라이브러리라는 것에 대해 정확하게 알고 넘어간 적이 없는 것 같아서 짧게 정리 해놓으려 한다. 1. 프레임워크(FrameWork) 프레임(Frame)이라고 하면 철제 틀 같이 기본 형태를 잡아주는 것이라는 생각이 들고, 워크(Work)라는 것은 작업, 일이라는 뜻이니까 기본적인 틀을 가지고 하는 작업 정도가 아닐까하는 생각을 했었다. 프레임워크는 앱 개발시에 필수적으로 있어야하는 코드, 알고리즘, 데이터베이스 등 최소한의 뼈대를 제공하는 것이다. 그러면 이제 개발자는 그 뼈대를 가지고 필요한 기능들을 구현하는 것이다. 2. 라이브러리(Library) 라이브러리는 프..
SPA(Single Page Application) SPA는 단일 페이지 애플리케이션으로, 기본적으로 하나의 페이지로 구성되어있다. 기존의 웹 페이지는 서버로부터 요청을 할 때마다 새로고침이 발생하여 웹 페이지 구성에 필요한 리소스를 받는다. 이렇게 기존의 서버로부터 리소스를 받는 형식을 서버 사이드 렌더링(Server-side rendering)이라고 한다. 서버 사이드 렌더링(Server-side rendering) 방식은 보통 header, footer 부분을 제외하고 contents 부분을 렌더링 받는데 이때 변하지 않는 부분도 새롭게 랜더링하기 때문에 비효율적인 부분이 있다. 반면, SPA의 경우 모든 정적 리소스를 한 번에 전달받아 사용한다. SPA로 설계된 웹페이지를 보면 화면을 랜더링할때 ..
동기(Synchronous)와 비동기(Asynchronous)는 개념적으로 많이 접해보았지만 프로젝트를 진행하면서 '비동기(또는 동기)적으로 처리'라고 하는 부분이 나올 때마다 흠칫하는 나 자신을 보면서 정리를 하면 좋겠다는 생각을 했다. 동기, 비동기 처리라는 개념은 언어를 불문하고 적용되는 개념이다. 가장 흔히 설명에 사용되는 경우는 마트에서 결제를 할 때, 계산대가 한 곳에 맛있으면 사람들은 한 명의 결제가 끝나기 전까지 대기상태에 있어야 한다. 하지만 계산대가 여러 개 있다면 늦게 도착한 사람이라도 계산이 먼저 끝날 수 있고, 여러 개의 계산을 동시에 진행할 수 있다. 동기(Syncronous) 동기적 처리는 하나의 요청을 보낸 후, 결과를 받고 나서 다음 요청을 보내는 방식이다. 모든 과정이 순..
안녕하세요 오늘은 프로그래머스 '방문 길이' 문제 풀이입니다. 문제 링크입니다! programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr ● 문제 간단 설명 5 X 5위의 좌표평면에서 주어진 문자열에 따라 (0, 0)에서 시작하여 점을 움직일 때, 점이 새롭게 이동한 길의 개수를 구하는 문제입니다. ● 문제 해결 방향 새롭게 이동한 길이라는 것에서 조금 헷갈렸는데 예를 들어 (0, 0) --> (0, 1)로 이동했다고 할 때, 이후 이동에서 (0, 0) --> (0, 1)이나 (0, 1) --> (0, 0)으로 이동한 경우는 이전에 같은 경로로 이동한 이력이 있기 때문에 새롭게 이동했다고 생각하지 않습니다. 따라..
안녕하세요! 프로그래머스 '다음 큰 숫자' 문제 풀이입니다. 문제 링크입니다! programmers.co.kr/learn/courses/30/lessons/12911 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr ● 문제 간단 설명 주어진 10진수 숫자보다 크면서 2진수로 변환했을 때 1의 개수가 같은 최솟값을 찾는 문제입니다. ● 문제 해결 방향 간단하게 주어진 숫자를 2진수로 바꾸어 1의 개수를 세고, 주어진 숫자에서 하나씩 수를 키워가면서 그 1의 개수를 비교하는 방식으..
안녕하세요 오늘은 프로그래머스 최솟값 만들기 문제 풀이입니다. 문제 링크입니다! programmers.co.kr/learn/courses/30/lessons/12941 코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱 programmers.co.kr ● 문제 간단 설명 주어진 길이가 같은 배열 두 개가 주어질 때, 각 배열의 요소를 1 대 1로 곱한 값들의 합의 최솟값을 구하는 문제입니다. ● 문제 해결 방향 최소가 되는 경우는 A 배열에서 최댓값과 B배열에서 최솟값을 곱할 때 그 합이 최소가 될 것이라고 생각했습니다. ..
안녕하세요 프로그래머스 '문자열 압축' 문제 풀이입니다. 문제 링크입니다! programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr ● 문제 간단 설명 주어진 문자열에서 중복되는 문자열에 대해서 반복을 제거하고 반복하는 숫자만큼 앞에 숫자를 붙일 때, 가장 짧은 문자열의 길이를 반환하는 문제입니다. ● 문제 해결 방향 저는 단위 문자열을 하나씩 늘려가면서 중복된 값을 계산하여 압축 문자열의 길이를 구하고 그중 가장 짧은 문자..
오늘은 동적 계획법(Dynamic Programming)에 대해 정리하려고 합니다. 그리디 알고리즘(Greedy Algorithm) 코딩 문제를 풀다가 그리디 알고리즘(Greedy Algorithm) 정리가 필요할 거 같아서 정리하던 도중 동적 계획법(Dynamic Programming)에 대해서도 정리하면 좋을 것 같아 정리하려 합니다. 동적 계획법은 '큰 문제를 작은 문제로 나누어 푸는 방법' 입니다. 동적 계획법은 분할 정복(Divide and Conquer)과 문제를 작은 단위로 분해한다는 비슷한 점이 있습니다. (분할 정복은 문제를 나눌 수 없을 때까지 쪼갠 후 하나씩 처리하면서 결과를 합치는 알고리즘입니다.) 하지만 동적 계획법과 분할 정복의 가장 큰 차이점은 같은 연산을 중복하냐 안 하냐의 ..
안녕하세요 프로그래머스 오픈 채팅방 문제 풀이입니다. 문제는 아래의 링크로 확인해주세요! programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr ● 문제 간단 설명 오픈 채팅방을 사용하는 경우는 아래 세 가지와 같습니다. 채팅방에 들어오는 경우 : 채팅방에 'OOO님이 들어왔습니다'라고 화면에 출력됩니다. 채팅방을 나가는 경우 : 채팅방에 'OOO님이 나갔습니다.'라고 화면에 출력됩니다. 채팅방에서 닉네임을 변경하는 경우 : 채팅..
- Total
- Today
- Yesterday
- Vuex
- Vue.js
- 파이썬
- 상호평가
- v-for
- webpack
- GraphQL
- SPA
- 알고리즘
- Repository Pattern
- SOAP API
- clean code
- reactrouter
- Transpiler
- AxiosInterceptor
- redux
- error
- 프로그래머스
- Preloading
- redux-thunk
- python
- 백준
- Vue
- bundler
- TypeScript
- 문제풀이
- React.memo
- programmers
- React
- js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |