윈도 API를 이용한 wav 사운드 파일 재생
간단히 소리로 무언가를 알려야 할경우에 유용한 코드입니다. 구글링 중에 얻은 코드인지 깃헙 돌아다니다 발췌한 코드인지 기억이 가물가물해서 출처가 애매하네요 ;;
간단히 소리로 무언가를 알려야 할경우에 유용한 코드입니다. 구글링 중에 얻은 코드인지 깃헙 돌아다니다 발췌한 코드인지 기억이 가물가물해서 출처가 애매하네요 ;;
Go언어는 기본적으로 UTF-8을 인코딩으로 사용합니다만. 윈도의 경우 기본적으로 CP949 또는 UTF-16입니다. 한글 윈도를 설치한 경우에는 많은 경우에 CP949가 기본 인코딩인 경우가 대부분이라 exec 패키지 등으로 콘솔 명령어를 실행하고 결과를 받아서 사용하는 등의 경우에 한글문자가 깨지는 문제를 겪을 수 있습니다. 이때 사용할수 있는 인코딩 변환 코드입니다.
폴더나 파일이 이미 존재하는지 여부를 체크해주는 함수입니다. isExistFileWithSize 는 파일의 크기까지 같이 따져서 내용이 존재하는 파일인지 여부까지 체크하는 함수입니다.
윈도에서 프로그래밍을 하다보면 파일을 바로 삭제하는게 아닌 휴지통으로 이동시켜야 하는 경우가 생깁니다. os.Remove 같은 메소드를 이용하여 파일자체를 영구 삭제하는거야 매우 편하지만 .. 사용자를 대상으로 배포할 프로그램을 만드는 경우에는 가능하면 사용자의 실수도 감안하여 바로 삭제하는게 아닌 휴지통으로 이동을 시켜야 할 경우가 생깁니다. 이는 Go언어가 아닌 MFC나 Win32 API를 가지고 개발을 하더라도 결국 MS에서 제공하는 시스템 함수를 가지고서 다뤄야 하는 문제라 .. Shell32.dll 에서 필요한 함수를 …
서버 프로그램을 만들다 보면 가변포트를 사용해야 할 경우가 있습니다. 이런경우 시스템에 사용하고 있지 않은 포트를 얻어야 할때가 있는데요, 그런경우 사용가능한 패키지 입니다.
Go로 JSON 데이터를 다루다 보면 .. map 을 이용해 Unmarshal 등을 해도 상관은 없지만. 이래저래 불편합니다. 그래서 보통은 구조체를 생성해서 처리를 합니다. 이때 JSON 구조가 단순하다면야 직접 struct 를 잡아서 작성하면 되지만 복잡한 구조의 JSON 데이터의 경우 구조체 만드는것도 여간 귀찮은 일이 아니지요.. 그럴때 사용하기 좋은 사이트가 있습니다. 위 JSON 데이터는 json.org 의 JSON Example 중 하나입니다. 이런 JSON 데이터를 입력하면. 이런 Go struct …
JSON에 비해 XML의 경우 좀더 파싱이 복잡한 편이긴 합니다만. Go에서는 XML의 Marshal, Unmarshal도 지원을 하고 있습니다. 앞서 작성한 JSON to GO와 마찬가지로 XML의 경우도 구조체를 통해 처리하는 것이 여러모로 관리가 편합니다. 이 사이트를 이용하시면 매우 편리하구요 ㅎㅎ 이런 XML 을 입력하면. ( 출처 : www.w3schools.com/xml/simple.xml ) 요래 이쁘장하게 struct 로 뽑아냅니다.
가장 간편하게 파일을 읽어 올 수 있는 방법입니다. 좀더 확장해서 .. 텍스트 파일을 한줄씩 읽어 드리려면 이렇게 NewReader 를 사용하시거나 이런식으로 NewReader 로 ReadLine 함수를 쓰셔도 됩니다. 한가지 주의 하실점은 ReadLine 함수의 리턴값이 3개인데 예제에선 두번째 값을 _로 무시하였지만 저 값은 isPrefix 라는 값으로 만약에 파일을 읽는 중에 라인의 중간까지만 읽힌 경우 읽혀진게 완전히 한 줄이 읽혀진게 아님을 알려주는 값입니다. 텍스트 파일을 대상으로 사용한 …
윈도용 프로그램을 Go로 개발하다보면 중복실행을 원치 않을 경우가 있습니다. 이런때 윈도 API 의 뮤텍스 관련 함수를 이용하면 같은 프로그램의 중복실행을 방지할 수 있습니다. 위 패키지 설치가 필요합니다. 리턴 값이 false 이면 이미 같은 실행파일이 실행중인겁니다.
댓글을 달려면 로그인해야 합니다.