분류 전체보기 58

프로그래머스 - 더 맵게(Python/파이썬)

문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다.Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 scovill..

ORM과 SQLAlchemy

몇 달 전 SQLD를 준비할 때, 그라데이션 분노를 느꼈던 적이 있습니다. sql을 통해 하려는 맥락은 다 똑같은 것 같은데 db 종류에 따라 아주 조금씩, 미세하게 문법이 달랐던 것입니다. 아니 왜 이건 통일이 되어있지 않고 다 미묘하게 다를까. 이 고민은 문제를 풀면 풀수록 쌓여서 마지막엔 그냥 하나만 잘하자 마인드로 시험을 봤던 것 같습니다. Is there a defined and accepted standard SQL language? 모든 DB가 공통적으로 사용하는 sql 의 기준 문법은 없는가? 이런 질문에 대해서도 ANSI standard가 있기는 하나, 모든 DB가 이 기준을 기반으로 각각의 subset을 만들어내고 있다고 답변이 올라와 있습니다. 상업적인 이유도 있겠고, 각각의 db가 ..

데이터베이스 2020.09.06

URI, URL이란?

웹 사이트의 이름? 우리는 평소에도 큰 고민 없이 인터넷에 소위 말하는 '주소'를 이용하여 접근하고 있다. 모든 서버나 서비스는 고유한 주소를 가지고 있는데, 이는 보통 숫자로 된 ip 주소로 구성되는데, 이걸 인간이 이해하기 쉽게끔 문자로 표현하고 이를 연결 지어주는 것이 dns 서버의 역할이라 할 수 있다. 그래서 그런지, 우리는 꼭 개발자가 아니더라도 url이라는 표현을 일상적으로 사용하는데, 일전에 회사에서 URI라는 단어를 처음 접하고 굉장히 당황했던 기억이 난다. 선배들이나 동료들에게 물어봐도 그냥 url이랑 비슷한 거예요, 라고만 대답이 돌아왔는데 최근에 다시 접하게 되어 기회가 닿은 김에 정리를 해보았다. URI vs URL vs URN URI: Uniform Resource Identif..

웹/배경지식 2020.08.30

부스트캠프2020 챌린지를 마치며

부스트캠프2020 부스트캠프는 네이버 커넥트 재단에서 2016년부터 진행하고 있는 코딩 교육 프로그램입니다. 한 달간의 챌린지 기간을 거쳐 선발된 인원은 약 4개월의 멤버십 과정을 진행하게 됩니다. 코스는 JavaScript를 기반으로 한 웹, Swift IOS를 기반으로 하는 앱 코스 두 가지이며, 제가 선택한 것은 웹 풀스택 코스입니다. 이번 부스트캠프2020의 챌린지 기간은 2020.07.27부터 2020.08.21까지 4주 동안 진행되었습니다. 코로나로 인해서 이번은 예전과는 다르게 완전히 온라인 환경에서 진행한 점도 참고 부탁드립니다. 부스트캠프 부스트캠프 개발자의 지속 가능한 성장을 추구하는 커뮤니티, 부스트캠프입니다. boostcamp.connect.or.kr 어쩌다 시작했는가 평화롭게(?)..

부스트캠프2020 2020.08.23

async, await, promise로 비동기 동기 처리하기

자바스크립트를 배워나가는 시점에서 가장 헷갈리는 것은 '비동기'인 것 같습니다. 어떤 개념인지는 이해하고, 대표적인 함수들은 알겠지만, 새로운 것을 가져올 때 의도한 대로 항상 동작하지 않아서 인터넷을 찾아보면 대부분 비동기였기 때문에 일어나는 문제였습니다. 자바스크립트에서도 다른 언어들처럼 db와 연결하여 쿼리문을 통해 데이터를 조회하거나 수정할 수 있습니다. 이걸 연습하던 도중, 쿼리문으로 조회한 내용을 어딘가 저장해두거나, 함수 안에서 받아서 추가적인 연산을 하고 싶거나, 혹은 그 값으로 다시 새로운 쿼리문을 작성해야 할 때 고민이 생겼습니다. 비동기다 보니, 그 값을 어딘가 담아두기도 애매하고 (node js 표준 입력에서 겪은 문제와 비슷한 거 같습니다) 하나를 처리하고 그다음으로 넘어가야 하는..

