ifthe1201의 등록된 링크

 ifthe1201로 등록된 네이버 블로그 포스트 수는 59건입니다.

[Node JS] Zip 파일 구조및 관리 모듈 제작 [내부링크]

No. 0개요시작은 분명 이용자가 거의 없는 게임의 데이터파일을 분석하는 일이었습니다.어쩌다보니 얻게...

[2020]Visual Studio 에서 libpng 사용하기 [내부링크]

0. 개요시작은 분명 예전에 만들어둔 게임 소스를 빌드했던 것일테죠. 5년전에 C언어로 만든 게임을 보니 추억이 새록새록 피어오르면서 욕심이 나기 시작합니다.지금 만든다면 더 잘 만들 수 있는데그래서 새로운 게임을 간단하게 구상해 봤습니다. 오목같이 간단한 보드게임은 게임의 구현보단 알고리즘의 공부가 아닐까 싶었고, 리듬게임이나 슈팅게임은 만들어 보았습니다. 물론 지금 만들면 더 잘 만들겠지만. 이전에 미로찾기도 만들어 봤습니다.결국, 도달한 것은 지금껏 실패만 했었던 2D 횡스크롤 게임입니다.그냥 간단하게 만드는 것 보단 CUI라도 조금은 보는 게 즐거웠으면 하는 마음에 아스키 아트로 이루어진 애니메이션을 만.......

[스푼 매니저 프로그램] 소피아 배포 [내부링크]

No. 0개요안녕하세요. 개발자 윤군입니다.블로그 글을 쓴지 얼마 되지 않아 이렇게 배포글을 쓰게 되다니제가 게으름 피우지 않고 부지런했다는 증거입니다.많은 분들이 배포를 기대하셨던 만큼누구에게나 자유로이 배포를 해드리고 싶지만,저는 2차배포의 가능성을 원치 않았으며프리미엄 서비스를 제공하고 싶었습니다.그렇기 때문에 이번 배포 또한 모두에게 해드릴 수 없는 점양해 부탁드립니다.이 전 글들을 보셨으면 어떤 기능들이 있는지 아실겁니다.하지만 그 중 대부분은 일종의 커스터마이징이며실 기능은 정말 기본적인 것 밖에 없습니다.가능만 하다면 자유도가 매우 높습니다.사용법을 익힌다면 스푼 내에서 원하는 기.......

[스푼 매니저] 2월 22일 소피아 업데이트 [내부링크]

No. 0업데이트 요약1.1.3-방송 입장 후 동작하지 않는 부분 수정1.1.4- Spoor Chat 최대 입력 시간 기능 추가- 사용 서버 변경1.1.5- 도네이션 기능 안 되는 버그 해결- 잘못 된 파일이 들어 있던 것 삭제1.1.6- 프로그램 보안 강화 및 안정화- 시그니처 기능 베타 추가- 파일 저장시 오류 검사 메타 기능 추가1.1.7- 시그니처 녹음 기능 추가- 이벤트 본인 감지 삭제- 특정 멘트 매니저만 가능하도록 수정- 기타 버그 수정No. 1개요예. 살면서 처음으로 다크서클이 생겨서 신기해 하는 개발자 윤군입니다.곧 1.2.0 이 업데이트 될 예정인데 이 글을 올리는 이유는시그니처 녹음 사용법을 위해서 입니다.참고로 영상은 없습니다. 제.......

소피아 굿즈 출시! [내부링크]

No. 1안 팔려서 울어요굿즈 사전투표로는 200명이 넘는 분들이 참여해 주셔서, 자신있게 굿즈 판매를 시작했습니다. 하지만 굿즈 판매 3일 째... 20개 채 주문되지 않은 상황입니다.No. 2홍보일단 홍보가 부족하다고 판단.사람들이 가장 많이 검색할 네이버에 판매 글을 작성하는 겁니다.소피아를 사용하시는 분들은 조금이나마 이 글을 보시지 않을까요?No. 3물품이번에 판매하는 물품은 총 4개입니다.사진과 같이 보시죠.1번 타자. 실리콘 케이스모든 물품이 마찬가지지만이번 디자인의 컨셉은 이겁니다.아는 사람만 알아보는 아이템많은 스푸너분들이 스밍아웃 ( 스푼 커밍아웃 ) 을 꺼려하십니다.그래서 최대한 일반.......

GitHub 블로그 플랫폼, Git-Story 현황 [내부링크]

No. 0서론블로그 글도 정말 오랜만에 써가지고 테마색과 폰트, 글자 크기 등 전부 까먹어 버렸습니다.요즘 소피아 관련 글만 올려서 블로그의 취지가 점점 바뀌고 있었지만 사실 개발 블로그였던 것입니다.저는 이번년 1월에 개발중이었던 깃스토리를 블로그에 작성하였고그 뒤로 소피아를 배포하게 되어서 이 서비스에 대한 개발에 진전이 없었습니다.근데, 어느날 프로젝트 관리에 들어가 보니, 회원가입한 계정이 생각보다 꽤 있더랍니다.읭?어리둥절한 마음에 깃헙에다 git-story 를 코드검색으로 해보니 정말로 개설한 사람이 있습니다!물론, 진짜 블로그 운영을 하시는 분들은 안 계셨지만 나름 감격을 받아서소피아는 내.......

소피아 프리미엄 도네이션 [내부링크]

No. 0개요스푼에 도네이션이 생긴지 3달째 되어갑니다.그동안 사용자가 2000명이 넘도록 증가하였죠.트위치의 투네이션이나 트윕은 많은 TTS 목소리를 가지고 더 좋은 컨텐츠를 만들도록 스트리머들을 지원해 줍니다.여기서 저는 질 수 없는 것입니다!트윕, 투네이션 처럼 어떠한 DJ를 초빙해서 TTS 목소리를 따는 것은 무리가 있지만서도, 목소리를 늘리는 것은 어렵지 않았습니다.하지만, 문제가 생겼습니다.No. 1프리미엄의 이름프리미엄의 이름은 소피아 배포 글에서도 한 번 나왔습니다.맛있는 것과 맛있는 것을 합치면 두배로 맛있는 것 처럼프리미엄에 프리미엄을 붙이면 두배로 고급진 서비스가 아닐까 합니다.8개의.......

