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

  1. 2023.11.08 golang 배열과 슬라이스
  2. 2023.11.07 golang ini 지원
  3. 2023.11.07 golang 함수인자에 배열 포인터
  4. 2023.11.07 c to golang online converter
  5. 2023.11.07 golang slice
  6. 2023.11.06 golang echo bind
  7. 2023.11.06 terasic sockit
  8. 2023.11.06 synology 213j 7.x 업데이트
  9. 2023.11.06 golang echo 구조체 배열은 미지원?
  10. 2023.11.05 리듬깨짐
Programming/golang2023. 11. 8. 22:34

다시 a tour of go 봐야 할 듯..

 

Arrays
The type [n]T is an array of n values of type T.

The expression

var a [10]int
declares a variable a as an array of ten integers.

An array's length is part of its type, so arrays cannot be resized. This seems limiting, but don't worry; Go provides a convenient way of working with arrays.

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

 

 

Slices
An array has a fixed size. A slice, on the other hand, is a dynamically-sized, flexible view into the elements of an array. In practice, slices are much more common than arrays.

The type []T is a slice with elements of type T.

A slice is formed by specifying two indices, a low and high bound, separated by a colon:

a[low : high]
This selects a half-open range which includes the first element, but excludes the last one.

The following expression creates a slice which includes elements 1 through 3 of a:

a[1:4]

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

 

 

크기가 정해지면 array, 정해지지않으면 slice인가?

Since you didn't specify the length, it is a slice.
An array type definition specifies a length and an element type: see "Go Slices: usage and internals"

