728x90

전체 글 108

[Server] about API (Application Programming Interface)

💎 API란 무엇인가? 💎 API는 Application Programming Interface의 줄임말로 두 애플리케이션 간의 요청과 응답을 구성하는 방법에 대한 정보가 들어있는 것 일반적으로는 웹 API를 많이 이야기 하지만, 모든 API가 웹 서비스인 것은 아니다. 역사적으로 봤을 때도 API가 www 이전에 만들어졌기 때문에 Java API, 서비스 API 등 다양한 용어가 존재한다. 요즘 특히 많이 사용하는 REST API는 이 웹 API 중에서도 표준 아키텍쳐 스타일을 사용하는 특수한 유형의 API이다. ( 따라서 내가 지정한 Server 카테고리도 사실 정확한 것은 아니나, 내가 서버 쪽으로 api를 많이 접해봤기 때문에 이 카테고리를 선택했다. ) ✨ API의 작동 방식 ✨ API 아키텍쳐..

개인공부/BE 2022.05.09

[프로그래머스 lv2] H-Index.java

https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index이다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하면 되는 문제이다. 입출력의 예는..

알고리즘 2022.05.06

[프로그래머스 lv3] 네트워크.py

https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미한다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있다. 컴퓨터의 개수 n..

알고리즘 2022.05.04

[Django] DRF(Django Rest Framework)

💕 DRF(Django Rest Framework)란? 💕 Django안에서 Restful API 서버를 쉽게 구축할 수 있도록 도와주는 오픈소스 라이브러리 Django는 파이썬으로 웹 서버를 구축할 수 있게 하는 툴이다. 서버 구축을 하게 된다면 거의 당연히 따라오는 것이 있는데, 바로 REST api 이다. REST는 HTTP의 URL과 HTTP method(GET, POST, PUT, DELETE)를 사용하여 API 사용 가독성을 높인 구조화된 시스템 아키텍쳐인데, DRF는 이 REST api 서버를 만드는 데 도움을 주는 툴이다. 💕 DRF(Django Rest Framework)의 장점 💕 - 범용성이 좋은 웹 브라우저 API를 사용한 쉬운 개발, RESTful한 서버를 보다 쉽고 빠르게 만들기..

개인공부/BE 2022.05.02

[백준 실버3] N과 M(2).py

https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 고른 수열은 오름차순이어야 한다. 입출력의 예는 다음과 같다. 예제 입력 1 복사 3 1 예제 출력 1 복사 1 2 3 예제 입력 2 복사 4 2 예제 출력 2 복사 1 2 1 3 1 4 2 3 2 4 3 4 예제 입력 3 복사 4..

알고리즘 2022.04.29

[프로그래머스 lv2] 조이스틱.py

https://programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 ..

알고리즘 2022.04.27

[프로그래머스 lv 1] k번째 수.java

https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 한다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3] 1에서 나온 배열을 정렬하면 [2, 3, 5, 6] 2에서 나온 배열의 3번째 숫자는 5 입출력의 예는 다음과 같다. array commands return..

알고리즘 2022.04.25

15주차 정리(4/11~4/15)

매우 많이 늦은 15주차 정리... 정리라기보단 이제 회고가 되어버렸지만.. 15주차에서는 판다스를 열심히 팠다. Pandas,, 귀여운 판다.. 하지만 코드는 귀엽지 않지 예전에 한번 해본적있지만 자세하게 코드를 분석해가면서 진행한 것은 아니었다보니 이번에 강의가 많은 도움이 되었다. csv나 크롤링한 데이터를 바로 정리해가면서 분석하는데, 정리하는 작업이 고되긴하지만 원하는대로 깔끔하게 정리가 된 데이터를 보면 열심히 정원수를 관리하는 정원사가 된 기분이다. 아직도 정리가 많이 안된 데이터를 보면 당황하긴하지만, 그래도 몇번 해봤다고 시작은 할 수 있게 되었다. 일단 플랜 상으로는 15주차에 판다스를 끝내는..? 거긴 하지만, 그래도 많은 연습이 필요한 과정이니만큼 계속 연습하려고 한다. 확실히 데이..

[프로그래머스 lv 3] 이중우선순위큐.java

https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현하면 되는 문제이다. 이중 우선순위 큐는 다음의 연산을 할 수 있는 자료구조를 말한다. 명령어 수행할 명령 I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 입출력의 예는 다음과 같다. operations return ["I 16","D 1"] [0,0] ["I 7","I..

알고리즘 2022.04.20

[Server] 로드밸런싱(Load Balancing)

로드밸런싱(Load Balancing) 일전에 AWS 서버 정리하면서 간단히 본적이 있는데, 아예 로드 밸런싱만 따로 정리하고 싶어서 이번 아티클을 준비했다. 우선 로드밸런싱의 정의는 다음과 같다. 여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술로, 둘 이상의 CPU 또는 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것 로드밸런싱이 필요한 이유 클라이언트가 적은 경우에는 서버가 여유롭게 사용자가 원하는 결과를 응답해줄수 있지만, ❓ 그러나 클라이언트가 굉장히 많은 경우에는? -> 서버는 최대한 응답하려하지만 결국에는 동작에 한계가 있어 응답이 어려워진다. (소위 말하는 서버 터짐) 따라서 적당히 서버를 늘리거나, 서버의 성능을 올려줘야함 ❗ 이런 서버에 가해지는 부하를 적절..

개인공부/BE 2022.04.18
728x90
반응형