XML과 비슷하게 JSON도 데이터 전송에 있어서 중요한 역할을 한다. JSON은 JavaScript Object Notation 으로, 특별한 자료구조가 아닌 그냥 JS에서 쓰던 object구조랑 똑같다. 개인적인 생각이지만 xml보단 json을 많이 쓰게 되지 않을까 싶다(조사나 통계를 찾아보지 않았지만 지금도 JSON을 많이 쓰고 있을 것 같다). Docker에서는 Json과 yaml파일만 중점으로 다루는데 역시 xml보단 json이 더 중요하지 않을까 싶다. 그래도 가독성은 xml이 조금 더 좋은 것 같다. 여튼.. JSON 데이터를 받을 때 어떻게 파싱할 것인지 간단하게 알아보자. 1. C#에서의 JSON parsing 우선, JSON의 구조에 대해서는 다 알고 있다고 가정하겠습니다. 배열[],..
XML은 데이터 전송에 있어서 중요한 역할을 한다. 어떤 특성을 갖고 있는지, 이런 것에 관해서는 다른 글이나 문서에 아주 정확하게 나와있기 때문에 생략하고, 예전부터 XML, JSON의 형태로 데이터를 많이 주고받는데 과연 어떻게 parsing 할 수 있을지.. 정리가 필요한 것 같아 정리해보았다. 아주 컴팩트하게 데이터를 받을 때, 어떻게 파싱 해서 사용할 것인지에 대해 정리해보았다. 1. C#에서의 XML 파싱 우선 XML에 대한 기본지식은 다 있다고 가정하고 말씀드리겠습니다. 1.1) Node가 1개인 예제 다음 xml의 예시가 있다고 하자.(출처는 w3schools.com입니다. note.xml이라는 이름을 가짐.) Tove Jani Reminder Don't forget me this week..
0. 주저리주저리 네이버의 몇 API를 살펴보던 중 파파고가 그나마 괜찮을 것 같아서 한번 써봤다. 이전에 검색 API를 사용해봤는데 활용법을 잘 모르겠어서, 그나마 활용해볼 수 있는(?) 번역 API를 사용해봤다. 사용법은 정말 간단하고 네이버 홈페이지에 아주 잘 나와있다. 1. 사용 우선, developers.naver.com/ NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음 developers.naver.com 이곳으로 이동해서 번역(파파고) 애플리케이션을 하나 만들어서 client키와 secret을 발급받자, 그..
0. 주저리주저리 우선 API만 사용할 줄 알아도 꽤나 쓸만한 app을 만들 수 있다. 그런 점에서 100% 꿰뚫고 있어야 한다! 까지는 아니고 대충 어떤 원리로 동작하는지, 그 정도만 조금 알아도 필요할 때 바로 습득해서 사용할 수 있을 것 같다고 생각했다. 그러기에는 xml, json에 대해서 간단한 지식이 있어야 하고 http의 GET방식 등이나 이런 것에 조금 기초 지식이 있으면 좋을 것 같다. Google은 조금 복잡해서 차차 써보기로하고 간단한 naver부터 해보았다. 1. Naver API 사용하기 developers.naver.com/ NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인..
학부 저학년 때 개발했던 프로그램입니다. 그때는 성능보다는 개발을 우선으로 해서, 과제용으로는 충분할지 모르겠으나 어디 보여주기엔 좀 그래서... 외장하드에 묻어두다가 그래도 그때 개발했던 내용을 공유하고자 글을 씁니다. 그리고 그때 부족하다고 생각했던 부분들을 수정해서 성능도 훨씬 끌어 올렸습니다. 처음엔 C로 구현을 했으나, heap 같은 라이브러리를 사용하기 위해 C++로 구현했습니다. ( C에서 직접 구현해서 사용해도 괜찮습니다) 0. 주저리주저리 허프만코드를 사용해서 압축을 한 프로그램입니다. 결국엔 파일을 읽어서 빈도수를 구한 뒤 허프만 코드를 만들고, 1byte에 1bit씩 채워나가면서 프로그램을 압축하는 형식입니다. 프로그램은 압축, 압축해제 2개의 큰 부분으로 나뉩니다. 압축은 허프만트리..
C# Collection에 속한 Queue에 관한 글입니다. 특별히 List처럼 안의 값을 바꾸거나, 정렬 등등을 하는 데 사용하지는 않습니다만, 여러 알고리즘에 사용하고 있는 중요한 자료구조중 하나입니다. 알고리즘뿐만 아니라 개발에도 사용할 수 있을 것 같습니다. 이 글은 완벽한 성능 분석글이 아닙니다. 단순히 C#의 MSDN에서 중요하다고 생각하는 부분이나, 평소 C++을 사용하면서 STL의 Queue에서 사용했던 것 중 유용하고 자주 사용했던 부분을 설명할 예정입니다. 참고하는 부분은 MSDN의 C# Collection Queue내용입니다. 틀린 부분은 댓글을 달아주시면 확인 후 수정하도록 하겠습니다. ^^ 1. Queue의 특성 C++의 Queue와 같은 역할을 합니다. FIFO 이런 거는 다 알..