'Programming'에 해당되는 글 1747건

  1. 2022.04.27 vulkan on macos
  2. 2022.04.27 vulkan tutorial
  3. 2022.04.18 go run ./ 2
  4. 2022.04.13 golang module
  5. 2022.04.12 python openCV / PIL 포맷 변경
  6. 2022.04.12 파이썬 딕셔너리 변수 생성과 리턴 enumerate, zip
  7. 2022.04.11 golang 구조체
  8. 2022.04.11 golang defer와 if
  9. 2022.04.07 golang a tour of go offline
  10. 2022.04.07 golang struct
Programming/vulkan2022. 4. 27. 15:16

macos 10.14+ 이후 버전에서 사용가능 (Metal 지원해야 함)

맥은 so 대신 dylib 이라는 확장자를 쓰나보네?

 

[링크 : https://aslike.tistory.com/26]

[링크 : https://aslike.tistory.com/27?category=771054]

[링크 : https://aslike.tistory.com/28?category=771054]

 

+

[링크 : https://vulkan.lunarg.com/sdk/home]

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

vulkan tutorial  (0) 2022.04.27
vulkan 문서  (0) 2020.04.06
nvidia vulkan graphics api  (0) 2016.02.17
Posted by 구차니
Programming/vulkan2022. 4. 27. 14:55

 

[링크 : https://github.com/KhronosGroup/Vulkan-Samples]

 

[링크 : https://github.com/SaschaWillems/Vulkan]

[링크 : https://www.saschawillems.de/creations/vulkan-examples/]

 

[링크 : https://vulkan-tutorial.com/Introduction]

 

아 슬프네.. 맥북에어가 3세대로 된녀석이 있으니 가능하려나?

There is no driver to install. Intel graphics only supports Vulkan on Ivybridge and newer chips. Sandybridge is too old.

[링크 : https://askubuntu.com/questions/1096986/how-to-install-vulcan-for-intel-graphics-card]

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

vulkan on macos  (0) 2022.04.27
vulkan 문서  (0) 2020.04.06
nvidia vulkan graphics api  (0) 2016.02.17
Posted by 구차니
Programming/golang2022. 4. 18. 19:15

 

$ cat hello.go 
package main

import "fmt"

func main() {
fmt.Println("Hello world")
hello()
}

$ cat func.go 
package main

import "fmt"

func hello() {
fmt.Println("Hello world 2")
}

$ go run .
go: go.mod file not found in current directory or any parent directory; see 'go help modules'

$ go mod init
go: creating new go.mod: module go2
go: to add module requirements and sums:
go mod tidy

$ go run .
Hello world
Hello world 2

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

golang unused import  (0) 2022.07.20
golang websocket package  (0) 2022.07.15
golang module  (0) 2022.04.13
golang 구조체  (0) 2022.04.11
golang defer와 if  (0) 2022.04.11
Posted by 구차니
Programming/golang2022. 4. 13. 10:11

C언어 처럼 단순(?)한게 아니라 자바의 패키지 처럼

모듈로 만들어야 끌어올 수 있다고 한다.

 

[링크 : https://tutorialedge.net/golang/go-modules-tutorial/]

[링크 : https://www.digitalocean.com/community/tutorials/how-to-use-go-modules]

 

[링크 : https://velog.io/@comdori-web/Go-package와-module]

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

golang websocket package  (0) 2022.07.15
go run ./  (2) 2022.04.18
golang 구조체  (0) 2022.04.11
golang defer와 if  (0) 2022.04.11
golang a tour of go offline  (0) 2022.04.07
Posted by 구차니

필요한 건 openCV로 받아 PIL로 변환하는거라 아래것만 테스트 해봄

import cv2
from PIL

opencv_image=cv2.imread(".\\learning_python.png")
color_coverted = cv2.cvtColor(opencv_image, cv2.COLOR_BGR2RGB)
pil_image=PIL.Image.fromarray(color_coverted)

[링크 : https://www.zinnunkebi.com/python-opencv-pil-convert/]

'Programming > python(파이썬)' 카테고리의 다른 글

pyplot  (0) 2023.10.04
python matplotlib 설치  (0) 2023.03.08
파이썬 딕셔너리 변수 생성과 리턴 enumerate, zip  (0) 2022.04.12
python interactive mode  (0) 2022.03.15
python3 opencv2 checker board  (0) 2022.03.14
Posted by 구차니

발견하게 된 생소한 문법은 아래와 같은데..

enumerate() 함수를 이용해 이름 목록을 열거하고 인덱스와 함께 

name(키) 와 outputs 라는 구조를 쌍으로 묶어 딕셔너리로 돌려준다.

return {name: outputs[i] for i, name in enumerate(self.output_names)}

 

def create_dict():
    ''' Function to return dict '''
    return {i:str(i) for i in range(10)}
numbers = create_dict()
print(numbers)
# {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9'}

[링크 : https://blog.finxter.com/python-return-dictionary-from-function/]

 

enumerate() 는 내용과 인덱스를 같이 돌려주고 start 키워드를 이용해 시작 인덱스를 0이 아닌 것으로 설정이 가능하다.

>>> for entry in enumerate(['A', 'B', 'C']):
...     print(entry)
...
(0, 'A')
(1, 'B')
(2, 'C')

[링크 : https://www.daleseo.com/python-enumerate/]

 

enumerate()와 유사하게 두개의 배열을 하나의 쌍으로 묶어주는 함수

>>> numbers = [1, 2, 3]
>>> letters = ["A", "B", "C"]
>>> for pair in zip(numbers, letters):
...     print(pair)
...
(1, 'A')
(2, 'B')
(3, 'C')

[링크 : https://www.daleseo.com/python-zip/]

'Programming > python(파이썬)' 카테고리의 다른 글

python matplotlib 설치  (0) 2023.03.08
python openCV / PIL 포맷 변경  (0) 2022.04.12
python interactive mode  (0) 2022.03.15
python3 opencv2 checker board  (0) 2022.03.14
pdb  (0) 2022.03.14
Posted by 구차니
Programming/golang2022. 4. 11. 16:27

변수타입이 뒤로 가는 걸 제외하면 문법은 그대로~

 

package main

import "fmt"

type Vertex struct {
X int
Y int
}

func main() {
v := Vertex{1, 2}
v.X = 4
fmt.Println(v.X)
}

[링크 : https://go-tour-ko.appspot.com/moretypes/3]

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

go run ./  (2) 2022.04.18
golang module  (0) 2022.04.13
golang defer와 if  (0) 2022.04.11
golang a tour of go offline  (0) 2022.04.07
golang struct  (0) 2022.04.07
Posted by 구차니
Programming/golang2022. 4. 11. 16:14

go는 c 처럼 if (조건문)로 쓸수도 있고 if 조건문 으로 괄호 생략하고 쓸 수 도 있다

다만 { } 는 if와 동일한 라인

} else { 는 무조건 동일 라인으로 해주어야 한다.

 

파이썬이 싫은 이유가  golang에도 동일하게 존재하게 되다니 ㅠㅠ

 

package main

import "fmt"

func main() {
fmt.Println("counting")

for i := 0; i < 10; i++ {
if (i % 2 == 0) {
defer fmt.Println(i)
} else {
fmt.Println(i)
}
}

fmt.Println("done")
}

 

defer는 연기된 함수 호출이 쌓였다가 실행되는데 stack 이라 선입후출이다.

그런데 수정해서 아래와 같은 결과를 얻었는데.. 어떤 scope까지 쌓이다가 실행 되는걸까?

counting
1
3
5
7
9
done
8
6
4
2
0

 

[링크 : https://go-tour-ko.appspot.com/flowcontrol/13]

[링크 : https://www.callicoder.com/golang-control-flow/]

 

+

흐음.. 함수 단위에서 써야지 메인문에서 쓰긴 애매한 기능이군.

c와는 달리 garbage collector가 들어있어서 malloc-free 쌍은 필요 없을듯 하지만

그런식의 초기화, 삭제가 필요한 구조가 한 함수에 존재한다면(1회성)

초기화 하면서 삭제 함수를 defer 해두면 좀 편해질 것 같다.

특정 함수가 현재 함수가 끝나기 직전 실행하는 기능이다.

[링크 : https://deep-dive-dev.tistory.com/22]

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

golang module  (0) 2022.04.13
golang 구조체  (0) 2022.04.11
golang a tour of go offline  (0) 2022.04.07
golang struct  (0) 2022.04.07
golang pointer  (0) 2022.04.07
Posted by 구차니
Programming/golang2022. 4. 7. 18:25

go 설치하고

go install을 이용해서 tour 를 설치하면

$ go install golang.org/x/website/tour@latest

 

일단 mac에서 테스트 했는데 home 디렉토리 기준 ~/go/bin/tour 에 a tour of go 실행 파일이 존재한다.

실행하면 사파리 실행되면서 자동으로 보인다

$ go env | grep GOPATH
$ ~/go/bin/tour

[링크 : https://go.dev/tour/welcome/3]

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

golang 구조체  (0) 2022.04.11
golang defer와 if  (0) 2022.04.11
golang struct  (0) 2022.04.07
golang pointer  (0) 2022.04.07
golang switch는 break 가 없다 (fallthough)  (0) 2022.04.07
Posted by 구차니
Programming/golang2022. 4. 7. 12:27

구조체 선언은 type 키워드로 시작한다.

그나저나 {}와 ()의 규칙은 아직도 감이 잘 안오네..

 

type Vertex struct {
X int
Y int
}

func main() {
fmt.Println(Vertex{1, 2})
}

[링크 : https://go-tour-ko.appspot.com/moretypes/2]

 

구조체는 함수는 아니니까 () 대신 {}로 인자를 넘겨 변수를 생성하는 걸까?

v := Vertex{1, 2}
v.X = 4
fmt.Println(v.X)

[링크 : https://go-tour-ko.appspot.com/moretypes/3]

 

go도 전역변수를 지원하는 걸까?

c99에서 지원하는 구조체 변수명으로 지정 초기화 하는 기능이 기본으로 들어있는 듯.

type Vertex struct {
X, Y int
}

var (
v1 = Vertex{1, 2}  // has type Vertex
v2 = Vertex{X: 1}  // Y:0 is implicit
v3 = Vertex{}      // X:0 and Y:0
p  = &Vertex{1, 2} // has type *Vertex
)

func main() {
fmt.Println(v1, p, v2, v3)
}

[링크 : https://go-tour-ko.appspot.com/moretypes/5]

 

타입선언하면서 바로 변수로 만들기도 가능.

func main() {
q := []int{2, 3, 5, 7, 11, 13}
fmt.Println(q)

r := []bool{true, false, true, true, false, true}
fmt.Println(r)

s := []struct {
i int
b bool
}{
{2, true},
{3, false},
{5, true},
{7, true},
{11, false},
{13, true},
}
fmt.Println(s)
}

[링크 : https://go-tour-ko.appspot.com/moretypes/9]

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

golang defer와 if  (0) 2022.04.11
golang a tour of go offline  (0) 2022.04.07
golang pointer  (0) 2022.04.07
golang switch는 break 가 없다 (fallthough)  (0) 2022.04.07
golang for 반복문  (0) 2022.04.07
Posted by 구차니