754 posts
파이썬의 random 모듈로 무작위 데이터 다루기

파이썬의 random 모듈로 무작위 데이터 다루기

파이썬에 내장된 random 모듈은 랜덤 숫자를 생성 뿐만 아니라 다양한 랜덤 관련 함수를 제공합니다. 모듈 임포트 우선 random 모듈을 사용하려면 임포트해야 합니다. random() 함수 0부터 1사이의 랜덤 실수를 리턴합니다. uniform() 함수 2개의 숫자 사이의 랜덤 실수를 리턴합니다. randint() 함수 2개의 숫자 사이의 랜덤 정수를 리턴합니다. (2번째 인자로 넘어온 정수도 범위에 포함시킴) randrange() 함수 range(start, stop, step) 함수로 만들어지는 정수 중에 하나를 랜덤하게 리

AWS CLI로 Amazon S3 다루기 - 2

AWS CLI로 Amazon S3 다루기 - 2

이전 포스팅에서 AWS CLI의 aws s3 커맨드를 사용하는 방법에 대해서 살펴보았습니다. 이번 포스팅에서는 aws s3api 커맨드를 통해서 Amazon S3를 좀 더 세밀하게 제어하는 방법에대해서 알아보도록 하겠습니다. S3 버킷의 Region 확인 종종 본인이 생성한 S3 버킷이 속한 Region이 어디인지 햇갈릴 때가 있습니다. 이럴 때는 aws s3api get-bucket-location 커맨드를 통해서 Region을 알아낼 수 있습니다. S3 버킷의 Life Cycle 설정 Amazon S3에 저장되어 있는 파일들의

파이썬에서 2진수, 8진수, 16진수 다루기

파이썬에서 2진수, 8진수, 16진수 다루기

이번 포스팅에서는 파이썬에서 진수를 다루는 여러 가지 방법에 대해서 알아보겠습니다. 다른 진수의 형태로 숫자를 표현하기 파이썬에서는 기본적으로 10진수 형태로 숫자를 표현하기 때문에 다른 진수의 형태로 숫자를 표현하려면 다음과 같이 숫자 앞에 접두어를 붙여줘야 합니다. 2진수: 0b 8진수: 0o 16진수: 0x 해당 진수에서 허용하는 범위에서 벗어난 숫자를 사용하면 SyntaxError가 발생하니 주의해야 합니다. 숫자에서 다른 진수의 문자열로 변환하기 파이썬은 bin(), oct(), hex()라는 내장 함수를 제공합니다. 이

AWS CLI로 Amazon S3 다루기 - 1

AWS CLI로 Amazon S3 다루기 - 1

Amazon S3는 AWS에서 제공하는 클라우드 스토리지 서비스입니다. AWS CLI를 이용하면 간편하게 S3 버킷을 제어하고 S3 오브젝트에 접근할 수 있으며, Unix의 파일 시스템 커맨드와 매우 유사해서 배우기도 쉽습니다. 이 번 포스팅에서는 자주 사용되는 AWS CLI의 Amazon S3 관련 커맨드을 살펴보도록 하겠습니다. 버킷 생성하기 Amazon S3에 데이터를 저장하려면 먼저 버킷(Bucket)을 생성해야 합니다. 버킷은 Amazon S3에서 파일 시스템의 최상위 디렉터리나 드라이브 정도의 역할을 하는 저장 단위 개념

AWS CLI로 DynamoDB 다루기

AWS CLI로 DynamoDB 다루기

DynamoDB는 AWS에서 제공하는 관리형 NoSQL 데이터베이스 서비스입니다. AWS CLI를 이용하면 간편하게 DynamoDB 테이블을 제어하고 테이터에 접근할 수 있습니다. 이 번 포스팅에서는 자주 사용되는 AWS CLI의 DynamoDB 관련 커맨드을 살펴보도록 하겠습니다. 테이블 생성하기 아직 본인 AWS 계정에 DynamoDB 테이블이 없으신 분들은 일단 테이블부터 생성하셔야 합니다. 예제로 과일 정보를 저장하기 위해서 Fruits 테이블을 생성해보겠습니다. aws dynamodb create-table 커맨드를 사용하