CPU와 연산

🎛 CPU 이해하기 어찌 보면 개발을 하면서 나를 위해 가장 열심히 뛰고 있는 건 CPU일 것이다. 컴퓨터에 필요한 연산은 대부분 이곳에서 이루어지고, 컴퓨터 구조나 공학을 전공하지 않는 내 입장에서는 그냥 컴퓨터의 뇌 같은 (저장의 관점에서는 조금 다르겠지만) 존재로만 인지하고 있었다. 그러다 문득 현재 사용하고 있는 맥북의 CPU가 궁금하여 찾아보게 되었는데, 내 기준에서는 참 암호 같은 문구이다. 2.6 GHz 6‑core Intel Core i7, Turbo Boost up to 4.5 GHz, with 12MB shared L3 cache 복잡하게 생각하지 말고 우선은 CPU 전반에 대해서 간략하게 짚고 넘어가보자. 🎛 CPU의 정의 한국어로는 중앙처리장치. 위키피디아의 정의를 빌리자면, 컴퓨터..

Computer/Hardware 2020.08.06

Node JS 표준 입력 받기

https://nodejs.org/api/readline.html Readline | Node.js v14.6.0 Documentation Readline# Source Code: lib/readline.js The readline module provides an interface for reading data from a Readable stream (such as process.stdin) one line at a time. It can be accessed using: const readline = require('readline'); The following simple exampl nodejs.org 로컬 환경에서의 테스트나 백준 알고리즘 문제를 풀 때는 표준 입력을 구현해야 하는 경우가 종종..

JavaScript 비동기 - Promise 알아보기

Promise란? Promise The Promise object represents the eventual completion (or failure) of an asynchronous operation, and its resulting value. developer.mozilla.org 자바스크립트를 처음 입문하는 입장에서, 기본적인 문법을 훑고나면 '비동기'에 대한 개념이 등장한다. 그와 동시에 소개 되는 것이 바로 promise인데, ECMAScript 2015에서 본격적으로 추가된 문법이라고 한다. 비동기는 어렵게 풀자면 한도 끝도 없겠지만, 입문자의 입장에서 이해한 바로는 하나의 코드가 실행되는 중에 다른 코드가 실행될 수 있는 것이다. 물론 자바스크립트 자체는 싱글 스레드에 동기적인 언어지만,..

카트 세이버(Cart Savior) - 농축수산물 가격 정보 웹 서비스- 개발 후기

프로젝트 소개 농수축산물 시세 보기 서비스 | 카트 세이버 내가 집어든 이 양파, 싼 걸까, 비싼걸까? 그 기준을 제시해 드립니다. www.cartsavior.ga 카트 세이버는 농축수산물의 최근 평균 가격을 확인하는 반응형 웹 페이지입니다. 정부에서 제공하는 농수축산물 가격 정보 공공데이터를 가져와 작업을 했고 약 80개의 품목에 대해 평균가를 제공하고 있습니다. 이 포스팅은 2020년 4월부터 6월말까지 약 2개월에 걸쳐 진행된 개발 과정에 대한 후기입니다. 깃헙 링크 pje1740/cart_savior A repository for 42 project related to grocery shopping - pje1740/cart_savior github.com 개발에 사용된 모든 소스와 코드는 프로젝..

프로젝트 2020.07.12

[Java][트리] Leetcode - 116. Populating Next Right Pointers in Each Node

Populating Next Right Pointers in Each Node - LeetCode Populating Next Right Pointers in Each Node - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 완전 이진트리를 가지고 푸는 문제로, 재귀 없이 BFS적으로 접근하면서 풀 수 있다. 문제의 번역은 아래와 같다. 완전 이진 트리는 리프(끝 노드)가 모두 같은 레벨에 있고, 모든 부모 노드는 두 개의 자식 노드를 가진다. 한 마디로, 모..