JSON 4

[C#] JSON 파싱 및 DLL 배포(1)

JSON 파싱개요  이전 게시글에선 nlohmann의 json.hpp를 이용해 JSON 파일을 파싱하는 방법을 다루었다. 이번에는 C#에서 제공하는 System.Text.Json 라이브러리를 사용하여 JSON 파일을 파싱하고, 해당 구조를 클래스로 묶어 DLL 파일로 배포하는 방법을 알아보겠다. JSON에 대한 내용은 해당 링크에 간략하게 설명해뒀으니, 해당 게시글을 읽기 전 필수적인 정보(키와 값의 개념) 정도만 확인하고 오자.본문JSON 파일 파싱  C# 에서는 Nuget 패키지 관리자를 통해 Json 파일을 파싱하는 라이브러리를 임포트할 수 있다. 이때 Newtonsoft.Json를 임포트하는 방법이 있고, System.Text.Json을 임포트하는 방법이 있다. 필자는 Visual Studio 2..

Language/C# 2024.07.09

[Dictionary] 영어 단어 시험지 ver 1.1 (코드 리뷰) with Notion

영어 단어 시험지 코드 리뷰 본문 구성 ver 1.1 기준으로 해당 프로그램은 다음과 같이 API를 호출하는 부분(get_api.h/get_api.cpp), JSON 파일을 파싱해 단어를 저장하는 부분(get_vocabulary.h/get_vocabulary.cpp), 시험을 출력하는 부분(test.h/test.cpp), 메인 함수(main.cpp)로 구성되어 있다. 즉, 프로그램을 실행하면 Notion의 API를 호출하여 데이터베이스와 연결하고, 단어들을 JSON 구조로 추출하여 DOS 창에서 단어가 나오면 정답을 입력하게 되어 있다. 자세한 코드는 해당 리포지토리를 확인하면 된다. API 호출 저번 게시글에서도 언급했듯이, C++에서 Notion API를 호출하는 것은 번거로운 작업이다. 그래서 sy..

Program/Dictionary 2023.09.06

[C++] JSON 파일 읽기 with nlohmann

JSON 파일 읽기 개요 JSON(JavaScript Object Notation) 파일은 키와 값의 쌍으로 이루어진 파일이다. 이는 데이터베이스에서 데이터를 저장하고, 데이터를 주고받을 때 자주 사용되는 형식이다. 클라이언트가 사용하는 언어에 관계없이 통일된 데이터를 주고받을 수 있게 해 준다. 일반적인 JSON 파일의 구조는 다음과 같다. { "이름": "홍길동", "나이": 25, "주소": { "도시": "서울", "우편번호": "12345" }, "취미": ["독서", "여행", "요리"], "기혼": false } 위의 예시에서 이름, 나이, 주소, 취미, 기혼은 key고, 홍길동, 25, 도시, 우편번호, 독서, 여행, 요리, false는 각각의 값이다. 이때 값으로 객체와 배열을 포함할 수..

Language/C++ 2023.08.30

[Dictionary] 영어 단어 시험지 ver 1.0 with Notion

영어 단어 테스트 프로그램 개요 개발자들은 영어로 된 자료를 접할 일이 많다. 이는 프로그래밍의 역사가 미국에서 시작되었기 때문이고, 영어가 국제적인 커뮤니케이션 언어로 널리 사용되기 때문이다. 이런 배경 하에 필자는 영어로 된 기술 자료를 읽을 때마다 알게 된 새로운 단어나 표현들을 Notion에 기록해왔다. 그러나, 그저 단어를 기록하는 것만으로는 기억에 오래 남기에는 부족하다고 느껴졌다. 이 단어들을 효과적으로 외우고 활용하기 위해서는 반복적인 연습이 필요하다. 이런 고민에서 출발하여, 필자는 이 단어들을 테스트할 수 있는 간단한 프로그램을 개발하게 되었다. 본문 기본 아이디어 API 호출 → 단어 저장 → 단어 시험 → 결과 출력 노션은 사용자가 직접 데이터베이스를 구축할 수 있는 기능을 제공하며..

Program/Dictionary 2023.08.29