WinForm을 HTML5로 디자인하기 [내부링크]

예전부터 WinForm을 개발하면서 이 부분에 대한 디자인을...! 이 부분에 대한 디자인을...! 결국 Bunifu UI Framework 까지 구매를 했으나 여전히 부족한 부분도 많았습니다. https://bunifuframework.com/어떻게 하면 디자인이 더 쉬울까 하다가 결국 웹을 하게 되고, 필요에 의해 일렉트론을 해버리니 C#엔 관심도 안 주게 되었습니다. 어느날 프로그램을 구상하는 데 이 기능은 일렉트론보단 C#으로 만드는 게 더 편해보였기 때문에 WinForm을 하려던 찰나... 스쳐지나간 디자인의 번뇌가 이 게시글을 쓰게 만들도록 했군요.이 방법을 사용하여 대충 만들어본 디자인은 다음처럼 뽑힙니다.아 근데 당연히 엘리먼트가 2000개가 넘.......

리눅스에서 MSVC 빌드하기 [내부링크]

제목에 이끌려 들어오신 거라면 아마 이런 생각을 하고 계실겁니다. 이게 무슨 말도 안 되는 얘기지?그래서 미리 말씀드리자면, 정확히는 윈도우 위에 있는 리눅스에서 빌드하는 것이라고 정정하겠습니다. 0. 개요저는 리눅스 PC를 주로 사용하고, 윈도우 PC는 카톡할때나 VC를 사용해야 할 때만 사용했습니다.그런데 어느날 윈도우에서 지원하는 리눅스를 켰다가 문득 생각이 스쳐 지나가더군요. 윈도우용 리눅스에선 exe 파일도 실행 되는데, 잘 하면 MSVC 컴파일러로 빌드할 수 있지 않을까?그렇습니다. 저는 개발이 VIM으로 하는 게 너무 편해서 자바스크립트나, Vue, C 등 모든 것을 빔으로 해결하고 싶어하는 만큼 저는 리눅스로 ssh.......

카카오톡 PC 버전 테마 만들기 [내부링크]

모바일 카카오톡의 테마는 셀 수도 없을 만큼 많습니다.그러나 PC 버전의 카카오톡은 기본과 엑셀 단 두 개의 테마밖에 존재하지 않습니다. 그래서 한 번 테마를 만들어 보고자 합니다.그래봤자 할 수 있는 것은 제한적이겠지만요. 1. 파일 구조먼저 카카오톡이 설치되어 있는 폴더를 한 번 봅니다.우리가 보아야 할 폴더는 skin/default 폴더입니다.그러면 color, font, image, layout, resource 총 다섯 개의 폴더가 나오는데 간단하게 봅니다.color 폴더는 색상 코드를 지정한 color.xml 을 가지고 있습니다.font 폴더는 말 그대로 글꼴에 관한 파일들을 가지고 있으나 실질적으로 어떻게 사용되는지 파악되지 않았습니다. 카카오.......

Grep에 자바스크립트 정규식 뿌리기 [내부링크]

grep javascript regexNo. 0개요grep 명령어는 유닉스 사용자에게 있어서 뗄레야 뗄 수 없는아주 훌륭한 유틸리티입니다.어느 날, 명령어를 사용하다가 문득 든 생각입니다.자바스크립트 정규식을 사용할 수 있다면grep의 정규식을 외우지 않고 더 쉽게 검색할 수 있을텐데.예. 물론 찾아보면 있을법한 프로그램입니다.또한 이미 있는 grep이 더 안전하고 빠르고 좋겠죠.하지만 얼마 걸리지 않을 것 같아 만들어 보았습니다.No . 1TYPESCRIPTJavascript의 상위 호환.타입에 대한 정의가 가능한 타입스크립트에 한 번 도전해 보았습니다.사용하는 방법이 틀린 것 같지만 어쨌든 동작합니다.일단 동작한 것에서 만족하죠.use javascrip.......

[스푼 매니저 프로그램] 뽀또라이 사용법 [내부링크]

No. 0개요뽀또라이는 SPOON 플랫폼에서 ⅅ 크루를 위한 매니저 프로그램입니다.오로지 닉네임에 ⅅ 가 들어간 비제이의 방에만 서식합니다.아래는 2019년 08월 01일 업데이트된 1.0 버전의 사용법입니다.현재 1.6까지 업데이트 되었습니다.No. 1야. 닥쳐. 아니, 일 해!뽀또라이가 일을 할지 안 할지 설정할 수 있습니다. 기본적으로 입장하면 일을 하지 않는 상태이며, 일을 시키려면 !on 명령어를 사용하여 일을 시킬 수 있습니다.만약 뽀또라이가 시끄러울 경우엔 !off 명령어로 조용히 시킬 수 있습니다. 걱정마세요! 고작 이 정도 일로 삐져서 방송을 나가는 일은 없을 겁니다. 그리고 언제든지 다시 일을 시키는 악덕 고용주가 된.......

1분만에 Git Blog 생성하고 글 쓰기 [내부링크]

No .0개요제 블로그 글 중 [1부터 100까지] 깃 블로그 테마 만들기가 있습니다.이와 같이 저는 깃 호스팅을 사용하려고 하지만, 매번 포스팅하기에 여간 귀찮은게 아닐 수 없습니다.특히 가장 귀찮다고 생각하는 것은 이미지 부분에서 말이죠.네이버 포스팅 같은 경우는 복사 붙여넣기 하면 알아서 추가해 주지만, 깃 블로그는 보통 마크다운을 사용하여 작성하기 때문에 이미지를 저장하고 경로를 지정해 주어야 합니다.항상 생각하는 개발자 답게 생각합니다.없으면 만들어야지있을지도 모르겠습니다.포트폴리오 차원에서, 또는 해보고 싶어서 시작했으니까요.하지만 혼자서 만들기엔 규모가 좀 크기도 했고혼자 하게 된다면 중간에 프로.......

