2025/01 17

[Section1] 파이썬 변수 사용

학습 환경1. 맥북 에어 M1 (MacBookAir M1)2. OS 버전: Sonoma 14.6.13. PyCharm 및 Python 3.13.1 [udemy] Python 부트캠프 : 100개의 프로젝트로 Python 개발 완전 정복을 통해 학습하고 있습니다.Printprint("Hello World!")# 결과Hello World! - ""는 기본적으로 문자열의 시작과 끝을 나타냄.   컴퓨터에게 "" 사이에 있는 것들은 코드가 아니라는 것을 알리는 것.   만약 "을 종료하지 않으면 에러가 발생하게 됨.  print("Hello world!\nHello World!\nHello World!")# 결과Hello World!Hello World!Hello World! - 개행문자 "\n"을 사용하여 문..

Language/Python 2025.01.08

Golang (Go언어) Go로 만드는 웹 (4)

Tucker의 Go 언어 프로그래밍 책과 유튜브를 통해 학습 중입니다. ✓ 테스트 코드 실행하기- 기존에 테스트하던 파일에 새로운 TestFoo라는 코드를 새로 만듦.func TestFooHandler_WithoutJson(t *testing.T) { assert := assert.New(t) res := httptest.NewRecorder() req := httptest.NewRequest("GET", "/foo", nil) mux := NewHttpHandler() mux.ServeHTTP(res, req) assert.Equal(http.StatusOK, res.Code)} - 위 코드 내용을 저장하고 터미널에 'go test'를 입력하면, FAIL이 되는 것을 확인할 수 있음.  → 이유는 ma..

Language/Golang 2025.01.08

Golang (Go언어) Go로 만드는 웹 (3)

Tucker의 Go 언어 프로그래밍 책과 유튜브를 통해 학습 중입니다. 테스트 환경 구성- 기존에 사용했던 디렉터리에서 새로운 디렉터리를 만들고 새 파일을 만들어 아래와 같이 수정함.//main.gopackage mainimport ( "Users//Web/myapp" "net/http")func main() { http.ListenAndServe(":3000", myapp.NewHttpHandler())} //app.go (New File)package myappimport ( "encoding/json" "fmt" "net/http" "time")type User struct { FirstName string `json:"First_name"` LastName string `json:"L..

Language/Golang 2025.01.07

Golang (Go언어) Go로 만드는 웹 (2)

Tucker의 Go 언어 프로그래밍 책과 유튜브를 통해 학습 중입니다. HTTP 동작 원리웹 브라우저에 도메인(ex. https://www.google.com) 을 입력한 뒤  엔터를 누르면,웹 브라우저는 도메인 네임 시스템(DNS)에 해당 도메인에 해당하는 IP 주소를 요청함. 만약, IP주소의 목적지가 컴퓨터라면 포트 번호는 수신한 데이터를 놓을 컴퓨터 내 창구와 같음.IP주소는 컴퓨터 자체를, 포트번호는 해당 컴퓨터 내 데이터를 수신할 수 있는 창구를 의미함.* 컴퓨터 포트는 0 ~ 65535번 포트를 가지고 있음. 포트 없이 https://www.google.com 을 입력하면, 기본 포트 번호로 요청을 전송함.- http는 80, https는 443즉, https://www.google.com은..

Language/Golang 2025.01.03

Golang (Go언어) Go로 만드는 웹 (1)

Tucker의 Go 언어 프로그래밍 책과 유튜브를 통해 학습 중입니다.  ✓ Visual Studio Code를 사용하였고, 기존에 사용하던 디렉터리가 아닌 새 디렉터리를 만듦. HTTP 웹 서버 만들기- Go 언어에서는 net/http 패키지를 사용하여 손쉽게 웹 서버를 만들 수 있음.package mainimport ( "fmt" "net/http")func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "Hello World") }) http.ListenAndServe(":3000", nil)} - HandleFunc은 핸들러를 등록하고, 경로에 해당하는 요청이 들어왔을 때 어떤 것..

Language/Golang 2025.01.02

Golang (Go언어) 제네릭 프로그래밍(Generic Programming) 3/3

Tucker의 Go 언어 프로그래밍 책과 유튜브를 통해 학습 중입니다. 제네릭 타입- 타입을 파라미터를 이용해서 여러 타입에 동작하는 새로운 타입을 만들 수 있음.type Node[T any] struct { val T next *Node[T]} - Node 구조체는 타입 파라미터를 사용해서 val 필드 타입이 어떤 타입이든 가능하도록 정의함. package mainimport "fmt"type Node[T any] struct { val T next *Node[T]}func NewNode[T any](v T) *Node[T] { // T타입의 val 필드값을 갖는 객체 생성 return &Node[T]{val: v}}func (n *Node[T]) Push(v T) *Node[T] { // No..

Language/Golang 2025.01.01

Golang (Go언어) 제네릭 프로그래밍(Generic Programming) 2/3

Tucker의 Go 언어 프로그래밍 책과 유튜브를 통해 학습 중입니다. 인터페이스(Interface)와 타입 제한자 차이- 하나의 Interface가 있고, String() 메서드를 가지고 있으면 이는 string 타입들을 다 해당 Interface로 사용될 수 있음.tpye Stringer interface { String() string} - 타입 제한은, 동일하게 interface라고 사용하지만 틸드(~)를 사용하여 정의된 타입들 중 하나가 가능함.tpye Integer interface { ~int8 | ~int16 | ~int32 | int64 | ~int} → 같은 키워드인 인터페이스를 동일하게 사용하였지만, 둘 다 타입을 제한하는 목적으로 사용한다고 볼 수 있음.- 인터페이스는 해당 조건에 ..

Language/Golang 2025.01.01