본문 바로가기

분류 전체보기

(297)
ORM 이란? ORM 이란? Object Relational Mapping, 객체-관계 매핑 객체와 관계형 데이터베이스의 데이터를 자동을 매핑 (연결) 해주는 것을 말한다. 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다 객체 모델과 관계형 모델간의 불일치가 존재하므로 ORM을 통해 둘간의 관계의 불일치를 해결한다. 쉽게 말하면 SQL 의 쿼리를 직접 작성하지 않고 코드 형식으로 나타낼 수 있다는 것이다 const user = await models.Users.findOne({where: {id:1}}); 위의 코드는 원래 SQL 문으로는 SELECT * FROM Users WHERE id =1 이처럼 ORM 을 사용하면 직..
백앤드 개발자 로드맵
Level1 - 모의고사 (C++) 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작성해주세요...
Level1 - 문자열 내 마음대로 정리하기 (Python) 문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다. 제한 조건 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 입출력 예 stringsn return [sun, bed, car] 1 [car,..
Level1 - 문자열 내림차순으로 배치하기(Python) 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 입출력 예 s return Zbcdefg gfedcbZ def solution(s): answer = '' answer = "".join(sorted(s,reverse=True) ) #sorted하면 list 형태로 결과가 나오기 때문에 "".join으로 string형 만들기 return answer
웹서버 - Reverse Proxy란 Reverse Proxy란? Reverse Proxy란, Reverse Proxy는 클라이언트로부터의 요청을 받아서(필요하다면 주위에서 처리한 후) 적절한 웹 서버로 요청을 전송한다. 웹 서버는 요청을 받아서 평소처럼 처리를 하지만, 응답은 클라이언트로 보내지 않고 Reverse Proxy로 반환한다. 요청을 받은 Reverse Proxy는 그 응답을 클라이언트로 반환한다. 통상의 프락시 서버는 LAN -> WAN의 요청을 대리로 수행하지만 Reverse Proxy는 WAN -> LAN의 요청을 대리한다. 클라이언트로부터의 요청이 웹서버로 전달되는 도중의 처리에 끼어들어서 다양한 전후처리를 시행할 수가 있게 된다. Reverse Proxy를 사용하면 좋은 이유 시스템 전체의 메모리 사용효율 향상 동적 콘..
Elastic stack 구성 Elastic Stack 이란? Elastic Stack은 Elasticsearch(검색엔진, 저장), kibana(시각화), Logstash 및 Beats(로그수집)을 포함한다. Elastic Stack을 사용하면 데이터 위치 소스와 포맷에 관계 없이 모든 데이터를 실시간으로 검색, 분석 및 시각화가 가능하다 1. Elastic Search 일래스틱서치는 일래스틱 스택의 중심부에서 검색과 분석 엔진이라는 중요한 임무를 수행하게 된다. 일래스틱 서치의 특징을 알아보자. 특징 1. 스키마리스 및 도큐먼트 지향 일래스틱 서치는 엄격한 데이터 구조를 요구하지 않기 때문에 어떠한 JSON 도큐먼트도 저장할 수 있다. JSON 도큐먼트는 관계형 데이터베이스 에서는 행과 열로 사용하며 테이블의 레코드와 거의 같다고..
My SQL - pymysql cursor 개념 Cursor 클래스는 실제적으로 DB의 sql 구문을 실행시키고 조회된 결과를 가져오게 된다. pymysql default - tuple 반환 (예제1) import pymysql con = pymysql.connect('localhost', 'user'. 'psswd', 'testdb') with con.cursor() as cur: cur.execute('SELECT VERSION()') version = cur.fetchone() print(f'Database version: {version[0]}') cur.close() 1. execute() - sql statement 를 실행시키기 위해 execute 함수 호출 2. fetchone() - 조회된 결과로부터 데이터 1개(하나의 row)를 반환..