C 언어 콘솔 색깔 출력 (RGB 적용) [내부링크]

No. 0개요키보드에 손을 올리고 문득 든 생각이CUI 환경에서 역동적인 효과애니메이션을 연출할 수 있으면 좋겠다고 생각했습니다.아마 그 전에 봤었던 인디게임 소개 영상을 본 영향인 것 같습니다.그러다가 색깔을 좀 더 다채롭게 할 수 없을까 찾아보다생각외로 되게 별거 아니었던 것이었습니다.이럴 수가. 리눅스랑 비슷하더군요.No. 1사용 방법사용 방법은 헤더파일만 추가해 주면 됩니다.해더파일의 내용도 별거 없습니다.다음 세 가지의 함수를 집중적으로 보면 됩니다.FG_COLOR(r, g, b) , BG_COLOR(r, g, b) , SET_COLOR(type, r, g, b)FG_COLOR(r, g, b) 와 BG_COLOR(r, g, b)두 함수는 rgb 값에 오로지 0~255의 숫자만 들.......

[스푼 매니저 프로그램] 20년 2월 14일 소피아 업데이트. [내부링크]

No. 0머기업 따라잡기트위치나 아프리카, 유튜브엔 있으면서 스푼 라디오엔 없는게 뭘까요?트위치에 비해 이용자가 없다.여러가지 있겠지만 저는 그 중 하나인 슈퍼챗, 도네이션 시스템을 주목했습니다.트위치에서 방송을 재밌게 하는 것 중 하나가시청자들의 재치있고 센스있는 도네이션 멘트와 영상이었죠.하지만 스푼 라디오에선 영상을 틀 수는 없으니스푼을 쏜 사람의 다음 채팅을 읽어주는 기능을 추가했습니다.No. 1영상제가 방송하면서 찍은겁니다.때문에 청취자 입장에선 찍질 못 했지만, 일반적인 딜레이로 방송이 가능했습니다.물론 이건 컴퓨터 방송하는 사람만 가능하겠죠.No. 2설명일종의 도네이션인 이 기능.......

[1부터 100까지] 내 Github 블로그 만들기 6 [내부링크]

--. 버그 수정내가 무슨 버그를 어떻게 수정했는 지 잘 기억이 나질 않는다.기억나는 것만 나열해 보자면,1. 페이지 접근 방식을 수정했다.현재는 get요청으로 페이지 넘버 (p=x)와 보여줄 임포트된 링크 아이디 (v=import-x)였다.하지만 이 방식대로 하면 글이 늘어날 수록 p의 값과 v의 값은 변경이 된다. 그러면 disqus가 다른 글인 줄 알고 달린 댓글이 아닌 새로운 댓글창을 만들게 되는 것이다.그래서 주는 방법을 v=posting 으로 바꾸었다.이런 식으로 접근이 가능하게 된다.2. 오른쪽 사이드바에서 부제목 클릭시 페이지 이동안 되는 현상 수정클릭시 이동할 부제목 <h2> 의 태그를 찾는 방식을 id.......

[1부터 100까지] 내 Github 블로그 만들기 7 (完) [내부링크]

17. 페이지 import 방식 변경어제 기능 구현을 다 해서 만족하며 다른 사람들에게 보여주었는데, 브라우저마다 다른 반응이 왔었다. 파이어 폭스, 인터넷 익스플로러, 아이폰 등... <link rel="import"> 는 문제가 있는 코드였다.결국 울면서 ajax의 get 방식을 사용했고, 그 결과 익스플로러 엣지, 파이어폭스에서 동작이 되는 것을 확인했다.import는 script가 실행되지만 get으로 파일을 읽어와 element로 추가하는 것은 그렇지 않아서 eval로 강제 동작하게 만들었다.18. 검색 엔진에 노출 되도록 설정이건 사이트를 만들거나 블로그를 해본 사람이라면 대부분 아는 법이다.검색엔진에 사이트를 등록하고, 사.......

[Git Blog] Mobbing Theme 배포! [내부링크]

누군가가 내가 만든 테마를 사용했으면 좋겠다 했지만 그에 관한 설명도 자세하지 않을 뿐더러, 내 블로그 깃을 그대로 배포해 버리면 받는 사람이 게시글을 지우고 관리하기가 불편할 거라 생각되어 아예 예제 테마만 모아둔 레포지토리를 만들었다.README 에 간단한 사용법과 블로그 포스팅을 작성할 수 있는 수정된 Moeditor 에 관한 얘기도 있으니, 만약 사용할 거라면 이쪽을 참고바란다.https://github.com/raravel/Mobbing-Theme

[Mongoose Cgi] SSI, shtml 확장자 [내부링크]

SHTML 이란?Server-side include Hypertext Markup Language file 의 약자로, HTML 파일이 사용자가 보내지기 전에 서버에 의하여 수정된 후 보내지는 파일을 말한다. 이러한 HTTP 기술을 SSI라고 하는데, SSI 파일의 인식은 꼭 shtml이 아니더라도 개발자에 의해 다른 파일을 인식할 수도 있다.참고 :http://www.terms.co.kr/SHTML.htmSSI그럼, 바로 Mongoose CGI에서 지원하는 SSI 문법을 알아보도록 하자.공식 문서 : https://cesanta.com/docs/http/ssi.html1. Include파일을 포함시켜주는, ejs의 include와 유사하다.해당 경로의 파일들을 읽어 SSI 태그가 있던 부분에 붙여넣는다.include의 속성은 세 가지가 있다.올릴 예정.......

[Mongoose Cgi] jansson 라이브러리 사용하기 [내부링크]