grep 명령어 사용법: 텍스트 검색의 기본기

grep 명령어 사용법: 텍스트 검색의 기본기

코딩 에이전트를 쓰다 보면 터미널 로그에 grep이 심심찮게 지나가는 걸 보게 됩니다. 클로드 코드(Claude Code)나 Cursor 같은 도구가 코드베이스에서 함수 정의를 찾거나 특정 패턴을 추적할 때 내부적으로 grep을 돌리거든요. 예전부터 있던 명령어인데 AI 시대에 오히려 더 자주 보게 된 셈이죠. grep은 Globally search a Regular Expression and Print matching lines의 약자입니다. 이름 그대로 파일이나 입력 스트림에서 특정 패턴과 일치하는 줄을 찾아서 출력하는 도구예요

AWS CLI로 인증 정보 (Access Key ID, Secret Access Key) 관리하기

AWS CLI로 인증 정보 (Access Key ID, Secret Access Key) 관리하기

AWS(Amazon Web Services)에 접근하기 위해서는 필수적으로 인증 절차가 필요합니다. 웹 브라우저에서 AWS Management Console을 통해 접근하든지, 터미널에서 AWS CLI를 사용하여 접근하든지, 애플리케이션이 AWS SDK를 통해 접근하든지 절대 예외는 없지요. 이번 포스팅에서는 AWS의 인증 정보(Access Key ID, Secret Access Key)에 대한 기본 개념을 잡고, AWS CLI를 통해서 간단하게 AWS 인증 정보를 설정하고 프로파일로 관리하는 방법에 대해서 함께 실습을 해보겠습니다

CSS의 fixed position으로 메뉴바 상단 고정

CSS의 fixed position으로 메뉴바 상단 고정

fixed position을 이용해서 스크롤에 해도 따라가지 않고 항상 화면 상단에 고정되어 있는 메뉴바를 만들어보겠습니다. fixed position의 특징 CSS의 position 속성은 엘리먼트가 브라우저 화면에 어떻게 배치되는가를 결정합니다. 어떤 엘리먼트의 position 속성을 fixed로 지정해줄 경우, 해당 엘리먼트는 부모 엘리먼트로 부터 완전히 독립되어 브라우저 화면(viewport) 상에서 어디든지 원하는 위치에 자유롭게 배치시킬 수 있게 됩니다. 뿐만 아니라, 브라우저 화면을 스크롤했을 때도 영향을 받지 않기 때

자바스크립트 객체 복제 방법 총정리

자바스크립트 객체 복제 방법 총정리

자바스크립트로 코딩을 하시다가 객체가 의도하신 대로 복제되지 않아서 고생하신 적이 한 번 쯤은 있으실텐데요. 예를 들어, 다음과 같은 객체가 있다고 가정해보겠습니다. 여러분은 위 객체를 어떻게 복제하여 새로운 변수에 복제본을 할당하실 건가요? 원본에 영향이 없도록 안전하게 복제하실 자신이 있으신가요? 이번 포스팅에서는 자바스크립트에서 객체를 복제하는 다양한 방법에 대해서 실습을 통해서 한 번 정리해보도록 할께요. 우선 객체를 복제하다가 쉽게 범할 수 있는 실수에 대해서 살펴보고, 얇은 복제와 깊은 복제에 대한 개념을 잡아보겠습니다.

URL 인코딩이 무엇이고 왜 필요할까?

URL 인코딩이 무엇이고 왜 필요할까?

웹 개발을 하다 보면 한글이나 공백이 들어간 URL이 깨지거나, 쿼리 스트링에 특수 문자가 포함되어 의도치 않은 동작을 하는 경우를 종종 마주치게 되는데요. 이런 문제의 원인은 대부분 URL 인코딩과 관련이 있습니다. 이번 포스팅에서는 URL 인코딩이 무엇이고 왜 필요한지부터 짚어보겠습니다. 어떤 문자는 그대로 써도 되고 어떤 문자는 변환해야 하는지, 그리고 자바스크립트의 encodeURI와 encodeURIComponent 함수가 어떻게 다른지도 함께 살펴보겠습니다. URL 인코딩이 왜 필요할까요? URL은 인터넷에서 자원의 위치

