목록분류 전체보기 (146)
개발자 블로그
시작하기에 앞서 객체지향 프로그래밍과 함수형 프로그래밍은 반대되는 개념이 아닌 상호 보완적 개념이라고 할 수 있다. 둘의 특징과 예시를 통해 무엇이 다른지 알아보며, 어떻게 적용하며 프로그래밍할지가 해당 주제의 핵심일 것 같다. 1. OOP 객체지향의 특성 다형성 : 오버로딩과 오버라이딩을 통해 기능(메소드)를 여러가지의 형태로 상황과 개발자의 선택에 따라 그 동작(형태)이 달라질 수 있음. 추상화 : 다수의 객체의 공통된 부분만을 추려내는 것, 복잡한 문제를 간단한(핵심적인) 형태로 구현해보는 것 캡슐화 : 객체의 메소드와 속성을 하나로 묶어 관리하는 방법이며, 정보 은닉(보호)과 재활용성 등의 목적이기도 하다. 상속성 : 부모 클래스(상위)의 특성을 토대로 자식(하위) 클래스를 생성하며 확장성과 유지..
인덱스라는 말은 실생활에서 책 앞단에서 많이 볼 수 있다. 목차라는 영어이다. 책으로 공부를 하면서 원하는 부분을 다시 보고 싶을 때가 있다. 그럴 때 목차를 통해 원하는 부분을 빠르게 볼 수 있다. 그렇다면, DBMS에서 인덱스는 어떤 기능을 하고 언제 어떻게 사용하면 좋을지 개념 위주로 살펴보자! 책과 DBMS에서 인덱스와의 공통점은 '정렬'이라는 것이다. 알파벳, 글자, 숫자 등 기준이 되는 것에 정렬이 되어 있다는 것이다. 바로 정렬이라는 것이 인덱스의 핵심이고 정렬을 통해 인덱스의 장점과 단점을 파악해볼 수 있다. 그럼 자료구조와 비교해서 설명을 하면 인덱스는 SortedList 자료 구조이고, 데이터 파일은 ArrayList와 빗대어 볼 수 있다. 두 가지 차이는 정렬을 한다. 안한다의 차이이..
eval 함수란 ? String type의 expressions의 실행 결과를 반환하는 함수 기업 코테를 보다 '34+41-213' 과 같은 부분이 있었다. 정규표현식을 활용해서 숫자와 연산자를 나눈 다음...인덱스를 비교해서 연산을 처리하면... 하지만 이런 생각을 쉽게 구현해줄 수 있는 함수이다. 공식문서 링크 해당 링크를 통해 사용할 때 참고하도록 하자!
-Wigs란? 웹서버와 연결시켜주는 프로토콜 같은 업무 웹서버와 파이썬 서버가 소통할 수 있게 해주는 미들웨어! -asgi란? wigs는 동기 함수만 지원, 비동기 방식을 지원 및 wigs를 보완하고자 나온 wigs의 상위호환 버젼. -포린키에 유니크 설정 True로 하면, onetonone 필드와 동일 실제로 아래와 같은 문구가 뜬다. 대충 해석해보면 포린키에 유니크 키를 트루로 설정하는 것은 onetoone필드로 설정하는 것과 같은데 그냥 OnetoOne필드로 설정해서 써~ 이런 말이다. -admin page 꾸미기 Def __str__ -> 어드민 페이지 어트리뷰트의 값을 원하는대로 보여지게 할 수 있다. 원래는 객체형태로 나오는데, 유저 프로필을 생성할 때, 설정한 이름으로 나오는 것을 확인 할 ..
0. 패킷 통신 규약 중 가장 보편적으로 쓰이는 TCP/IP 패킷 통신이 무엇인지, 패킷통신의 배경은 해당 링크를 참고! 1. TCP/IP는 프로토콜의 집합이다. 그렇다면, 프로토콜은 뭐지? 프로토콜은 규칙 및 약속이라고 생각하면 된다. 만약 우리가 다른 나라사람과 대화를 해야한다면, 우리는 언어가 다르기 때문에 소통의 어려움이 있을 수 있다. 때문에 어떻게 대화를 시작할지, 어떤 언어로 대화를 할지, 언제 대화를 끝낼지와 같은 약속이 필요하다. 이를 다시 네트워크로 빗대어 보면 다른 OS와 컴퓨터, 네트워크 기기가 서로 어떻게 파일(데이터)을 주고 받을지에 대한 약속이라고 한다. 프로토콜에는 여러가지가 있다. 데이터를 어떻게 보낼지, 데이터를 목적지까지 최적의 경로를 보내는 방법 등 인터넷과 관련된 프..
문제 보기 더보기 [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 "카카오 신입 개발자 공채" 관련 기사를 검색해보았다. 카카오 첫 공채..'블라인드' 방식 채용 카카오, 합병 후 첫 공채.. 블라인드 전형으로 개발자 채용 카카오, 블라인드 전형으로 신입 개발자 공채 카카오 공채, 신입 개발자 코딩 능력만 본다 카카오, 신입 공채.. "코딩 실력만 본다" 카카오 "코딩 능력만으로 2018..
문제 설명 더보기 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 새로운 메뉴를 제공하기로 결정했습니다. 어떤 단품메뉴들을 조합해서 코스요리 메뉴로 구성하면 좋을 지 고민하던 "스카피"는 이전에 각 손님들이 주문할 때 가장 많이 함께 주문한 단품메뉴들을 코스요리 메뉴로 구성하기로 했습니다. 단, 코스요리 메뉴는 최소 2가지 이상의 단품메뉴로 구성하려고 합니다. 또한, 최소 2명 이상의 손님으로부터 주문된 단품메뉴 조합에 대해서만 코스요리 메뉴 후보에 포함하기로 했습니다. 예를 들어, 손님 6명이 주문한 단품메뉴들의 조합이 다음과 같다면, (각 손님은 단품메뉴를 2개 이상 주..
우선 데이터 베이스에서의 조인을 집합과 비교해서 설명을 많이 하지만, 완전 같다고 볼 순 없다. 물론 이해하기 편하게 가시적으로 표현하기엔 집합에 비유가 찰떡이긴하다. 결론은 관계형 디비에서 연결이 되는 키를 갖고 테이블을 이어붙인다. 연결이 되는 n개의 테이블, 연결이 되는 키가 필요하고 기준이 되는 테이블에 따라 조인되어 반환이 된 테이블이 달라진다. 1. LEFT JOIN 가장 많이 쓰이며, 흔히 접하는 조인이다. A 테이블을 기준으로 연결이 되는 A의 키와 B의 키로 B 테이블을 합친 테이블을 반환! 단, B 테이블에 없는 값은 Null로 표현이 되어 A테이블에 연결이 된다. 왜냐면 A 테이블 기준이니까! 2. INNER JOIN 그림과 같이 교집합과 같은 부분이다. 두 테이블이 공통으로 갖고 있..
문제 설명 더보기 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 다음과 같이 2가지 방법이 있습니다. 타일을 가로로 배치 하는 경우 타일을 세로로 배치 하는 경우 예를들어서 n이 7인 직사각형은 다음과 같이 채울 수 있습니다. 직사각형의 가로의 길이 n이 매개변수로 주어질 때, 이 직사각형을 채우는 방법의 수를 return 하는 solution 함수를 완성해주세요. 제한사항 가로의 길이 n은 60,000이하의 자연수 입니다. 경우의 수가 많아 질 수 있으므로, 경우의 수를 1,000,000,007으로 나눈 나머지를 return해주세요. 입출력 예nresult 4 ..
문제 설명 더보기 n개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 return 하도록 solution을 완성하세요. 다리를 여러 번 건너더라도, 도달할 수만 있으면 통행 가능하다고 봅니다. 예를 들어 A 섬과 B 섬 사이에 다리가 있고, B 섬과 C 섬 사이에 다리가 있으면 A 섬과 C 섬은 서로 통행 가능합니다. 제한사항 섬의 개수 n은 1 이상 100 이하입니다. costs의 길이는 ((n-1) * n) / 2이하입니다. 임의의 i에 대해, costs[i][0] 와 costs[i] [1]에는 다리가 연결되는 두 섬의 번호가 들어있고, costs[i] [2]에는 이 두 섬을 연결하는 다리를 건설할 때 드는 비..