JSON 이란JavaScript Object Notation (JSON)은 Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷이다. 웹 어플리케이션에서 데이터를 전송할 때 일반적으로 사용한다(서버에서 클라이언트로 데이터를 전송하여 표현하려거나 반대의 경우).출처 : https://developer.mozilla.org/ko/docs/Learn/JavaScript/Objects/JSONJanssonjansson readdocs 를 보면 소개 부분에 다음과 같이 적혀있습니다.Jansson is a C library for encoding, decoding and manipulating JSON data."Jansson 은 JSON 데이터를 인코딩하거나 디코딩하고, 다루기 위한 C 라이브러리입니다." 라고 말이죠.자, 그러면 문서.......

[Mobbing-Theme] 사이트 맵, RSS 피드 생성 [내부링크]

여러 검색엔진에게 노출이 되려면, 사이트맵과 Rss feed라는 것을 제출해야 합니다.둘 중 하나만 등록해도 검색엔진에 노출이 가능하긴 하나, 둘 다 사용해야 하는 이유는 다음 주소를 참고하세요.http://www.thesempost.com/differences-xml-sitemaps-rssatom-feeds-use/우리는 포스팅 url이 여러번 리다이렉트 되기 때문에 온라인 사이트맵 생성기에서 제대로 된 정보를 수집하여 만들어줄 수 없습니다. 리다이렉트 되는 방법은 물론 좋은 방법이 아니죠.그렇다고 일일히 만들 수는 없으니, 사이트맵은 간단하게 url 주소만 첨부되도록 하고, rss 피드는 네이버의 RSS 2.0을 기반으로 만들었습니다.자세한 사용법은 깃헙 레포지토리를.......

[Mobbing-Theme] 페이지 설명, Open Graph 추가 [내부링크]

네이버 웹마스터 도구를 보고 있었는데, 아무리봐도 마음에 들지 않는 부분이 있었습니다.뭔데 자꾸 개선이 필요하다는거야? 그래서 자세히 보니 메타태그 몇 개 안 추가해주었다고 저럽니다.1. Open Graph란?자세한 것은 아래 주소를 참고하세요.http://blog.airbridge.io/open-graph-as-a-website-preview/네이버의 경우 링크를 붙여넣기 하면 다음과 같이 나옵니다.여기서 이미지가 og:image 제목이 og:title 밑에 설명이 og:description 입니다.그래서 그것을 추가했을 뿐입니다.물론 Moeditor에다가요.https://github.com/mobbing/Moeditor

[스푼 매니저 프로그램] S-Bot 개발 일지 [내부링크]

0. 개요이번 2019년 1월인가? 스푼이란 라디오 방송 플랫폼에서 아는 사람이 방송을 한다길래 들어가 봤더니 생각보다 재미있더군요. 그래서 제대로 청취자로써 활동하기 시작했습니다.그런데 돌아다니다 보니 매니저들이 참 고생을 하고 있었어요.트위치나 유튜브와는 다르게 매번 손으로 무언갈 붙여넣기를 하고 있더군요.아이고, 저런 건 프로그램을 시켜야지 본인이 하고 있을까?그래서 만들었습니다.모든 매니저들의 일을 대신할 프로그램.Spoon - Bot 을 줄여서 S-Bot이라고 했습니다.사실 부를 땐 스봇시라고 부릅니다.S-Bot 개발은 3월부터 이루어졌고, 현재 활동하는 스봇시의 프로그램은 4월 8일 Git Private Repository가 만.......

[스푼 매니저 프로그램] S-Bot 기능 소개 [내부링크]

3. 스봇시의 기능제가 이작 크루방송에 많이 들어가는데, 쿠우쿠우 ᶜᴼᴼᴷ 씨와 세희 ฅฅ*씨 방송에서 캡쳐하는 것을 허락해 줬으나, 쿠우시는 허락짤을 날려버리고, 세희시는 구두로 허락한 관계로 그냥 올릴게요!일단 간단하게 사람들이 들어오면 인사를 할 수 있습니다.이건 너무 쉽죠? 아니, 당연한거지!좋아요를 눌렀을 때, 반응을 합니다.물론 이것도 당연하지.사람들이 스푼을 쐈을 때도 멘트를 날립니다. 이것도 사람이 볼 수 있는 정보니까 당연합니다.물론 각 스푼마다 다른 멘트를 준비할 수도 있고, 콤보를 쐈을 때도 계산할 수 있습니다.트위치의 나이트 봇처럼 상호작용을 할 수 있습니다.이 상.......

[스푼 매니저 프로그램] S-Bot의 진화, 소피아 [내부링크]

사람들이 스봇에게 이름이 생겼다고 좋아하지만, 사실은 비슷하지만 다른 엔진입니다.일렉트론 기반이라고 하여도 모든 상황에서의 하이스펙 버전인 소피아는 그야말로 신세계!라기보단 그냥 스봇에서 아쉬웠던 점을 보완한 엔진입니다.1. UI와 사용자 편의성 개편원래의 Dashboard 탭입니다.쓸대없는 On/Off 스위치를 없애고, 버전 정보. 이따위것도 없앴습니다.전엔 어둑어둑한 테마였다면, 이번엔 밝고 심플한 테마죠.아, 왼쪽에 있던 메뉴가 이번엔 위로 올라갔군요.UI Framework를 core ui 에서 uikit으로 바꾸었습니다. uikit엔 색깔지원이 적었기 때문에 제가 직접 수정도 했고요. uikit은 무료 템플릿이지만 정말 강력하다고 생.......

[Mongoose Cgi] html파일로 페이지 접근 [내부링크]

환경 : Linux Mint 17.2 32bitgcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4Copyright (C) 2013 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.이번 포스팅에서 행하고자 하는 동작을 그림으로 만들어 보았다.먼저, 서버가 클라이언트에게 뿌려줄 html을 모아둘 web_src 폴더를 만들고 안에다 index.html과 test.html을 만든다.그리고 web_src 상위 폴더에 다음 파일을 만든다.다음 포스팅에서는 GET request를 처리해 보는 글을 써보겠다.

[Mongoose Cgi] Get request query parameters 파싱 [내부링크]

