Curt Poem

프론트 엔드 공부와 지식 나눔을 위한 블로그

전체 글 91

쿠키와 세션 그리고 Web Storage API

들어가기 전에... 해당 포스팅에서 클라이언트와 (크롬과 같은)웹 브라우저는 같은 의미로 사용한다. 쿠키 웹 브라우저는 작은 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데이터를 함께 전송하는 데, 그 작은 데이터 조각들을 쿠키라고 한다. 쿠키는 서로 다른 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용한다. 쿠키의 동작 방식 클라이언트가 웹 페이지를 요청하면 웹 서버는 쿠키를 생성하여 응답 헤더에 이를 포함하여 클라이언트측에 전송 클라이언트는 전송받은 쿠키를 KEY-VALUE의 데이터 형식으로 저장 클라이언트는 쿠키를 저장했던 서버와 동일한 서버로 다시 요청을 보낼 때, 저장되어 있는 쿠키를 함께 전송 쿠키의 목적 상태가 없는(stateless) HTTP ..

[BOJ] 백준 2662번 기업투자 파이썬 Python

문제 어떤 투자가가 여러 기업들에게 돈을 투자해서 최대의 이익을 얻고자 한다. 단, 투자는 만원 단위로 할 수 있으며 각 기업은 많이 투자할수록 많은 이익을 투자가에게 돌려준다. 돈을 투자하지 않은 경우는 당연히 얻게 되는 이익도 없다. 예를 들어서, 한 투자가가 4만원을 갖고 두 개의 기업들에 각각 만원 단위로 투자했을 경우 얻을 수 있는 이익은 다음과 같다. 투자 액수 (만원) 기업 A 기업 B 1 5 1 2 6 5 3 7 9 4 8 15 위의 경우 만일, 기업 A에 1만원, 기업 B에 3만원을 투자하는 경우 투자가가 얻는 이익은 14만원(5만원+9만원)이다. 4만원을 투자해서 가장 많은 이익을 얻을 경우 기업 B에만 4만원을 투자하는 경우로서 이때의 이익은 15만원이다. 여기서 투자가는 한 기업에 ..

ERD(Entity Relationship Diagram, 개체 관계도)

ERD란? 데이터베이스에 저장된 객체를 개체(entity)와 관계(relationship)을 중심으로 작성한 다이어그램 엔터티가 상호 작용하는 방식을 보여주는 개념적 데이터 모델 또는 스키마 직사각형, 다이아몬드, 타원형 및 이들을 연결하는 선등 미리 약속된 기호들을 사용하여 각 엔터티의 속성과 관계를 나타낸다. 쉽게 표현하자면, 데이터베이스의 구조를 시각적으로 표현하는 도구이다. 이러한 모델 구조를 기반으로 API를 작성하면, 각 개체(DB의 테이블) 간의 관계를 효과적으로 표현하여 데이터베이스 설계를 돕는 역할을 한다. 개체(Entity, 엔터티) 엔터티는 특정 사람, 자동차, 집, 직원 등 물리적 존재를 갖는 객체, 혹은 회사, 직업, 대학 과정 등 개념적 존재를 갖는 객체를 뜻한다. 사진, 그래픽..

동기(synchronous)와 비동기(Asynchronous)(feat. 직렬과 병렬 그리고 블록과 논블록)

동기와 비동기동기한 작업이 다른 작업에 종속되어 순차적으로 실행되는 개념프로그램이 실행 될 때, 한 작업이 완료되고 나서야 다음 작업이 실행된다면 동기적인 것이다.작업(코드)의 순서가 곧 실행 순서이다.동기는 실행 순서가 보장되어 있다.비동기한 작업의 완료를 기다리지 않고, 다른 작업을 동시에 실행하도록 하는 프로그래밍 개념비동기적인 코드는 작업이 완료될 때까지 대기하지 않고, 다른 작업을 계속해서 진행한다.처리에 오랜 시간이 걸리는 작업(네트워크 통신, 파일 입출력, 웹 요청 등)이 존재할 시, 다른 작업을 실행함으로 효율적인 작업처리에 도움을 준다.작업(코드)의 순서와 실행의 순서가 다를 수 있다.동기는 실행 순서가 보장되어 있지 않다.실행 순서가 보장되어 있다?프로그래밍에서의 실행은 작업의 시작, ..

표현식 (expression)

어떤 프로그래밍 언어를 배우던 간에 표현식이라는 단어를 접해본 적이 있을 것이다.그다지 중요하지 않게 보고 넘어갈 수도 있겠지만, 표현식은 프로그래밍의 가장 기본적인 조각이다.표현식(expression)이란?일단 단어 자체의 뜻부터 파헤쳐 보자.표현이란, "눈앞에 나타나 보이는 사물의 이러저러한 모양과 상태"를 뜻한다.이 뜻을 참고하면 표현식은 모양과 상태를 나타내는 식이라고 볼 수 있다.그렇다면 식은 무엇인가? 사실 프로그래밍에서는 표현과 식은 비슷한 의미를 가진다.'식'을 광의적으로 해석한다면 '표현'이며,기본적인 구문 요소와 연산(operation)을 조합시킨 문법 단위를 가리킨다. MDN에서는 표현식을 어떤 값으로 이행하는 임의의 유효한 코드 단위로 정의하고 있다.결국 표현식이란 특정한 값을 ..

블로그 시작과 도서 추천: 실용주의 프로그래머

이 게시글은 데이비드토머스 와 앤드류헌트의 책 '실용주의 프로그래머'의 내용 중 일부를 정리한 것이다. "어떻게 해야 더 좋은 코드를 만들 수 있을까?"더 좋은 코드그렇다면 좋은 코드란 무엇인가?표현을 조금 다르게 해보겠다.좋은 코드는 목적에 맞게 잘 설계된 코드이다.잘 설계된 코드먼저 잘 설계된 코드에 대해 말해보자.물론 어떤 코드가 잘 설계된 코드인지 말하기는 아주 어렵다.특히 코딩 공부를 시작한지 4개월 밖에 되지 않은 나에게는 더욱!하지만 어떤 코드가 더 나은 코드인지 말할 수는 있다. "ETC: Easy To Change!"책 에서 거듭 강조하는 개념이다.쉽게 바꿀 수 있다는 게 무슨 말인가? 잘 설계되었다는 건 그 물건이 사용하는 사람에게 적응하여 맞춰진다는 것이다.이 말을 코드에 적용해 보면..

기타 2023.11.03