일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 패널 교체
- 노트북
- adapter
- js
- node.js
- 자바
- 배열
- 오버로딩
- as?
- var
- 함수
- Overloading
- ListView
- 안드로이드
- go
- 자바스크립트
- Python
- 코틀린
- javascript
- golang
- 파이썬
- 연산자
- HP
- 리스트 뷰
- 노트북 추천
- 싱글 스레드
- Array
- Java
- Android
- Kotlin
- Today
- Total
목록go (5)
Bbaktaeho
들어가며 현재 Go 언어에서 range에 관련해서 새로운 변화가 생기고 있습니다. 새로운 Go 버전에서 변화된 range를 받아들이기 전에 기존 range에 대해서 자세히 파악할 필요가 있어 이번 기회에 정리하려고 합니다. 이 글은 Go 100가지 실수 패턴과 솔루션 도서를 참고해서 작성되었으며 자세한 내용은 도서를 확인해 주세요. range Go 언어에서 반복하는 로직을 작성하기 위해서 for 키워드만 존재합니다. 보통은 range 키워드와 같이 사용하게 되는데 range가 값을 대입하는 과정을 모르고 사용하다가 실수가 발생하곤 합니다. 어떤 실수들이 존재하는지 예시를 통해 확인해보겠습니다. 개념 range는 index나 종료 조건을 다룰 필요가 없어서 반복하는 로직을 작성하는데 편리합니다. 또한 ra..
2022-11-10: 채널도 내부에서 mutex 이용 들어가며 동시성 프로그래밍을 할 때 독립적인 로직이 아니라면 예기치 못한 오작동을 맛볼 수 있습니다. 심하면 에러를 추적하기도 어려운데요. 특히 여러 고루틴을 수행 후 결과를 slice로 가져올 때 바로 문제에 직면할 수 있었습니다. 이번 글에서 여러 고루틴에서 로직이 수행된 후 slice에 안전하게 append 하는 법을 알아보겠습니다. 단순하게 작성한 코드 단순하게 slice를 선언하고 고루틴에 slice를 append 하도록 코드를 짜 보면 어떨까요? func main() { size := 10 arr := make([]int, 0, size) var w sync.WaitGroup w.Add(size) for i := 0; i < size; i+..
[2022-12-26] infura에서 batch call의 method 목록을 모두 요청 횟수로 카운트되게 수정되었습니다. 또한 batch call의 카운트까지 포함되어 method list + 1 로 카운트됩니다. 들어가며 Ethereum 클라이언트 앱을 개발하다 보면 INFURA를 많이 이용하게 됩니다. INFURA는 하루 10만 건의 요청을 무료로 제공해주며 유료로 사용할 땐 더 많은 요청 횟수를 제공받습니다. 개발할 때 요청 횟수도 신경 쓸 수밖에 없는데요. JSON-RPC 표준에서 한 번의 요청으로 여러 method를 처리할 수가 있습니다. INFURA 또는 RPC Node는 단 한 번의 네트워크 I/O가 발생하게 되어 매우 유용한 기능입니다. 유료 요금제를 사용한다면 요금도 줄일 수도 있구요..
들어가기 전에 Web 서비스에서 Database는 데이터 저장소뿐만 아니라 서비스 성능에도 중요한 부분입니다. DML 쿼리 작성, Table 용량 및 Index등의 여러 요소가 있지만 이번 글에서 다룰 내용은 Connection입니다. Connection을 Go 언어의 MYSQL Driver에서 어떻게 다루는지 살펴보고 Go언어에서 대표 ORM인 GORM에서 어떻게 Connection Pool을 관리하는지 알아보겠습니다. Connection 먼저 Connection이란, Application과 Database Server와 상호 작용을 위한 연결을 유지하기 위해 생성되는 구조(객체)입니다. Database Server와 연결을 맺고 끊음을 반복함으로써 Connection을 관리하지만, 일련의 맺고 끊음의..
Golang 실행 시간 측정 go 언어의 time package를 사용하여 간단하게 실행 시간을 측정할 수 있습니다. import "time" time 모듈은 builtin package이므로 따로 설치할 필요가 없습니다. go 언어의 코드 실행 시간은 각 컴퓨터에 따라 영향을 많이 받으므로 결과는 다를 수 있습니다. start := time.Now() ... // 사이에 실행되는 로직의 시간을 측정 end := time.Since(start) time.Since() 함수에 시간을 가리키는 인수를 받으면 그 시점부터 Since가 실행된 시점까지의 시간을 측정합니다. Since() 함수는 time 패키지에서 그대로 사용할 수 있습니다. 또한 time.Time 구조체의 함수인 Sub() 함수를 이용할 수도 ..