Get request query parameters란 다음과 같은 형태를 말한다.여기서 key=value&key2=value2 가 query string이라고 한다.그러면 이것을 파싱하여 value와 value2 값을 가져와 사용하는 법을 기술하겠다.환경 : Linux Mint 17.2 32bitgcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4Copyright (C) 2013 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.get으로 넘어온 flag 값이 true면 content에 들어있는 html코드를 적용하지 않고 보여준다.false면 html을 적용하여 보여준다.다음 포스.......

[Mongoose Cgi] POST 요청 처리 [내부링크]

* POST 전송은 header의 body안에 담겨서 전송된다. * 동기작업과 비동기작업 두가지의 방식이 존재한다.환경 : Linux Mint 17.2 32bitgcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4Copyright (C) 2013 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.동기 작업 (submit 버튼으로 인한 폼 데이터 전송) 일 경우, 값을 담을 input element에 name 요소를 넣어주어야 한다. 그렇지 않으면 데이터가 넘어가지 않는다.비동기 작업으로 인한 결과다음 포스팅은... 음. 디버깅 로그 출력 방법에 대해 기술.......

[Mongoose Cgi] 웹 서버 디버깅 [내부링크]

혹여나 가끔씩 버그를 만들며 펑펑 터져버리는 자신의 프로그램들을 디버깅하고 싶을 때가 있다.Mongoose에서는 기본적인 디버그 로그를 볼 수 있도록 손을 써 두었다.환경 : Linux Mint 17.2 32bitgcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4Copyright (C) 2013 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.먼저, mongoose-master 폴더에 src란 폴더가 있다. 이 부분을 참조 가능하도록 빌드 옵션에 붙여주어야 한다. 필자는 쉘 스크립트를 하나 만들었다../build.sh target으로 인자를 준다.......

[Mongoose Cgi] POST 파일 다운로드 요청 [내부링크]

원래 쿠키 & 세션으로 이번 포스팅을 진행하려 했으나, 이미 공식 예제에 존재하기 때문에 나중으로 미루었다. 그리고 가장 중요한 이유는, 작업을 하다 다운로드를 하는 방법을 몰라 헤멘 것 때문에 화가 나서 쓴다.환경 : Linux Mint 17.2 32bitgcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4Copyright (C) 2013 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.0. 파일 다운로드 헤더파일을 다운로드하기 위한 정보를 넘겨줄 때, http헤더를 수정하여 넘겨주어야 한다.다른 언어들은 알아서 넘겨.......

[1부터 100까지] 내 Github 블로그 만들기 [내부링크]

0. 개요네이버에서 블로그를 하다가, 구글에서는 내 글이 잘 노출되지 않는다는 것을 깨달았다.그래서 T-story 블로그를 시작해볼까 했었는데, 첫 글을 쓰자마자 접어버렸다. Wa!개발일지라는 것은 내가 이렇게 프로젝트를 개발해 나가면서 이렇게 이렇게 했다. 라고 말하는 것이다.누군가를 가르치려고 하는 게 아니기 때문에 설명이 불친절할 수도 있다.나는 언제부턴가 github.io란 도메인이 많이 보였고, 최근에 그것이 깃헙 블로그라는 것을 알았다.난 또 무슨 돈을 내야 하거나 대단한 사람들만 하는 줄 알았더니 그것도 아니었다. 완전 누구나 무료!그리고 템플릿까지 깃헙에 널려있으니 쉽게 만들 수 있을 것이다.그러나.나는.......

[1부터 100까지] 내 Github 블로그 만들기 2 [내부링크]

5. 구상디자인을 어떻게 할지 고민하다가, 예전에 UI 팩을 구매한 것이 기억나서 그것을 사용하기로 했다.https://coreui.io/무료팩을 지원한다.어차피 이 블로그에서 사용할 기능은 무료팩밖에 없겠지만 앞으로의 프로젝트를 위해서라도 익숙해지기 위하여 이 템플릿을 사용해 보기로 했다.일단 현재까지 완성된 상황은 다음과 같다.로고, 왼쪽 포스팅 카테고리 사이드바, 오른쪽 포스팅 내 작은 제목을 이동시켜주는 사이드바.포스팅 시 보일 글 제목과 내용.모바일로 보면 다음과 같다.6. 템플릿 적용가장 최신판 Pro 버전 파일들을 보면 무언가 되게 많다.real-bootstrap-admin-template-starter-2.15/src 폴더에서 아이콘을 사용하기.......

[1부터 100까지] 내 Github 블로그 만들기 3 [내부링크]

9. 작성한 글 목록 보기10. 작성한 글 보기솔직히 하루동안 코딩하면서 내가 무슨 코드를 작성했는지 헷갈린다.한 쪽엔 애니메이션을 틀어두고 보면서 했으니......일단 우리는 돌아가기만 하면 되기에 너무 대충짠 코드지만 된다.먼저, 우리는 포스팅 목록의 내용을 알아와야 한다.왜? 미리보기가 있어야 하기 때문이다.그래서 난 link 의 rel="import" 를 사용하기로 했다.처음엔 모든 포스팅을 하나의 페이지로 두고 href로 이동시키려 했으나,페이지를 복사하니 import하면서 스크립트가 실행이 되어 페이지가 망가지는 현상이 있었다.때문에 나는 페이지 html은 본문 (div.card-body) 만 작성하고, get방식으로 현재 페.......

[1부터 100까지] 내 Github 블로그 만들기 4 [내부링크]

