반응형 IT393 Modern C에서 이름있는 배열선언과 활용 #include #include int main(void){ enum corvid { magpie, raven, jay, corvid_num, }; char const*const bird[corvid_num] = { [raven] = "raven", [magpie] = "magpie", [jay] = "jay", }; for(unsigned i=0;i 2023. 2. 2. 기본으로 돌아가서 다시하는 C #include #include int main(void){ double A[5] = { [0] = 9.0, [1] = 2.9, [4] = 3.E+25, [3] = .0007, }; for(size_t i = 0; i< 5;++i){ printf("element %zu is %g , \tits square is %g\n", i, A[i], A[i]*A[i]); } return EXIT_SUCCESS; } Modern C 헬로우 월드 입니다. 예전에 대학대 배우던것과 많이 달라졌습니다=ㅁ=; c99 라고하는데, 분명 대학교 01년도 때 배웠을때는 이러지 않았는데 말이죠... 컴파일은 macOS 기준 c99 -o 실행명 소스명 -lm 으로 하면됩니다. 2023. 2. 1. 네트워크 강좌 정리 - 2 씬클라이언트, 제로 클라이언트 관련. PoE. Power of Ethernet 예전 더미 터미널 같이, 화면과 키보드, 마우스만 있음. 이더넷 연결시 파워도 연결되는 형태 MTU (Maximum Transmission Unit ) 최대 전송 유닛 - 클라우드에서 중요함! 복습! OS7계층 Application Presentation Session Transport - 데이터 전송 신뢰 제공 Network - 경로 찾기 - IP - 라우터 - 패킷 DatalInk - 물리적인 주소 - 맥주소 Physical ICMP (Internet Control Message Protocol ) -> ping 이 여기에 속함. IP 보완 DNS (Domain Name System) DHCP( Dynamic Host Co.. 2023. 1. 27. 폰북 예제 - 2 package main import ( "encoding/csv" "fmt" "os" ) type Record struct { Name string Surname string Number string LastAccess string } var myData = []Record{} func readCSVFile(filepath string) ([][]string, error) { //파일 위치 정상확인 _, err := os.Stat(filepath) if err != nil { return nil, err } f, err := os.Open(filepath) if err != nil { return nil, err } //닫을껄 미리 선언한다. defer f.Close() lines, err := csv... 2023. 1. 27. 네트워크 강좌 정리 - 1 유선 연결시 쓰는 선 -> UTP Cable 8가닥 1,2 선 = TX (데이터 전송 ) 3,6 선 = RX (데이터 수신 ) 동일한 기기 ( PC 대 PC ) 연결시에는 크로스 케이블 ( TX, RX 가 양끝이 반대로 엮임 ) 을 써야 한다. 이종 기기 ( PC 대 스위치 ) 연결시에는 다이렉트 케이블을 쓴다. ( 스위치가 다이렉트 꼽히도록 TX, RX가 반대임 ) ping 에서 TTL이 128이 면 윈도우 이다.. ( 이유는 못들음 ㅡㅜ ) PDU TCP - segment IP - packet MAC - Frame 라우터를 다루는 엔지니어는 그래서 패킷을 본다. 일반 기업 네트워크 담당자는 주로 프레임을 다룬다. 네트워크에서 전송전에 수신기기의 Mac주소를 알기위해서 던지는 요청 프로토콜이 ARP (.. 2023. 1. 26. Visual Studio Code (vscode) 설치 후, 터미널에서 code 명령어로 실행하기 macOS 에서 vscode 를 다운받아 pkg 로 설치하면, 터미널에서 code 로 실행은 되지 않습니다. 이때 설정하는 방법입니다. vscode 를 실행 후, 커맨드 + 쉬프트 + p 누르면, vscode 명령어 창이 나타납니다. shell 이라고 검색하면 아래와 같이 나오는데, Shell Command: Install 'code' command in PATH 를 선택해서 설치합니다. (저는 설치되어서 recently used 로 표시 되네요 ) 사용법은 vscode 워크스페이스를 열고 싶은 폴더에서 code . 로 입력하면됩니다. 잘됩니다! 2023. 1. 26. Go! 상수값 선언 과 iota package main import "fmt" type Digit int type Power2 int const PI = 3.1415926 // 상수 여러개 선언 const ( C1 = "C1C1C1" C2 = "C2C2C2" C3 = "C3C3C3" ) func main() { //상수선언 iota 를 쓴다 const ( Zero Digit = iota One Two Three Four ) //찍었을때 값 fmt.Println("Zero:", Zero) fmt.Println("One:", One) //SKip 은 _ 이용 const ( p2_0 Power2 = 1 2023. 1. 25. Go! 폰북 예제 책에 나와있는 간단한 예제 구조체를 리스트형으로 선언하고, 하드코딩으로 넣어둔 데이터를 전체를 보여주거나, 키를 넣어서 찾을수 있는 프로그램 package main import ( "fmt" "os" "path" ) type Entry struct { Name string Surname string Tel string } var data = []Entry{} func search(key string) *Entry { for i, v := range data { if v.Surname == key { return &data[i] } } return nil } func list(){ for _, v := range data { fmt.Println(v) } } func main(){ arguments := .. 2023. 1. 24. LGTV nodejs 로 연동 제어하기(feat 라즈베리파이 제로) - 1 집에있는 LG tv 가 사용한지 8년이 지나지 리모콘의 뒤로가기 버튼이 안되기 시작함! 그래서 어쩔수 없이, 스마트폰의 앱에서 lg 리모콘을 이용하기 시작했는데, 너무 많은 광고에 스트레스!! 를 받기 시작 ㅡㅜ 쓰는거라곤, 비티비로 외부입력을 바꾸고 볼륨만 바꾸는건데 할때마다 광고때문에 채널 바꾸는데 3만년씩 걸리는듯 한 느낌 !! 화가 나서 폭풍검색을 하다보니, LGTV와 연동되는 node 관련 라이브러리를 발견했다! https://github.com/hobbyquaker/lgtv2#tvswitchinput GitHub - hobbyquaker/lgtv2: Control LG WebOS TV using node.js Control LG WebOS TV using node.js :tv:. Contrib.. 2023. 1. 21. 이전 1 ··· 18 19 20 21 22 23 24 ··· 44 다음 반응형