'잡동사니'에 해당되는 글 13451건

  1. 2022.09.12 제노블레이드3 구매
  2. 2022.09.11 오랫만에 자전거 그리고
  3. 2022.09.08 연휴의 시작
  4. 2022.09.07 개발자 단상 4
  5. 2022.09.07 전자식 계량기 읽는 방법
  6. 2022.09.06 golang range
  7. 2022.09.06 golang mutex
  8. 2022.09.06 golang make와 new
  9. 2022.09.06 golang defer 와 panic(), recover()
  10. 2022.09.06 go 루틴
게임/닌텐도 스위치2022. 9. 12. 21:54

이마트에서

64800원에서 20%할인해서 51840원에 팔아서

저만큼 중고가 똘어지려고 해도 한참 걸릴듯 하여 구매!

혹시나 동네 롯데마트 가봤지만 할인 없는걸 보면

닌텐도 코리아가 아닌 이마트 자체 할인인듯.

 

'게임 > 닌텐도 스위치' 카테고리의 다른 글

연휴 제노블레이드 달려!  (0) 2022.10.10
스위치 doom 최저 난이도 엔딩봄  (2) 2022.09.12
둠 리부트 스위치 진행중  (0) 2022.08.23
둠 스위치 중고 구매  (0) 2022.08.21
hdmi2usb 닌텐도 잘되네?  (2) 2022.08.19
Posted by 구차니

기절!

 

왕복 1시간 거리 오갔다 허벅지가 터질듯 ㅠㅠ

얼마나 운동을 안했었나를 뼈저리게 느끼네..

 

평속 20km (왕복) 갈때도 그렇고 올때도 지쳤는데 그런거 보면

집방향으로 바람이 분건가?

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

병원 투어  (0) 2022.09.24
비데 교체  (0) 2022.09.12
연휴의 시작  (0) 2022.09.08
전자식 계량기 읽는 방법  (0) 2022.09.07
라디오 분해 시도 실패 -_-  (4) 2022.08.07
Posted by 구차니

금,토,일,월,화

길다면 긴 연휴의 시작!

애들은 화요일에 보내니 그나마 좀 버틸만 하려나?

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

비데 교체  (0) 2022.09.12
오랫만에 자전거 그리고  (0) 2022.09.11
전자식 계량기 읽는 방법  (0) 2022.09.07
라디오 분해 시도 실패 -_-  (4) 2022.08.07
라디오 분해?  (0) 2022.08.06
Posted by 구차니

후우..

나 아니어도 때릴 사람 많으니 가입까진 안해야지.. (응?)

 

1. 먼 게임 개발자한테 맥북을 추천해?

> 맥이 게임시장에서 몇 %나 차지하나도 모르고 게임 개발자 지망에게 맥북을 추천하다니..

> 맥용 unreal engine도 있으니 상관없을지도 모르지만 m1 맥북에서 돌지도 모르겠고

> 그래픽 카드 외장형 달려고 하면 가격이 안드로메다일텐데 굳이?

 

2. 수학 vs 영어

> 닥치고 수학. 아니 근데 프로그래밍 언어 문법 공부라던가 api 사용 학습은 어디로..

> 영수가 문제가 아닐텐데.. 하지만 게임 프로그래밍이라면 수학은 기본, 물리를 해야 할텐데?

 

3. 여러방면의 책을 읽는 것이 매우 중요?

> 종이 책으로 볼 시간도 없어서 pdf나 html로 된 reference 보기도 바쁜데..

> 물론 종이로 나온 내용을 무시하는건 아님. 처음 하는 사람에게 guide로서는 돈 값을 하는 책이라면 추천

> 그거 아니어도 읽을거 너무 많아 시간이 부족하다..

 

4. intelliJ, tabnine ai 코딩

> 프로그래밍 패턴이 뻔하긴 하다만, 알고리즘에 대한 이해 없이 기계학습에 의한 추천 코딩으로

> 일을 마무리 지은들 그게 개발자 본인에게 어떠한 메리트가 있을까? 검색시간 단축으로 인한 효율성 재고?

> 개발자에게 중요한건 스스로 알고리즘을 이해하고 분석하고 더 나은걸로 바꾸는 능력 아니었나..

 

5. 게임 개발자에게 intelliJ, java, python, 인문학적 소양이라

> 게임 개발자에게 주류는 아직 cpp로 알고 있는데 intellJ를 써가면서 쓸만한 메리트가 있을지?

> 게임엔진 개발자가 아니라 백엔드 서버라면 java 물려서 쓸 가능성이 존재는 하겠지만

> 게임 개발도 게임 엔진, 백엔드 등등 분야가 엄청 많을텐데 1인 개발하는 시기는 한참 전에 지났고..

> 개발자에게 필요한건 개발자적 능력과 소양이 우선과제고 그 이후에 인문학적 소양이지