12. 글 작성하는 프로그램 만들기우리가 posts.js를 만든 이유는 무엇인가-. 다 이 때를 위해서였다.가장 윗 줄의만 제외하고 string으로 읽어들인다면 JSON.parse로 데이터를 관리할 수 있다.parse를 위해 key 값을 ""로 묶고, 홑따옴표(') 를 쌍따옴표(")로 바꿔주었다.처음엔 C#으로 프로그램을 처음부터 만드려 했으나, 만약 플랫폼이 옮겨간다면? 생각이 되어 vue electron을 사용하기로 했다.하지만 문제는 내가 electron을 여러번 시도했다가 포기했던 것이다.그렇기에 이번에도 역시 일렉트론 똥망을 외치며 포기했고, 오픈 소스를 가져다 손보는 식으로 수정했다.사용한 오픈소스는 Markdown 편집기인 miikun.......

[1부터 100까지] 내 Github 블로그 만들기 5 [내부링크]

--. 버그 수정현재 포스팅을 클릭하면 제목을 보여주는 것이 아니라, 포스팅이 존재하는 카테고리 글을 보여주고 있다.이를 수정하기 위해, 각 포스팅엔 <title> 태그를 추가하여 참조가 가능하도록 만든다.fs.writeFileSync로 출력되는 파일의 내용은 다음과 같다.그리고 타이틀을 보여주는 코드는 다음과 같이 수정한다.그러면 잘 나온다.13. DISQUS를 이용하여 댓글 구현하기구글 검색 노출을 먼저 만들까 하다가 이 기능을 먼저 구현하는 게 맞다 생각하여 순서를 약간 바꾸었다.https://disqus.com/위 주소에 가입하고 서비스를 이용하여 댓글을 만든다. 자세한 건 아래 주소 참고.https://devmjun.github.io/archive.......

[Electron 강좌]1. Window에서 간단하게 Electron Project 생성 [내부링크]

GUI프로그램은 계속 C#만 사용하다가 Node JS의 Electron이란 것을 알게 되어 배워가는 것을 적어나갈까 한다. 리눅스에서 프로그래밍을 하려다가 가상머신에서 예기치 못 한 버그때문에 윈도우 환경에서 진행할 예정이다. 강좌라고는 하나 일기에 가까우며, 내가 깨달은 것 또는 편한 시스템을 만든 것만 올릴 예정이다. 거두절미 하고일렉트론 프로젝트를 생성하기 위해 설치해야 할 것은 다음과 같다. 1. Git https://git-scm.com/download/win2. Node JS https://nodejs.org/ 나는 LTS버전인 8.9.4 버전을 다운받았다.그리고 프로젝트를 생성하려면 깃헙에서 클론을 생성하고, 실행은 매번 명령어로 실행해야 하는데, 이 부분이 귀찮아서 프.......

[Electron 강좌]2. node js addon을 사용하여 C/C++과 연동 - 1 [내부링크]

마침 회사에서 node js 를 배우고 있던 중, addon을 공부한 김에 정리도 할 겸, 머리도 식힐 겸 블로그 포스팅을 간단하게 해본다. 노드 애드온은 C나 C++로 작성된 동적 링크 공유 객체로 노드의 require() 함수에 의해 로드 되어 일반적인 노드 모듈처럼 사용된다. 참고로 작업한 환경을 리눅스다. C++ 컴파일러는 G++을 사용하며, Version 4.7 이상에서만 아래 설명하는 내용이 가능하다. Addon을 사용하려면 대부분 node-gyp를 찾는데, 필자가 사용하는 방법은 오로지 g++ 옵션을 주어 공유 객체로 컴파일 하는 방법이다. 그러니 따로 npm을 설치할 이유는 없다. 먼저, Node JS에서 C++의 V8엔진을 기반으로 사용하기 때문에 순수 C만 쓸 수.......

[Electron 강좌]2. node js addon을 사용하여 C/C++과 연동 - 2 [내부링크]

리눅스를 사용하여 C 프로젝트를 빌드해 본 개발자라면, Makefile이 익숙하지 않을까 싶다. 그러니 이번 강좌에서 Makefile에 관한 설명은 하지 않겠다.addon_module 폴더의 프로젝트 내용은 다음과 같다. 그리고 각각의 소스는 다음과 같다. Makefilemain.hmain.cpptemp.cpp소스에 대한 자세한 설명은 하지 않겠다. temp.cpp의 함수인 Add는 인자로 준 두 수를 더하여 반환하는 함수고 Str 함수는 인자로 준 문자열을 복사해 뒤에 붙여 반환하는 함수이다. 그대로 make하면 해당 폴더에 addon_module.node 파일이 생성되는 것을 볼 수 있다. 이제, 전 강좌에서 처럼 이것을 사용하면 된다. index.html결과이상으로 조잡했던 node js addon 사용.......

광주 여행 계획 [내부링크]

10:23 도착 빠르게 이른 점심을 먹으러 갈테다.송정역 -> 왕뼈해장국 (대중교통 약 35분 소요) 약 11:00 ~ 11:10분 도착 + 1250원 식사시간 약 30분. 나오면 11시 40분 예정. 식후 운동 걷기. 목적지: 무등산 국립 공원대중교통 소요시간 (약 34분) 12:20 ~ 12:30 예정 + 1250원 약 한시간에서 한시간 반 정도 산책 (최대 2시로 가정) 02:00 다음 목적지: 남광주 시장 시장에는 먹을게 많다고 함. 약 한시간 정도 군것질 투어 (최대 2만원 지출, 히익 부자다!) 03:00 다음 목적지: 학생독립 운동기념관 (약 46분 소요) + 1250 원 대충 둘러보면서 앉아 쉴 것 까지 합치면 2시간 구경두 시간이나 돌아다녔으면 배는 꺼졌을 테고, 5시니까 저녁.......

디버깅 기법 (objdump) [내부링크]

Object & Kernel Module Object 파일들은 세가지로 분류될 수 있다.재배치 가능한 오브젝트 파일(Relocatable object file)바이너리 코드와 데이터를 가지고 있으며, 실행가능한 오브젝트 파일을 만들기 위해 컴파일-타임때 재배치 가능한 다른 오브젝트 파일들과 결합될 수 있는 것을 가리킨다.실행가능한 오브젝트 파일(Executable object file)이것은 바이너리 코드와 데이터를 가지고 있으며, 메모리로 직접 로드되어 실행될 수 있는 것을 가리킨다.공유 오브젝트 파일(Shared object file)재배치 가능한 오브젝트 파일의 특별한 타입으로, 로드-타임이나 런-타임때 동적으로 메모리로 로드되고 링킹될 수 있는 것을 가리킨다.컴파일러와.......

C언어에서 Bool 사용 [내부링크]

순수 *.c 확장자만을 사용했을 때에는 bool 타입이 존재하지 않는다. 그냥 *.cpp 파일에서 c언어를 사용하면 가능하겠지만 *.c에서 사용하는 방법을 간단히 적어둔다.

C 언어에서 foreach 사용하기 [1/2] [내부링크]

0.개요. 회사에서 일을 하다가 어느새 일이 끝나버린 김에 심심해서 평소 생각하고 있던 C언어에서 foreach 를 사용할 수 있도록 만들어 보고자 노력해 보았다. 먼저 다음에 나올 코드의 단점은 double[], int[], float[], char*, char*[]. 다음과 같은 자료형 밖에 사용하지 못한다는 점이다. 왜 그런가 하면, 처음 코드를 구상하기 시작할 때 부린 고집이 문제였다. 오로지 #define 만 사용하여 가능하게 만들어야지.그렇다. 이걸로 어찌어찌 구현하기는 했으나, 위에 말했던 자료형 이외 포인터라든지 다중 배열은 사용할 수 없다. 이유는 코드를 설명하면서 중간에 말하도록 하겠다. 1. foreach 란 무엇인가혹시나 모르는 사람들을 위해 간단.......

IntelliJ IDEA 에서 Kotlin 안드로이드 개발 세팅 [내부링크]

내가 자바와 이클립스, 안드로이드 스튜디오를 매우매우 싫어한다. 자바의 코드 스타일링, IDE의 생김새 전부 내 취향과 반대이기 때문에 의욕이 서질 않으니까. 그래서 React Native, Xamarin, Qt for Android 등 여러 플랫폼을 찾아보다, 결국엔 네이티브란 조언을 듣고 꾸역꾸역 개발해 보기 위해 할 수 없이 고른 IntelliJ 툴에 안드로이드 개발 세팅을 적어둔다. 이 글에선 IDE를 설치하고 apk를 빌드하며 에뮬레이터 까지 올리는 것을 목표로 한다.1. IntelliJ IDEA 설치위 링크에서 오픈소스이고 무료인 커뮤니티 버전을 다운받는다. 설치는 Next만 눌러도 별거 없으니 자세한 설명은 생략. 그리고 실행한다. 분명 어딘가에 코틀린 설치가.......

[Mongoose Cgi] C언어로 웹 서버 돌리기 [내부링크]

얼마 전 회사에서 노드로 몇 개월이 걸쳐 만들어진 웹이 장비에 들어가면 웹 부팅 시간이 느리다며 다시 만들어야 하는 사태가 발생했다. 결국 웹마저 C언어로 만들자는 의견이 나왔고, 그를 수용하기 위해 Mongoose를 사용하기로 했다. 이에 공부하면서 블로그에 정리나 할 겸 몇 글자 적어본다.환경 : Linux Mint 17.2 32bitgcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4Copyright (C) 2013 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.1. Mongoose Cgi 다운.위 링크로 들어가면 바로 Download.......

파파고의 누구도 따라하지 못 할 성능 [내부링크]

초월 번역 그 자체 아무렇게나 쳤더니 저런식으로 번역해준다.

C언어 동적할당, 연결리스트를 이용하여 전화번호부 만들기. [내부링크]

설명쓰다가 귀찮아서 새로고침으로 다 날려버리고 소스만 올린다.

C언어 숫자 모래시계 알고리즘 (난독화) [내부링크]

회사에서 C언배 카페를 둘러보다가 이런 간단한 문제를 해결해 달라고 요구하길래 간단하게 해결해 주고자 만들었다. 물론 간단하게 해결되었지만, 이 코드를 받은 입장에선 이해하기 힘들 것이다. 나름 뻘짓하는 것도 회사에서 하니 재밌어 죽겠다.

C언어로 게임만드는 데 필요한 모든 상식 - [完](음악 재생, 랭킹, 모든 맵 클리어) [내부링크]

날이 갈 수록 점점 귀차니즘병이 도지고 있다. 내일 방학인데도 학교를 가야함 때문일까? 원래 넣으려 했던 기능들도 하나 둘 빼버리니 5강에서 끝낼 수 있게 되었다. (만세)1. 음악을 재생하자.먼저 음악을 재생해야 한다. 게임을 하는데 심심함을 달래주기 위한 것이 또 배경음악이다. 흔이들 bgm, 브금이라고 한다. 필요한 헤더파일과 전처리, 함수는 다음과 같다. 참고로 wav파일또한 필요하다.사실 이게 끝이다. 음악 재생은. 지금까지의 강좌중에 가장 쉬운 기능이 아니었을까 싶다.2. 맵을 전부 클리어 한다면?게임이 끝났다. 더 이상 할 것도 없다. 물론 우리 미로찾기에서는 맵을 자동생성해 주니까 무한적으로 게임을 즐길 수 있다. 하.......

C언어로 게임만드는 데 필요한 모든 상식 - 2(맵 만들기, 맵 자동/랜덤 생성) [내부링크]

포스팅을 한 후 이어서 맵 랜덤생성 알고리즘을 짜려 노력했다. 구글링을 하다보면 A*(최단거리 길 찾기)알고리즘을 사용하는 것도 있고 다른 방법도 있지만 최대한 초보자에 맞춰 이용하려다 보니 날 코딩이 되어버렸다. 그럼 빠르게 들어가보도록 하자.0. 맵은 어떻게 처리할까?일단 나는 여러 기능이 추가된 미로찾기 게임이라고 했다. 단순히 한 개의 맵을 가지고 게임을 하자면 재미없지 아니한가? 일단 모든 이동형 게임을 처리하려면, 배열로 처리해 주는 게 가장 편하고 정신건강에 이로운 방법이다. 그래서 맵을 랜덤으로 생성하는 걸 고민했는데, 쉽게 하는 방법은 현재 한 가지밖에 떠오르지 않았다. 맵의 크기는 100 * 100 단위로 점.......

C언어로 게임만드는 데 필요한 모든 상식 - 3(횡이동 플레이어 움직이기, 장애물 판별) [내부링크]

연속으로 세 개나 쓰게 될 줄은 몰랐다. 그래도 이것만 쓰면 잘 수 있다는 생각을 하니 매우 기쁘다. 많은 사람들이 플레이어를 움직이게 될 수는 있는데 문제점이 있다. Q. 화면이 자꾸 깜빡거린다. A. 이건 매번 system("cls");이후 다시 출력하기 때문. 원래 출력된 것 위에 덮어씌우면 깜빡거림이 사라진다. Q. 장애물 판별이 어렵다. A. 배열이 아닌, 좌표로 움직이고 있기 때문이다. 이번 강의에서 쉽게 장애물을 판별하는 법을 알려준다. Q. 맵이 콘솔창보다 크면 출력이 이상해 진다. A. 출력을 콘솔창보다 크게 하려니까 그런 거다. 『횡이동』이란 방식을 사용하면 된다. 이것도 이번 강좌에서 쉽게 알려준다. (과연 쉬울까?)0. 배열에.......

C언어로 게임만드는 데 필요한 모든 상식 - 4(세이브/로드, 게임 오버) [내부링크]

아침부터 일어나서 하는 데 생각보다 많이 귀찮았다. (귀차니즘 병이 도짐) 참고로 이번 강좌는 매우 난해할 거라고 생각한다. 본인도 정신을 차린 사이 다 만들어져 있어서 뭘 만들었는지 모른다. 그래도 이번 거 쓰고 남은 게 얼마 안 남았으니 아마 5강에서 6강 사이에 끝나지 않을까 싶다. 이 전 까지 했던 것은 맵을 생성하고 플레이어를 움직이는 것이다. 하지만 무한적으로 끝없는 게임은 지루하기만 할 뿐이다. 게임 오버했을 때의 승부욕과 클리어를 했을 때 성취감을 느끼는 것도 게임의 묘미이니 말이다.0. 사용할 기능은 무엇인가사실 어디서부터 어디까지 분량을 잡아놓고 강의해야할 지 몰라서 대충 만들어놓고 거기서 뽑아내 강의.......

C언어로 게임만드는 데 필요한 모든 상식 - 1(메인 화면, 메뉴 선택) [내부링크]

0. 시작하기 전에…….어떤 프로그래밍 커뮤니티를 돌아다니다 보면 C언어로 게임을 만드려 하는 분들이 많이 보인다. 나 또한 C언어는 게임을 만들면서 배웠을 정도이니 좋은 방향이라 생각한다. 하지만 나처럼 또 날코딩을 반복하지 않도록 내가 쌓은 노하우, 팁들을 방출하려 한다. 조금 난이도가 있을지언정, 무조건 도움이 될 테니 모든 강좌를 읽어보는 것을 추천한다. 원랜 마우스클릭을 이용하여 더욱 퀄리티 있는 게임을 선보이려 했으나 윈10에서 cmd는 마우스클릭 이벤트가 안 먹는다. (클릭하면 바로 선택모드로 넘어가는 쓰레기가 되었다.) 한 강좌에 구현하고자 하는 기능 한 개씩 올려 총 3일간(아마도) 강좌를 진행.......

카카오톡 대화내용 편집 프로그램 [내부링크]

인터뷰…… 라는 것을 하다가, 카카오톡 대화내용 중 시간부분을 편집해야 된다는 것을 듣고, "그런 귀찮은 일은 역시 프로그램에게 시켜야지!" 라며 만든 프로그램이다.1. 카카오톡 대화내용을 보여준다. 편집되었으면 편집된 내용을 보여준다. (저장하기 전 까지는 원본 파일의 내용은 바뀌지 않음) 2. 카카오톡 대화내용을 읽기만 할 것인지, 직접 수작업으로 몇 자 수정할 것인지 체크한다. 3. 말 그대로 [오전/오후 시간]부분을 지운다. 4. [이름]부분을 지운다. (사실 어떤 것이든 두 번 누르면 두 개 다 지워진다. ㅋㅋ) 5. 위 텍스트박스에 바꿀 이름을 적고, 아래 텍스트박스에 바뀔 이름을 적은뒤 이름 바꾸기 버튼을 누르면 이름이 바.......

동영상파일명과 자막파일명 동일화 프로그램 [내부링크]

애니메이션을 보다가 자막이 없어서 다운 받으니 파일명이 같지 않아 일일이 끌어줘서 읽게 만들도록 해야 했다. 한창 잘 보다가 끊어야 하는 게 싫어서 파일명을 같게 만들려고 했더니 1쿨에 12개 이상 작업을 해줘야 해서 그것 또한 귀찮기에 프로그램을 만들었다. https://youtu.be/4fZ59QQ7Oio아마 두개의 파일이 같이 있어야 할 것이다. 설치 파일을 만들어 두지 않아서.

C# Naudio 사용법 (스트림에서 재생, 간단 반복 재생, 쓰레드 사용 동시 재생) [내부링크]

C# 에서 단순히 WavePlay를 사용하면 .wav확장자 밖에 사용하지 못 한다. wav는 압축하지 않음으로 avi처럼 용량이 기하급수적으로 커지기 때문에 압축한 mp3를 사용해야 할 때가 많다. (애초에 mp3 확장자가 기본적인 인식이 있기도 하고) 이번에 저장할 코딩 방식은 세 가지 이다. 1. 오디오 파일을 스트림으로 열어 재생 2. 오디오 반복 재생 3. 쓰레드 사용 동시 재생 이 모든 것은 Naduio를 사용하여 기본적으로 파일을 재생하는 방법을 아는 가정 하에 작성한다. 1. 오디오 파일을 스트림으로 열어 재생필자의 경우, 압축 파일을 풀지 않고 압축파일 안 에서 일을 진행하기 위해 스트림으로 재생할 방법이 필요했다. 이럴 때 사용한 것이 메.......