본문 바로가기

분류 전체보기32

pyenv와 poetry 파이썬 프로젝트를 진행할 때 pyenv와 poetry라는 도구를 이용하여 패키지를 관리하는 방법에 대해 알아보겠습니다. poetry 어떤 파이썬 프로젝트를 만들던, 그 안에서 사용하고 있는 모듈과 패키지들이 있습니다. 그리고 해당 모듈이나 패키지들이 사용하고 있는 특정 버전도 있을 테고요. 그러나 만약 다른 사람이 이 프로젝트를 가져와 작업을 계속하고 싶다면 이 프로젝트에 설치된 패키지들의 종류가 무엇이 있는지 알기 쉽지 않을 겁니다. 만약 프로젝트 작업을 위해 설치해야 하는 패키지 이름과 버전이 명시된 문서가 있으면 어떨까요? poetry는 바로 이러한 문서를 제공하고, 문서에 제공된 내용대로 필요한 패키지들을 모두 불러와 한번에 로컬 기기에 설치하는 것을 도와줍니다. pyenv 그럼 프로젝트를 위해 .. 2022. 1. 26.
[JavaScript] 배열 메소드 자바스크립트의 배열(Array)에 내장된 다양한 메소드들에 대해 알아보겠습니다. forEach 메소드 forEach는 호출 시 argument로 콜백함수를 작성해주면 그 콜백함수로 배열의 요소를 순서대로 하나씩 전달하면서 매번 함수를 실행시키는 방식으로 동작하는 메소드입니다. 콜백함수: 다른 함수의 파라미터로 전달된 함수 const members = ["KM", "JH", "JS"]; members.forEach((member, index, arr) => { console.log(index, member, arr); }); /* 0 KM ["KM", "JH", "JS"] 1 JH ["KM", "JH", "JS"] 2 JS ["KM", "JH", "JS"] */ 콜백함수의 첫번째 파라미터는 배열의 요소, .. 2021. 12. 28.
[Python] 디버깅과 로그 여러분들은 어떻게 디버깅을 하시나요? 보통은 코드의 특정 위치에 print()문을 띄워서 데이터의 출력값이나 코드의 흐름을 콘솔에 띄울 수 있는데요, 이것 보다 좀 더 세련되고 정형화된 방법으로 로그를 띄우는 방법에 대해 알아봅시다. 파이썬에서는 logging이라는 모듈을 사용하여 로그를 띄울 수 있습니다. 로거 생성과 레벨 설정 getLogger 함수를 통해서 특정 이름을 가진 로거를 생성할 수 있습니다. 그리고 생성된 로거에 setLevel 메소드를 이용해 로깅의 레벨을 정할 수 있습니다. import logging logger = logging.getLogger("my_log") logger.setLevel(logging.INFO) 로깅의 레벨은 다음과 같이 크게 6단계가 있습니다. Level Nu.. 2021. 12. 16.
[JavaScript] 트렌디한 자바스크립트 표기법 최신 버전의 자바스크립트의 특성을 이해하고 문법을 공부한 후, 실제 코드에 적용해 좀 더 깔끔하고 효율적으로 코드를 작성하는 방법에 대해 알아봅시다. 2015년 ES6버전의 자바스크립트가 나온 후로 자바스크립트는 매년 새로운 기능이 추가되거나 기존 기능이 삭제되면서 업데이트 되고 있습니다. 따라서 현재 코딩하고 있는 자바스크립트 코드와 서비스가 배포될 브라우저의 호환성을 체크하는 것이 중요합니다. 공식 ECMA-262문서: https://www.ecma-international.org/publications-and-standards/standards/ecma-262/ ECMA-262 - Ecma International ECMAScript® 2020 language specification, 11th e.. 2021. 12. 11.
[Python] 비동기 프로그래밍 비동기 프로그래밍은 동기적 프로그래밍의 반대말인데요, 그럼 동기적 프로그래밍은 뭘까요? 일반적으로 우리가 작성한 코드는 프로세스가 진행됨에 따라 코드상 작성된 작업들을 순차적으로 처리하게 되는데, 하나의 작업을 시작하면 그 작업이 끝날 때 까지 다른 작업을 시작하지 않습니다. 이를 동기적 프로그래밍이라 합니다. 그러나 비동기 프로그래밍은 응답을 기다려야 일이 발생했을 때 기다리지 않고 바로 다음 작업에 착수합니다. 따라서 데이터를 요청하고 응답을 기다리는 스타일의 코드에서 큰 성능을 보일 수 있습니다. 비동기 프로그래밍에 대한 설명을 시작하기 전, 용어들에 대한 정리를 먼저 확실하게 해두겠습니다. 이벤트 루프: 이벤트 루프는 여러 작업들을 돌아가며 하나씩 실행시키는 메인 작업 관리자의 역할을 합니다. 만.. 2021. 12. 7.
[네트워크] HTTP HTTP는 웹상에서 서로 다른 서버 간에 HTML 같은 하이퍼텍스트 문서나 데이터를 주고받을 수 있도록 만들어진 통신 프로토콜입니다. 웹상에서 네트워크를 통해 서버 사이를 통신할 때 우리들은 규정된 '통신 형식'을 사용해야 하는데요, 이러한 통신 형식을 프로토콜이라고 하고, 프로토콜 중에 가장 널리 사용되는 프로토콜이 바로 HTTP입니다. 개발에 있어 프로트엔드 시스템과 백엔드 API 시스템은 일반적으로 HTTP 프로토콜을 기반으로 통신하기 때문에 개발을 하기 위해선 HTTP에 대한 이해는 필수적입니다. 따라서, 이번 포스트에서는 다음과 같은 목차의 순서대로 HTTP의 구조 및 요소들에 대해 알아보겠습니다. (API: 프로그램들이 서로 상호작용하는 것을 도와주는 매개체.) HTTP 통신의 특징 HTTP .. 2021. 11. 30.