CSS의 absolute position으로 이미지 캡션 겹치기

CSS의 absolute position으로 이미지 캡션 겹치기

지난 포스팅에서 absolute position의 기본적인 특징과 작동 매커니즘에 대해서 살펴보았습니다. 이번 포스팅에서는 absolute position를 응용해서 이미지 위에 캡션을 겹치는 방법에 대해서 알아보겠습니다. 기본 이미지 캡션 배치 웹페이지 상의 이미지에 캡션을 넣을 때는 보통 HTML5에서 도입된 <figure/>와 <figcpation/> 태그를 사용합니다. CSS의 position 속성을 건드리지 않으면 이미지와 캡션은 서로의 영역을 침범하지 않고 위아래로 차례대로 배치됩니다. absolute position 적

Node.js로 ES6 코드 실행하기 (Babel6)

Node.js로 ES6 코드 실행하기 (Babel6)

ES6(ES2105) 이상의 최신 자바스크립트 문법으로 작성된 코드가 노드JS(NodeJS)에서 실행이 안 되는 경우가 종종있습니다. 이럴 경우 어쩔 수 없이 예전 자바스크립트 문법으로 코드를 재작성하기도 하는데요. 이번 포스팅에서는 자바스크립트 Transpiler인 Babel을 이용하여 이 문제를 해결해보겠습니다. NodeJS에서 ES6 코드 실행 오류 먼저 간단한 예제 프로젝트를 하나를 만들겠습니다. babel-test라는 디렉터리에 NPM 패키지를 생성합니다. 이제 다음과 같이 매우 간단한 자바스크립트 코드를 작성해보겠습니다.

CSS의 absolute position 작동 메커니즘 이해

CSS의 absolute position 작동 메커니즘 이해

특정 HTML 요소를 상위 요소를 기준으로 배치시키기 위해서 사용하는 absolute position에 대해서 알아보겠습니다. HTML 요소 배치 관련 CSS 속성 CSS의 position 속성은 요소가 브라우저 화면에 어떻게 배치되는가를 결정합니다. 기본값은 static이며 relative나 absolute, fixed 등으로 변경이 가능하죠. 이번 포스팅에서 그 중에서도 가장 다루기 까다로운 absolute에 대해서 알아보려고 하는데요. position 속성을 static이 아닌 다른 값으로 설정했을 때, 함께 사용하는 포지셔닝

자바스크립트 ES 모듈 내보내기/불러오기 (import)

자바스크립트 ES 모듈 내보내기/불러오기 (import)

자바스크립트로 개발하다보면 require나 import 키워드를 통해 외부 라이브러리를 불러오는 코드를 자주 보게 됩니다. require는 Node.js에서 예전부터 사용되고 있는 CommonJS의 키워드이고, import는 ES6(ES2015)에서 새롭게 도입되어 현재 자바스크립트 생태계에서 표준이 되어가고 있는 키워드입니다. 두 개의 키워드 모두 하나의 파일에서 다른 파일의 코드를 불러온다는 동일한 목적을 가지고 있지만, 비슷한듯 약간씩 다른 문법 때문에 개발자들을 혼란스럽게 하기도 하죠. 예를 들어, 위 두 코드는 Expres

자바스크립트 CommonJS 모듈 내보내기/불러오기 (require)

자바스크립트 CommonJS 모듈 내보내기/불러오기 (require)

자바스크립트로 개발하다보면 require나 import 키워드를 통해 외부 라이브러리를 불러오는 코드를 자주 보게 됩니다. require는 Node.js에서 예전부터 사용되고 있는 CommonJS의 키워드이고, import는 ES6(ES2015)에서 새롭게 도입되어 현재 자바스크립트 생태계에서 표준이 되어가고 있는 키워드입니다. 두 개의 키워드 모두 하나의 파일에서 다른 파일의 코드를 불러온다는 동일한 목적을 가지고 있지만, 비슷한듯 약간씩 다른 문법 때문에 개발자들을 혼란스럽게 하기도 하죠. 예를 들어, 위 두 코드는 Expres

find 명령어 사용법: 파일 찾기의 기본기

find 명령어 사용법: 파일 찾기의 기본기