> 도대체 기본도 안된 개발자에게 인문학적 소양을 왜 요구할까? 그건 나중에 경력직에게나 필요하지!

 

[링크 : https://velog.io/@joshuara7235/To.-개발자를-꿈꾸는-분들에게-부제-개발자로-산다는-것은]

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

으어어어어  (0) 2022.11.10
아 피곤하다  (0) 2022.10.14
9월 그리고 2주년  (2) 2022.09.01
니퍼, 롱노우즈 구매  (0) 2022.08.21
덥다.. 여름인가  (0) 2022.08.02
Posted by 구차니

집에 계량기를 교체했는데 기계식에서 전자식으로 바뀌니 도대체 멀 읽어야 하는지 모르겠다.

advanced e type 이라니 7번이 나올때까지 기다려야 하나.

 

근데 나야 내꺼 하나 읽는다 해도.. 관리 사무소에서는 저거 집집마다 기다리면서 읽어야 하나?

[링크 : https://m.blog.naver.com/byongsu/221623883471]

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

오랫만에 자전거 그리고  (0) 2022.09.11
연휴의 시작  (0) 2022.09.08
라디오 분해 시도 실패 -_-  (4) 2022.08.07
라디오 분해?  (0) 2022.08.06
계곡 발 담그기  (0) 2022.07.31
Posted by 구차니
Programming/golang2022. 9. 6. 17:03

일종의.. foreach 느낌인데

range pow 하면 pow에 들은 {1,2,4,8,16,32,64,128} 이 array index와 함께 i,v 값으로 나온다.

 

2**0=1 이렇게 해놔서 무슨 수식인줄 알았네 -_-

package main

import "fmt"

var pow = []int{1, 2, 4, 8, 16, 32, 64, 128}

func main() {
for i, v := range pow {
fmt.Printf("2**%d = %d\n", i, v)
}
}
2**0 = 1
2**1 = 2
2**2 = 4
2**3 = 8
2**4 = 16
2**5 = 32
2**6 = 64
2**7 = 128

[링크 : https://go.dev/tour/moretypes/16]

 

[링크 : https://changhoi.kim/posts/go/about-go-range/]

[링크 : https://pronist.dev/88]

[링크 : https://gobyexample.com/range]

'Programming > golang' 카테고리의 다른 글

golang ini  (0) 2022.09.15
golang http.request  (0) 2022.09.14
golang mutex  (0) 2022.09.06
golang make와 new  (0) 2022.09.06
golang defer 와 panic(), recover()  (0) 2022.09.06
Posted by 구차니
Programming/golang2022. 9. 6. 16:54

세마포어는 있는지 모르겠다만 mutex는 존재하네

 

package main

import (
"fmt"
"sync"
"time"
)

// SafeCounter is safe to use concurrently.
type SafeCounter struct {
mu sync.Mutex
v  map[string]int
}

// Inc increments the counter for the given key.
func (c *SafeCounter) Inc(key string) {
c.mu.Lock()
// Lock so only one goroutine at a time can access the map c.v.
c.v[key]++
c.mu.Unlock()
}

// Value returns the current value of the counter for the given key.
func (c *SafeCounter) Value(key string) int {
c.mu.Lock()
// Lock so only one goroutine at a time can access the map c.v.
defer c.mu.Unlock()
return c.v[key]
}

[링크 : https://go.dev/tour/concurrency/9]

 

관련 검색어로 golang mutex vs channel 이라는게 나오는데 channel이 그렇게 빠르지는 않은 듯.

[링크 : http://www.dogfootlife.com/archives/452]

[링크 : https://github.com/golang/go/wiki/MutexOrChannel]

[링크 : https://go.dev/doc/effective_go#channels]

'Programming > golang' 카테고리의 다른 글

golang http.request  (0) 2022.09.14
golang range  (0) 2022.09.06
golang make와 new  (0) 2022.09.06
golang defer 와 panic(), recover()  (0) 2022.09.06
go 루틴  (0) 2022.09.06
Posted by 구차니
Programming/golang2022. 9. 6. 15:27

new는 c의 malloc()에 대응한다면

make는 특정 경우에 대한 메모리 할당 + 초기화를 위한 키워드인 듯.

package main

import "fmt"

func sum(s []int, c chan int) {
sum := 0
for _, v := range s {
sum += v
}
c <- sum // send sum to c
}

func main() {
s := []int{7, 2, 8, -9, 4, 0}

c := make(chan int)
go sum(s[:len(s)/2], c)
go sum(s[len(s)/2:], c)
x, y := <-c, <-c // receive from c

fmt.Println(x, y, x+y)
}

[링크 : https://go.dev/tour/concurrency/2]

 

Allocation with new
Go has two allocation primitives, the built-in functions new and make. They do different things and apply to different types, which can be confusing, but the rules are simple. Let's talk about new first. It's a built-in function that allocates memory, but unlike its namesakes in some other languages it does not initialize the memory, it only zeros it. That is, new(T) allocates zeroed storage for a new item of type T and returns its address, a value of type *T. In Go terminology, it returns a pointer to a newly allocated zero value of type T.
Since the memory returned by new is zeroed, it's helpful to arrange when designing your data structures that the zero value of each type can be used without further initialization. This means a user of the data structure can create one with new and get right to work. For example, the documentation for bytes.Buffer states that "the zero value for Buffer is an empty buffer ready to use." Similarly, sync.Mutex does not have an explicit constructor or Init method. Instead, the zero value for a sync.Mutex is defined to be an unlocked mutex.

[링크 : https://go.dev/doc/effective_go#allocation_new]

 

Allocation with make
Back to allocation. The built-in function make(T, args) serves a purpose different from new(T). It creates slices, maps, and channels only, and it returns an initialized (not zeroed) value of type T (not *T). 

[링크 : https://go.dev/doc/effective_go#allocation_make]

[링크 : https://pronist.dev/102]

 

'Programming > golang' 카테고리의 다른 글

golang range  (0) 2022.09.06
golang mutex  (0) 2022.09.06
golang defer 와 panic(), recover()  (0) 2022.09.06
go 루틴  (0) 2022.09.06
golang https server  (0) 2022.09.05
Posted by 구차니
Programming/golang2022. 9. 6. 15:13

panic은 c로 치면 exit()도, recover()는 return 정도라고 보면 되려나?

package main
 
import "os"
 
func main() {
    // 잘못된 파일명을 넣음
    openFile("Invalid.txt")
     
    // openFile() 안에서 panic이 실행되면
    // 아래 println 문장은 실행 안됨
    println("Done") 
}
 
func openFile(fn string) {
    f, err := os.Open(fn)
    if err != nil {
        panic(err)
    }
 
    defer f.Close()
}










package main
 
import (
    "fmt"
    "os"
)
 
func main() {
    // 잘못된 파일명을 넣음
    openFile("Invalid.txt")
 
    // recover에 의해
    // 이 문장 실행됨
    println("Done") 
}
 
func openFile(fn string) {
    // defer 함수. panic 호출시 실행됨
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("OPEN ERROR", r)
        }
    }()
 
    f, err := os.Open(fn)
    if err != nil {
        panic(err)
    }
 
    defer f.Close()
}
$ ./panic
panic: open Invalid.txt: no such file or directory

goroutine 1 [running]:
main.openFile({0x8b9f9, 0xb})
        /home/pi/panic.go:17 +0xb4
main.main()
        /home/pi/panic.go:7 +0x24
$ ./recover
OPEN ERROR open Invalid.txt: no such file or directory
Done





[링크 : http://golang.site/go/article/20-Go-defer와-panic]

'Programming > golang' 카테고리의 다른 글

golang mutex  (0) 2022.09.06
golang make와 new  (0) 2022.09.06
go 루틴  (0) 2022.09.06
golang https server  (0) 2022.09.05
golang 쿠키  (0) 2022.09.02
Posted by 구차니
Programming/golang2022. 9. 6. 12:48

go 루틴은 쓰레드로 작동시킨다.

 

go funcname()

[링크 : http://golang.site/go/article/21-Go-루틴-goroutine]

 

왜.. 생소하지 -ㅁ-?

package main

import (
"fmt"
"time"
)

func say(s string) {
for i := 0; i < 5; i++ {
time.Sleep(100 * time.Millisecond)
fmt.Println(s)
}
}

func main() {
go say("world")
say("hello")
}

[링크 : https://go.dev/tour/concurrency/1]

 

고루틴은 parent에 의해서 죽일수 없다고 하는데

[링크 : https://www.reddit.com/r/golang/comments/4kpv6x/why_a_parent_goroutine_doesnt_kill_its_child_and/]

 

그래서 channel을 이용해서 해당 채널을 close 하면 닫는 식으로 간접 제어 하기도 하는 듯

package main

import (
"fmt"
"sync"
)

func main() {
var wg sync.WaitGroup
wg.Add(1)

ch := make(chan string)
go func() {
for {
channel, ok := <-ch
if !ok {
fmt.Println("Shut Down")
defer wg.Done()
return
}
fmt.Println(channel)
}
}()
ch <- "Start"
ch <- "Processing"
ch <- "Finishing"
close(ch)

wg.Wait()
}


[링크 :
https://www.golangprograms.com/how-to-kill-execution-of-goroutine.html]

'Programming > golang' 카테고리의 다른 글

golang make와 new  (0) 2022.09.06
golang defer 와 panic(), recover()  (0) 2022.09.06
golang https server  (0) 2022.09.05
golang 쿠키  (0) 2022.09.02
golang http redirect  (0) 2022.09.02
Posted by 구차니