Programming/golang2025. 2. 18. 14:27

리눅스에서 일반실행파일을 systemctl에 등록해서 실행하는것과 다르게

윈도우에서는 윈도우 서비스 api를 통해서 구동을 해야 정상적으로 구동된다.

 

일반적인 네트워크 echo 프로그램을 빌드해서 실행해보니

서비스 등록 문제 없음

서비스 실행 -> 실행중 -> 중지됨 으로 어느정도 시간이 지난후 멈춰버린다.

[링크 : https://pkg.go.dev/golang.org/x/sys/windows/svc]

 

[링크 : http://golang.site/go/article/116-윈도우즈-서비스-프로그램]

[링크 : http://www.toughman.pe.kr/2020/09/gogolang-언어로-윈도우즈-서비스-프로그램-만들기/]

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

golang tcp socket timeout 주기(listen, read)  (0) 2024.04.08
golang reflect  (0) 2024.02.20
golang echo i18n  (0) 2024.02.19
golang package  (0) 2024.02.19
golang html/template ParseFiles()  (0) 2024.02.16
Posted by 구차니
Programming/C++ STL2025. 2. 6. 12:36

'Programming > C++ STL' 카테고리의 다른 글

cpp stoi (atoi)  (0) 2025.02.06
std::string:npos  (0) 2025.02.05
std::istringstream  (0) 2025.01.31
cpp destructor = default  (0) 2025.01.16
RAII (Resource Acquisition Is Initialization)  (0) 2024.11.28
Posted by 구차니
Programming/C++ STL2025. 2. 6. 12:11

std::string() 객체를 숫자로 바꾸어 주는 함수

c의 atoi 처럼 stoi stof 등이 존재한다.

 

[링크 : https://blockdmask.tistory.com/333]

[링크 : https://en.cppreference.com/w/cpp/string/basic_string/stol]

'Programming > C++ STL' 카테고리의 다른 글

cpp string 끝에 한글자 지우기  (0) 2025.02.06
std::string:npos  (0) 2025.02.05
std::istringstream  (0) 2025.01.31
cpp destructor = default  (0) 2025.01.16
RAII (Resource Acquisition Is Initialization)  (0) 2024.11.28
Posted by 구차니
Programming/C++ STL2025. 2. 5. 18:03

문자열의 끝까지를 의미하는 unsigned -1 값

std::string::find() 시에도 찾지 못하면 npos 값으로 -1을 리턴한다.

 

[링크 : https://cplusplus.com/reference/string/string/npos/]

'Programming > C++ STL' 카테고리의 다른 글

cpp string 끝에 한글자 지우기  (0) 2025.02.06
cpp stoi (atoi)  (0) 2025.02.06
std::istringstream  (0) 2025.01.31
cpp destructor = default  (0) 2025.01.16
RAII (Resource Acquisition Is Initialization)  (0) 2024.11.28
Posted by 구차니
Programming/C++ STL2025. 1. 31. 17:16

간단하게 요약하면 공백으로 구분하는 토크나이저

[링크 : https://myprivatestudy.tistory.com/48]

 

[링크 : https://en.cppreference.com/w/cpp/io/basic_istringstream]

[링크 : https://cplusplus.com/reference/sstream/istringstream/]

 

아래를 inlcude 안해주면 먼가 희한한 에러가 발생한다.

#include <sstream>

[링크 : https://stackoverflow.com/questions/10882376/stdstringstream-does-not-name-a-type-global]

'Programming > C++ STL' 카테고리의 다른 글

cpp stoi (atoi)  (0) 2025.02.06
std::string:npos  (0) 2025.02.05
cpp destructor = default  (0) 2025.01.16
RAII (Resource Acquisition Is Initialization)  (0) 2024.11.28
cpp lambda  (0) 2024.11.22
Posted by 구차니
Programming/언어론2025. 1. 31. 14:39

람다와 클로저 보다보니

자바의 개념까지 언급이 되서 보는 중

 

함수를 다른 함수의 인자로 전달한다..

함수 포인터와는 다른 개념이겠지?

 

컴퓨터 과학에서 프로그래밍 언어는 함수를 일급 객체로 취급하는 경우 일급 함수(first-class function)를 갖는다고 한다. 이는 언어가 함수를 다른 함수에 대한 인수로 전달하고, 이를 다른 함수의 값으로 반환하고, 변수에 할당하거나 자료 구조에 저장하는 것을 지원한다는 것을 의미한다.[1] 일부 프로그래밍 언어 이론가들은 익명 함수(함수 리터럴)에 대한 지원도 요구한다.[2] 일급 함수를 사용하는 언어에서는 함수 이름에 특별한 상태가 없다. 이는 함수 유형의 일반 변수처럼 취급된다.[3] 이 용어는 1960년대 중반 크리스토퍼 스트래치가 "일급 객체로서의 기능"이라는 맥락에서 만들어졌다.[4]

일급 함수는 고차 함수의 사용이 표준 관행인 함수형 프로그래밍 스타일에 필수적이다. 고차 함수의 간단한 예는 함수와 목록을 인수로 사용하고 목록의 각 구성원에 함수를 적용하여 형성된 목록을 반환하는 map 함수이다. 언어가 맵을 지원하려면 함수를 인수로 전달하는 것을 지원해야 한다.

함수를 인수로 전달하거나 결과로 반환하는 데는 특정 구현상의 어려움이 있다. 특히 중첩 및 익명 함수에 도입된 비지역 변수가 있는 경우에는 더욱 그렇다. 역사적으로 이러한 문제는 "함수 인수"에서 유래한 이름인 funarg 문제라고 불렸다.[5] 초기 명령형 언어에서는 함수를 결과 유형(예: 알골 60, 파스칼)으로 지원하지 않거나 중첩 함수 및 비지역 변수(예: C)를 생략하여 이러한 문제를 방지했다. 초기 함수형 언어 리스프는 동적 범위 지정의 접근 방식을 취했다. 여기서 비지역 변수는 함수가 정의된 위치 대신 함수가 실행되는 지점에서 해당 변수의 가장 가까운 정의를 참조한다. 어휘 범위가 지정된 일급 함수에 대한 적절한 지원이 스킴에 도입되었으며 함수에 대한 참조를 기본 함수 포인터[4] 대신 클로저로 처리해야 하므로 쓰레기 수집이 필요하다.

[링크 : https://ko.wikipedia.org/wiki/일급_함수]

 

컴퓨터 프로그래밍 언어 디자인에서, 일급 객체(영어: first-class object)란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 보통 함수에 인자로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 한다.

[링크 : https://ko.wikipedia.org/wiki/일급_객체]

 

[링크 : https://inpa.tistory.com/entry/CS-👨%E2%80%8D💻-일급-객체first-class-object]

'Programming > 언어론' 카테고리의 다른 글

dangling if-else  (0) 2014.08.13
double의 정확도 자릿수  (0) 2011.03.25
함수 포인터 (function pointer)  (0) 2010.09.16
type system  (0) 2010.09.15
calling convention(콜링 컨벤션)  (0) 2010.04.17
Posted by 구차니
Programming/Java2025. 1. 31. 14:23

람다 - 익명함수

(int x, int y) -> {return x > y ? x : y}

 

 

클로저

클로저는 보통 함수가 매개변수를 받아 활용하는 것과 다르게, 내부 컨텍스트에서 자신을 둘러싸고 있는 외부 컨텍스트 내의 변수에 접근할 수 있는 기술입니다. 또한 내부 컨텍스트에서 접근한 외부 컨텍스트의 값은 외부 함수가 종료되더라도 유지가 됩니다.

fun a() {
    int a = 1;
    () -> return a++
}

[링크 : https://full-of-bluff.tistory.com/12]

 

클로저는 어떻게 보면 scope를 확장하는 개념인건가?

 

+

람다 설명

[링크 : https://devocean.sk.com/blog/techBoardDetail.do?ID=166237]

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

자바 annotation  (0) 2020.06.16
java oop 개념  (0) 2020.01.15
java cipher  (0) 2019.11.25
jaxb - Java Architecture for XML Binding  (0) 2019.06.25
jar 실행하기  (0) 2019.01.15
Posted by 구차니
Programming/C++ STL2025. 1. 16. 15:39

 

[링크 : https://stackoverflow.com/questions/13576055/how-is-default-different-from-for-default-constructor-and-destructor]

[링크 : https://andreasfertig.com/blog/2022/03/a-destructor-default-and-the-move-operations/]

 

c++11 에 추가된 키워드 인 듯. 꽤 오래되긴 했네..

다만 생성자나 소멸자에 사용할 경우 객체 생성보다는 기본 객체를 포인터로 연결하는 얕은 복사를 사용한다는 의미일 듯.

반대는 delete 키워드로 기본 지정을 막을 수 있는 듯.

[링크 : https://woo-dev.tistory.com/100]

'Programming > C++ STL' 카테고리의 다른 글

std::string:npos  (0) 2025.02.05
std::istringstream  (0) 2025.01.31
RAII (Resource Acquisition Is Initialization)  (0) 2024.11.28
cpp lambda  (0) 2024.11.22
cpp static_cast<type>  (0) 2023.02.09
Posted by 구차니

gpt 에서 c로 짠 코드를 python으로 바꾸어 달라니 희한한(?) 문법이 보여 검색해보니

패킹/언패킹이라는 모듈인 듯.

3f 하면 float 3개 인것 같은데

gpt에서는 왜 3f3f3f 이런식으로 했을까 걍 9f 하면 되지 않나 -ㅁ-?

 

 

[링크 : https://docs.python.org/ko/3/library/struct.html]

[링크 : https://plummmm.tistory.com/176]

Posted by 구차니
Programming/C++ STL2024. 11. 28. 08:25

'Programming > C++ STL' 카테고리의 다른 글

std::istringstream  (0) 2025.01.31
cpp destructor = default  (0) 2025.01.16
cpp lambda  (0) 2024.11.22
cpp static_cast<type>  (0) 2023.02.09
::open()  (0) 2021.11.10
Posted by 구차니