[링크 : https://stackoverflow.com/questions/29361377/creating-a-go-slice-without-make]

 

 

갑자기 length와 capacity?!

A slice literal is declared just like an array literal, except you leave out the element count:

letters := []string{"a", "b", "c", "d"}

slice can be created with the built-in function called make, which has the signature,

func make([]T, len, cap) []T

where T stands for the element type of the slice to be created. The make function takes a type, a length, and an optional capacity. When called, make allocates an array and returns a slice that refers to that array.

var s []byte
s = make([]byte, 5, 5)
// s == []byte{0, 0, 0, 0, 0}

When the capacity argument is omitted, it defaults to the specified length. Here’s a more succinct version of the same code:

s := make([]byte, 5)

The length and capacity of a slice can be inspected using the built-in len and cap functions.

len(s) == 5
cap(s) == 5

[링크 : https://go.dev/blog/slices-intro]

 

 

실제 사용시에 capacity까지 알 필요는 없을려나?

capacity: 실제 메모리에 할당된 공간입니다. 만약 슬라이스에 요소를 추가하여 capacity가 가득차면 자동으로 늘어납니다.

[링크 : https://www.pymoon.com/entry/Go-튜토리얼-배열-슬라이스]

[링크 : https://phsun102.tistory.com/82]

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

 

 

2차원 배열은 [][]type 으로 생성하면되는데

make를 통해서도 2차원 배열이 생성가능한진 모르겠다

package main

import "fmt"

func main() {
    // Step 1: create empty collection.
    values := [][]int{}

    // Step 2: these are the first two rows.
    // ... Append each row to the two-dimensional slice.
    row1 := []int{1, 2, 3}
    row2 := []int{4, 5, 6}
    values = append(values, row1)
    values = append(values, row2)

    // Step 3: display first row, and second row.
    fmt.Println("Row 1")
    fmt.Println(values[0])
    fmt.Println("Row 2")
    fmt.Println(values[1])

    // Step 4: access an element.
    fmt.Println("First element")
    fmt.Println(values[0][0])
}
Row 1
[1 2 3]
Row 2
[4 5 6]
First element
1

[링크 : https://www.dotnetperls.com/2d-go]

 

 

 

make와 := []type 두개가 동등하다면 가능할지도?

package main

import (
"fmt"
"strings"
)

func main() {
// Create a tic-tac-toe board.
board := [][]string{
[]string{"_", "_", "_"},
[]string{"_", "_", "_"},
[]string{"_", "_", "_"},
}

// The players take turns.
board[0][0] = "X"
board[0][2] = "X"
board[1][0] = "O"
board[1][2] = "X"
board[2][2] = "O"


for i := 0; i < len(board); i++ {
fmt.Printf("%s\n", strings.Join(board[i], " "))
}
}
X _ X
O _ X
_ _ O

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

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

golang 타입 땜시 짜증  (0) 2023.11.10
golang 타입 캐스팅 제약(?)  (0) 2023.11.09
golang ini 지원  (0) 2023.11.07
golang 함수인자에 배열 포인터  (0) 2023.11.07
c to golang online converter  (0) 2023.11.07
Posted by 구차니
Programming/golang2023. 11. 7. 15:29

텍스트로 보이는 환경설정 파일로는 ini만한게 없지..

 

[링크 : https://pkg.go.dev/gopkg.in/ini.v1]

[링크 : https://github.com/go-ini/ini/]

[링크 : https://minwook-shin.github.io/read-and-write-ini-files-ini/]

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

golang 타입 캐스팅 제약(?)  (0) 2023.11.09
golang 배열과 슬라이스  (0) 2023.11.08
golang 함수인자에 배열 포인터  (0) 2023.11.07
c to golang online converter  (0) 2023.11.07
golang slice  (0) 2023.11.07
Posted by 구차니
Programming/golang2023. 11. 7. 14:38

c 들어내고 go로만 짜려니 어렵네..

함수 인자로 포인터를 넘겨줄 때에도 변수의 크기 정보가 넘어가야 한다.

그래서 정확한 포인터의 길이가 함수 인자에 지정되어야 한다.

그럼.. 굳이 포인터 쓸 필요가 없어지는거 아닌가?

 

// Golang program to pass a pointer to an 
// array as an argument to the function 
package main 
  
import "fmt"
  
// taking a function 
func updatearray(funarr *[5]int) { 
  
    // updating the array value 
    // at specified index 
    (*funarr)[4] = 750 
      
    // you can also write  
    // the above line of code 
    // funarr[4] = 750 

  
// Main Function 
func main() { 
  
    // Taking an pointer to an array 
    arr := [5]int{78, 89, 45, 56, 14} 
  
    // passing pointer to an array 
    // to function updatearray 
    updatearray(&arr
  
    // array after updating 
    fmt.Println(arr) 

[링크 : https://www.geeksforgeeks.org/golang-pointer-to-an-array-as-function-argument/]

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

golang 배열과 슬라이스  (0) 2023.11.08
golang ini 지원  (0) 2023.11.07
c to golang online converter  (0) 2023.11.07
golang slice  (0) 2023.11.07
golang echo bind  (0) 2023.11.06
Posted by 구차니
Programming/golang2023. 11. 7. 12:11

꿀~ 개꿀~ dog honey~

 

[링크 : https://kalkicode.com/c-to-golang-converter-online]

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

golang ini 지원  (0) 2023.11.07
golang 함수인자에 배열 포인터  (0) 2023.11.07
golang slice  (0) 2023.11.07
golang echo bind  (0) 2023.11.06
golang echo 구조체 배열은 미지원?  (0) 2023.11.06
Posted by 구차니
Programming/golang2023. 11. 7. 10:42

배열이라고 안하고 slice 라고 하는건지, 아니면 배열은 따로 있는건지 모르겠지만

matlab 이나 octave 와 비슷하게 배열을 마음대로 가지고 놀 수 있다.

package main

import "fmt"

func main() {
primes := [6]int{2, 3, 5, 7, 11, 13}

var s []int = primes[1:4]
fmt.Println(s)
}
[3 5 7]

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

[링크 : http://golang.site/go/article/13-Go-컬렉션---Slice]

 

음.. slice와 array는 다른거군.

아무튼 slice를 array로 바꾸려면 그냥 일일이 복사해서 넣어줘야 하나 보다.

package main
import "fmt"

//create main function to execute the program
func main() {
   var slice []int // initialize slice
   slice = append(slice, 10) //fill the slice using append function
   slice = append(slice, 20)
   slice = append(slice, 30)
   
   // Convert the slice to an array
   var array [3]int
   for i, element := range slice {
      array[i] = element // store slice elements in the newly created array
   }
   fmt.Println("The array is printed after conversion from slice:")
   fmt.Println(array) // prints the output: [1 2 3]
}

[링크 : https://www.tutorialspoint.com/golang-program-to-convert-slice-into-array]

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

golang 함수인자에 배열 포인터  (0) 2023.11.07
c to golang online converter  (0) 2023.11.07
golang echo bind  (0) 2023.11.06
golang echo 구조체 배열은 미지원?  (0) 2023.11.06
golang echo 패키지 소스  (0) 2023.09.13
Posted by 구차니
Programming/golang2023. 11. 6. 16:49

어라.. 저번에는 되더니 먼가 달라져서 안되는걸까..

jquery 3.6.1 에서 3.7.1로 올라가서 그런가?

버전 바꾸어서 해봐도 3.6이나 3.7이나 동일하다. 머가 문제지?

 

 

아래에서 query라고 써있는 부분이 struct tag 라고 하는데

쿼리 스트링에서 id 부분을 파싱해서 값을 넣어달라는 의미이다

query 는 아래 녹색 줄 처럼 생긴 것.

type User struct {
  ID string `query:"id"`
}

// in the handler for /users?id=<userID>
var user User
err := c.Bind(&user); if err != nil {
    return c.String(http.StatusBadRequest, "bad request")
}

 

아래와 같이 query, json, form 등이 주로 쓰이는지 예제에서는 세가지가 보인다.

Data Sources
Echo supports the following tags specifying data sources:

query - query parameter
param - path parameter (also called route)
header - header parameter
json - request body. Uses builtin Go json package for unmarshalling.
xml - request body. Uses builtin Go xml package for unmarshalling.
form - form data. Values are taken from query and request body. Uses Go standard library form parsing.

[링크 : https://echo.labstack.com/docs/binding]

 

 

하나만 쓸 수도 있고 여러 개 늘어놓고 쓸수도 있지만, 보안을 고려하면 딱 맞추는게 좋을 듯.

type User struct {
  Name  string `json:"name" form:"name" query:"name"`
  Email string `json:"email" form:"email" query:"email"`
}

 

그나저나.. jquery ajax를 이용해 post로 보냈는데 왜 query로 처리가 되냐...

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

c to golang online converter  (0) 2023.11.07
golang slice  (0) 2023.11.07
golang echo 구조체 배열은 미지원?  (0) 2023.11.06
golang echo 패키지 소스  (0) 2023.09.13
go packed struct  (0) 2023.09.01
Posted by 구차니
embeded/FPGA - ALTERA2023. 11. 6. 15:08

중고나라에서 떠서 고민중

 

 

2013년 당시 249 달러로 엄청 저렴하게 나왔던 모양

AUGUST 15, 2013 BY JEAN-LUC AUFRANC (CNXSOFT) - 2 COMMENTSON $249 TERASIC SOCKIT DEVELOPMENT KIT FEATURES ALTERA CYCLONE V SX DUAL CORE A9 + FPGA SOC
$249 Terasic SoCKit Development Kit Features Altera Cyclone V SX Dual Core A9 + FPGA SoC

[링크 : https://www.cnx-software.com/2013/08/15/249-terasic-sockit-development-kit-features-altera-cyclone-v-sx-dual-core-a9-fpga-soc/]

[링크 : https://www.terasic.com.tw/cgi-bin/page/archive.pl?CategoryNo=167&No=816]

 

xilinx의 zynq를 채택한 zedboard가 589$인데, 코로나 품귀로 인해서 가격이 미친듯이 오른걸려나?

299$ 아카데믹, 395$ 커머셜 가격으로 판매된 기록이 있나 보다.

The zedboard Board is a single-board computer based on Xilinx's Zynq device family. It uses a Xilinx Zynq Z-7020 Zynq device (dual core ARM Cortex-A9 cores ~800MHz paired with a xilinx Artix 7 fpga). See Zynq features for more processor features. [Price is USD 299 academic , USD 395 commerical ].

[링크 : https://elinux.org/Zedboard]

'embeded > FPGA - ALTERA' 카테고리의 다른 글

HSMC(High Speed Mezzanine Card)  (0) 2023.10.02
altera(intel fpga) m9k m10k  (0) 2023.05.14
altera uart ip  (0) 2023.05.14
altera - partial reconfigure  (0) 2023.04.24
altera nios 2 epcs to ram  (0) 2023.03.28
Posted by 구차니
개소리 왈왈/컴퓨터2023. 11. 6. 13:13

오랜만에 접속해서 봤더니 7.0.1를 213j에도 지원해주나 보다

저번에는 6.2.4 에서 멈춰있더니 웬일이래!

 

 

Version: 6.2.4-25556 Update 7
(2023-05-02)

[링크 : https://www.synology.com/ko-kr/releaseNote/DSM?model=DS213j#ver_25556-7]

 

Version: 7.0.1-42218
(2023-02-02)

[링크 : https://www.synology.com/ko-kr/releaseNote/DSM?model=DS213j#ver_42218]

 

나온진 오래되었지만 적용 자체가 얼마 되지 않은것 같긴한데...

적용해야 하나 말아야 하나..

Posted by 구차니
Programming/golang2023. 11. 6. 11:54

안되면 그냥 _1 _2 붙여서 해야지 머 -_ㅠ

 

Echo framework does not support binding array from form data out of the box.
You can use json instead or use 3rd party library. See implementation or post and github issue https://github.com/labstack/echo/issues/1644

[링크 : https://stackoverflow.com/questions/69409036/how-to-bind-multipart-form-data-array-in-echo-framework]

 

 

[링크 : https://stackoverflow.com/questions/69445675/please-tell-me-how-to-bind-multi-array-to-struct/69449814#69449814]

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

golang slice  (0) 2023.11.07
golang echo bind  (0) 2023.11.06
golang echo 패키지 소스  (0) 2023.09.13
go packed struct  (0) 2023.09.01
golang asm  (0) 2023.08.24
Posted by 구차니

2시 3시에 자니 몸이 못버티네

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

개 피곤  (0) 2024.01.12
일이 안풀린다  (0) 2023.11.23
누가 외근이란걸 발명한거야?  (0) 2023.10.06
밖으로 돌리고 돌리고~  (0) 2023.09.26
오랫만에 지름  (0) 2023.09.18
Posted by 구차니