프로젝트가 커지면 파일을 찾는 것 자체가 일이 됩니다. "그 설정 파일이 어디 있었더라?", "테스트 파일이 몇 개나 되지?", "일주일 전에 수정한 파일이 뭐였지?" 같은 질문에 매번 파일 탐색기를 뒤지는 건 비효율적이죠. find는 디렉토리 트리를 탐색하면서 조건에 맞는 파일을 찾아주는 명령어입니다. 이름, 타입, 크기, 수정 시간 같은 다양한 조건을 조합할 수 있고, 찾은 파일에 대해 명령어를 바로 실행할 수도 있어요. 1970년대 Unix 시절부터 있었던 아주 오래된 도구인데, 그만큼 어디서든 쓸 수 있다는 게 강점입니다.

자바스크립트 개발자를 위한 필수 npm 커맨드 정리 (+npx)

자바스크립트 개발자를 위한 필수 npm 커맨드 정리 (+npx)

백엔드 개발을 하든 프론트엔드 개발을 하든 자바스크립트 프로젝트에서 npm(Node Package Manager)을 사용하는 것은 거의 필수적인데요. 이번 포스팅에서는 실무에서 자바스크립트 프로젝트를 하면서 자주 사용하게 되는 npm 커맨드들을 정리해보았습니다. 프로젝트 생성 npm init 커맨드를 사용하면 현재 디렉터리에 npm 기반으로 프로젝트를 생성할 수 있습니다. 커맨드를 실행하면 패키지 이름, 버전, 설명 등등을 입력하게 됩니다. 프로젝트를 생성할 때 이러한 정보들을 일일이 입력하는 게 귀찮게 느껴질 수 있습니다. 이 때

[Java8 Time API] Instant 사용법

[Java8 Time API] Instant 사용법

자바8 Time API의 Instant 클래스는 시간을 타임스탬프로 다루기 위해서 사용합니다. 타임스탬프는 UTC 기준으로 1970년 1월 1일 0시 0분 0초를 숫자 0으로 정하고 그로 부터 경과된 시간을 양수 또는 음수로 표현합니다. 타임스탬프는 인간에게는 직관적이지 않은 시간의 표현 방법이지만 고전적으로 기계에게는 매우 친화적인 방법으로 현재까지 널리 사용되어 왔습니다. 일단 시간을 표현하기 위해서 별도의 타입없이 기본 데이터 타입으로 표현이 가능한데다가, 타임존이 UTC로 고정되어 있기 때문에 타임스탬프가 어느 타임존 기준인

[Java8 Time API] Duration과 Period 사용법 (+ChronoUnit)

[Java8 Time API] Duration과 Period 사용법 (+ChronoUnit)

자바8에 추가된 Time 패키지에는 Duration과 Period라는 상당히 비슷해 보이는 2개의 클래스가 있습니다. 이 두개의 클래스는 둘 다 시간의 길이을 나타내기 위해서 사용되는데요. Duration은 두 "시간" 사이의 간격을 나타내는 반면에 Period는 두 "날짜" 사이의 간격을 나타낸다는 차이점이 있습니다. 이 게 무슨 말인지 예제를 통해서 살펴보도록 하겠습니다. Duration 먼저 Duration 클래스는 두 시간 사이의 간격을 초나 나노 초 단위로 나타냅니다. 다음 예제는 10시 35분 40초와 10시 36분 50

[Java8 Time API] ZonedDateTime 사용법

[Java8 Time API] ZonedDateTime 사용법

Java8에서 추가된 ZonedDateTime 사용법에 대해서 알아보겠습니다. ZonedDateTime는 LocalDateTime과 달리 타임존 또는 시차 개념을 가지고 있는 클래스입니다. ZonedDateTime ZonedDateTime 클래스는 타임존 또는 시차 개념이 필요한 날짜와 시간 정보를 나타내기 위해서 사용됩니다. public 생성자를 제공하지 않기 때문에 객체를 생성할 때는 now()나, of()와 같은 정적 메소드를 사용하도록 설계되어 있습니다. 제 PC의 타임존이 LA로 세팅이 되어 있어서, 인자없이 ZonedDa

Discord