본문 바로가기
반응형

17

Golang mysql 사용/연동 하기 Golang에서 mysql과 연동하기 위해 "database/sql"과 "github.com/go-sql-driver/mysql" 패키지를 import 해야한다. "database/sql"은 golang의 데이터베이스 관련 인터페이스를 제공하고, DB연결, 쿼리 실행, 트랜잭션 등을 처리할 수 있다. "github.com/go-sql-driver/mysql"은 mysql DB 드라이버를 구현한 패키지다. 사용 방법 터미널에서 다음의 명령어를 사용하여 패키지를 다운로드 한다. (이미 설치가 되어 있다면 생략) go get github.com/go-sql-driver/mysql 예제 코드) DB가 이미 생성되어 있다는 가정하에 진행 package main import ( "database/sql" "fmt".. 2023. 8. 8.
디스코드가 Go 대신 Rust로 전환하는 이유 요약: Go GC 성능 이슈 출처: https://discord.com/blog/why-discord-is-switching-from-go-to-rust Why Discord is switching from Go to Rust discord.com Go gc가 디스코드에서 많은 부하를 유발하는 요소 중 하나인데, gc가 자동으로 메모리를 관리하지만, 디스코드에서는 큰 메모리 할당과 수백만 개의 작은 객체가 동시에 발생하는 경우에 문제가 발생하였음. 이거 때문에 일시적인 렉이나 성능 저하가 발생함. 약 3년전 글이지만(뒷북) `rust가 go보다 더 좋다`는 것은 아니며(언어는 목적과 장점에 따라 선택하는 것이 좋음), 주의 깊게 살펴볼 필요가 있어서 블로그에 글을 작성함. 2023. 6. 14.
Golang 웹 크롤링/크롤러 다음의 예제 코드는 https://example.com 웹 페이지를 크롤링 하여 h1 태그를 추출하여 출력하는 예제 코드이다. 사용된 패키지에 대해 간단히 설명하자면 다음과 같다. - fmt: 생략 - io/ioutil: 파일 입출력을 쉽게 처리하기 위한 함수들을 제공. ioutil.ReadAll() 함수는 HTTP 응답의 본문을 읽어온다. - net/http: HTTP 클라이언트와 서버를 구현하는 함수와 타입들을 제공. http.Get() 함수를 사용하여 웹 페이지에 GET 요청. - regexp: 정규 표현식을 사용하여 텍스트를 검색, 추출하고 패턴 매칭을 수행하는 함수를 제공. 받아온 HTML 문서에서 태그의 내용을 추출하기 위해 정규식을 활용. package main import ( "fmt" ".. 2023. 6. 1.
Golang 슬라이스 정렬(오름차순, 내림차순) sort.Ints() 함수를 사용하여 슬라이스를 오름차순으로 정렬할 수 있다. 예제) package main import ( "fmt" "sort" ) func main() { nums := []int{7, 2, 9, 1, 6, 3, 8, 5, 4} sort.Ints(nums) fmt.Println(nums) } // [1 2 3 4 5 6 7 8 9] sort.Reverse() 함수를 사용하여 내림차순으로 정렬할 수 있다. 예제) package main import ( "fmt" "sort" ) func main() { nums := []int{5, 2, 8, 1, 3, 9, 4, 6, 7} sort.Sort(sort.Reverse(sort.IntSlice(nums))) fmt.Println(nums).. 2023. 4. 10.
반응형