Offcanvas

JSON

MS 닷넷 JSON 시리얼라이저, 'C# 소스 생성기' 도입 예정

마이크로소프트 닷넷(.NET) 개발 플랫폼의 JSON 직렬화 라이브러리 ‘System.Text.Json’이 다음 업데이트에서 성능 향상을 위해 C# 소스 코드 생성(C# source code generation)을 추가할 예정이다.    회사에 따르면 다음과 같은 영역에서 새로운 C# 소스 생성기 기능을 활용해 시리얼라이저를 지원하는 코드를 생성하도록 할 계획이다.  • 시작 속도 및 런타임 처리량 향상   • 프라이빗 바이트 사용량 감소 • 애플리케이션 크기 감소 • 런타임 리플렉션을 방지해 IL 링커(IL Linker) 친화성 향상  ‘System.Text.Json’에서 C# 소스 생성을 활용하는 이 기능은 현재 프로토타입 단계에 있다(작년 12월 중순 기준). 오는 2021년 11월 릴리즈될 ‘닷넷 6.0(.NET 6.0)’에서 그 결실을 볼 수 있을 것으로 회사 측은 예상했다.  한편 ‘System.Text.Json’은 닷넷 객체 타입을 JSON 문자열 또는 그 반대로 변환하는 닷넷(.NET)의 빌트인 JSON 직렬화 라이브러리다. 이는 UTF-8 텍스트 인코딩을 지원하며, 닷넷 코어 3.0(.NET Core 3.0)에서 처음 도입됐다. 또한 라이브러리 타입 ‘Json시리얼라이저(JsonSeralizer)’는 JSON 데이터 처리를 위한 최고 수준의 기능을 제공한다고 마이크로소프트는 덧붙였다.  2020년 11월 공개된 ‘닷넷 5(.NET 5)’에서는 ‘System.Text.Json’의 성능과 안정성이 향상됐고, Newtonsoft.Json 프레임워크에 익숙한 개발자가 라이브러리를 더 쉽게 채택할 수 있게 됐다.  이 밖에 ‘System.Text.Json’의 다음 계획은 아래와 같다.  • 확장된 다형성 직렬화 및 역직렬화  • IAsyncEnumerable<T> 비동기 직렬화 및 역직렬화 • snake_case 명명 규칙 추가  ...

마이크로소프트 닷넷 JSON C# 직렬화 역직렬화

2021.01.11

마이크로소프트 닷넷(.NET) 개발 플랫폼의 JSON 직렬화 라이브러리 ‘System.Text.Json’이 다음 업데이트에서 성능 향상을 위해 C# 소스 코드 생성(C# source code generation)을 추가할 예정이다.    회사에 따르면 다음과 같은 영역에서 새로운 C# 소스 생성기 기능을 활용해 시리얼라이저를 지원하는 코드를 생성하도록 할 계획이다.  • 시작 속도 및 런타임 처리량 향상   • 프라이빗 바이트 사용량 감소 • 애플리케이션 크기 감소 • 런타임 리플렉션을 방지해 IL 링커(IL Linker) 친화성 향상  ‘System.Text.Json’에서 C# 소스 생성을 활용하는 이 기능은 현재 프로토타입 단계에 있다(작년 12월 중순 기준). 오는 2021년 11월 릴리즈될 ‘닷넷 6.0(.NET 6.0)’에서 그 결실을 볼 수 있을 것으로 회사 측은 예상했다.  한편 ‘System.Text.Json’은 닷넷 객체 타입을 JSON 문자열 또는 그 반대로 변환하는 닷넷(.NET)의 빌트인 JSON 직렬화 라이브러리다. 이는 UTF-8 텍스트 인코딩을 지원하며, 닷넷 코어 3.0(.NET Core 3.0)에서 처음 도입됐다. 또한 라이브러리 타입 ‘Json시리얼라이저(JsonSeralizer)’는 JSON 데이터 처리를 위한 최고 수준의 기능을 제공한다고 마이크로소프트는 덧붙였다.  2020년 11월 공개된 ‘닷넷 5(.NET 5)’에서는 ‘System.Text.Json’의 성능과 안정성이 향상됐고, Newtonsoft.Json 프레임워크에 익숙한 개발자가 라이브러리를 더 쉽게 채택할 수 있게 됐다.  이 밖에 ‘System.Text.Json’의 다음 계획은 아래와 같다.  • 확장된 다형성 직렬화 및 역직렬화  • IAsyncEnumerable<T> 비동기 직렬화 및 역직렬화 • snake_case 명명 규칙 추가  ...

2021.01.11

어떻게 하면 iOS 개발자가 될 수 있을까? 5가지 팁

첨단 기술 분야에서 가장 빠르게 성장하는 분야에 합류하고 싶나? 그렇다면 iOS 개발자가 되는 것은 어떤가? 현재 iOS 개발자 수요는 많다. iOS 개발자가 되는 방법을 소개한다. 1. iOS 과정 입문 iOS 입문 과정 수강은 실제로 iOS 개발자가 되고자 결정하고 주제 자체에 관한 배경 지식을 얻는 방법이다. 유데미(Udemy)와 유다시티(Udacity) 같은 사이트에서는 초보자를 위한 과정이 10파운드에서 시작한다. 짧은 동영상 강의지만 iOS의 모든 기반에 필요한 정보를 얻을 수 있을 것이다. 2. 기본 익히기 당신이 매우 새로운 기술을 배우고 있음을 기억하라. 따라서 걷기도 전에 뛰려고 하지 마라. 온라인 강좌 및 포럼에서도 많은 기본 사항을 배울 수 있다. 스택 오버플로는 훌륭한 리소스다. 여기에는 자습서, 포럼, 다운로드 가능한 문서가 있다. iOS의 기본 사항을 파악하고 있다면 앱 구축이나 작업 애플리케이션에 접근하기 전에 목록에서 확인하고 싶은 몇 가지 사항이 있다. 다음은 일반적으로 iOS 입문자들이 알고 싶어 하는 내용이다. • 데이터 나타내기, MVC(Model-View-Controller) • 기본 앱 탐색, 스토리보드 • 알림 설정 • REST API 및 제이슨(JSON) 통합 구문 분석 • Xcode 8 버전 컨트롤을 사용할 수 있어야 하는데, 이 작업에 도움이 되는 자습서도 있다. 3. 스위프트 배우기 성공적인 iOS 개발자가 되려면 스위프트 ASAP에 익숙해 져야 한다. 스위프트는 애플 프로그래밍 언어며 이 분야에 들어오고자 하는 사람들에게 핵심 기술이다. 객체, 데이터 유형, 작성 방법 및 제이슨을 다루는 스위프트의 기본 프레임워크를 포함하여 이전 슬라이드에 나열된 측면을 숙지하라. 아무도 당신이 곧바로 전문가가 되리라 기대하지 않는다. 경력 3년 차 이하의 스위프트 개발자는 회사가 제공하는 사내 수석 개발자의...

애플 iOS 스위프트 JSON 유다시티 유데미 제이슨

2018.09.11

첨단 기술 분야에서 가장 빠르게 성장하는 분야에 합류하고 싶나? 그렇다면 iOS 개발자가 되는 것은 어떤가? 현재 iOS 개발자 수요는 많다. iOS 개발자가 되는 방법을 소개한다. 1. iOS 과정 입문 iOS 입문 과정 수강은 실제로 iOS 개발자가 되고자 결정하고 주제 자체에 관한 배경 지식을 얻는 방법이다. 유데미(Udemy)와 유다시티(Udacity) 같은 사이트에서는 초보자를 위한 과정이 10파운드에서 시작한다. 짧은 동영상 강의지만 iOS의 모든 기반에 필요한 정보를 얻을 수 있을 것이다. 2. 기본 익히기 당신이 매우 새로운 기술을 배우고 있음을 기억하라. 따라서 걷기도 전에 뛰려고 하지 마라. 온라인 강좌 및 포럼에서도 많은 기본 사항을 배울 수 있다. 스택 오버플로는 훌륭한 리소스다. 여기에는 자습서, 포럼, 다운로드 가능한 문서가 있다. iOS의 기본 사항을 파악하고 있다면 앱 구축이나 작업 애플리케이션에 접근하기 전에 목록에서 확인하고 싶은 몇 가지 사항이 있다. 다음은 일반적으로 iOS 입문자들이 알고 싶어 하는 내용이다. • 데이터 나타내기, MVC(Model-View-Controller) • 기본 앱 탐색, 스토리보드 • 알림 설정 • REST API 및 제이슨(JSON) 통합 구문 분석 • Xcode 8 버전 컨트롤을 사용할 수 있어야 하는데, 이 작업에 도움이 되는 자습서도 있다. 3. 스위프트 배우기 성공적인 iOS 개발자가 되려면 스위프트 ASAP에 익숙해 져야 한다. 스위프트는 애플 프로그래밍 언어며 이 분야에 들어오고자 하는 사람들에게 핵심 기술이다. 객체, 데이터 유형, 작성 방법 및 제이슨을 다루는 스위프트의 기본 프레임워크를 포함하여 이전 슬라이드에 나열된 측면을 숙지하라. 아무도 당신이 곧바로 전문가가 되리라 기대하지 않는다. 경력 3년 차 이하의 스위프트 개발자는 회사가 제공하는 사내 수석 개발자의...

2018.09.11

그래프 데이터베이스란 무엇인가? 어떻게 활용하나?

그래프 데이터베이스란 무엇이고, 현재 관심을 기울여야 할까? 그래프 데이터베이스의 가능성은 오픈소스 공급업체가 실제 사례로 엔터프라이즈 지원을 시작하면서 주류로 필터링하기 시작했다. 그렇다면, 여기에 관심을 가져야 하는 이유는 무엇인가? 지난 4월 파나마 페이퍼(Panama Papers) 유출 사건 기사를 읽은 독자라면, 그래프 데이터베이스(Graph Database)에 대해 들어봤을 것이다. 그래프 데이터베이스 기술은 언론인이 수많은 데이터 세트를 조사하고, 신속하게 개인과 기관, 조세 피난처를 연결할 수 있도록 도와줬다. 다양한 산업의 대기업들이 그래프 데이터베이스를 사용하는 사례가 느는 추세다. 예를 들어, 세계적인 대형 금융기관 가운데 상당수는 복잡한 데이터의 연결, 상관관계와 패턴이 데이터만큼 중요하다는 점을 인식하기 시작했다. 그래프 데이터베이스는 이런 상관관계를 찾아 활용할 수 있는 방법을 제공한다. 시맨틱(semantic) 웹 회사인 온투텍스트(Ontotext)의 매니징 컨설턴트 자레드 맥기니스는 “그래프는 항상 이치에 맞았다. 더 나아가 이론적으로는 더 우수하다. 하지만 관계형 데이터베이스가 너무 우수해 항상 따라잡아야 하는 처지였다. 그러던 것이 ‘티핑포인트’에 도달했다. 이제 더 이상 난해하지 않다. 충분히 성숙해졌다. 기업 환경에서 효과가 있음을 보여주는 사례들이 많다”고 말했다. 그래프 데이터베이스란? 그래프 데이터베이스는 그래프 이론에 토대를 둔 일종의 NoSQL 데이터베이스다. 객체나 노드로 불리는 데이터 포인트를 플롯하고, 그래프에서 이들을 연결하는 컴퓨터 과학 학문의 방법론이다. 기존 관계형 데이터베이스는 데이터를 열과 행으로 저장하고, NoSQL 데이터베이스는 많은 비정형 데이터를 저장한다. 그런데 그래프 데이터베이스는 여기에서 한 걸음 더 나아간다. 데이터 포인트를 연결, 데이터 네트워크를 구축한다. 오픈소스 소프트웨...

구글 네오테크놀로지 소셜 그래프 그래프 데이터베이스 ICIJ 국제탐사보도언론인협회 조세회피 Neo4j JSON 데이터 세트 분석 아마존 웹 서비스 NoSQL AWS 데이터베이스 빅데이터 페이스북 시맥틱 웹

2017.12.11

그래프 데이터베이스란 무엇이고, 현재 관심을 기울여야 할까? 그래프 데이터베이스의 가능성은 오픈소스 공급업체가 실제 사례로 엔터프라이즈 지원을 시작하면서 주류로 필터링하기 시작했다. 그렇다면, 여기에 관심을 가져야 하는 이유는 무엇인가? 지난 4월 파나마 페이퍼(Panama Papers) 유출 사건 기사를 읽은 독자라면, 그래프 데이터베이스(Graph Database)에 대해 들어봤을 것이다. 그래프 데이터베이스 기술은 언론인이 수많은 데이터 세트를 조사하고, 신속하게 개인과 기관, 조세 피난처를 연결할 수 있도록 도와줬다. 다양한 산업의 대기업들이 그래프 데이터베이스를 사용하는 사례가 느는 추세다. 예를 들어, 세계적인 대형 금융기관 가운데 상당수는 복잡한 데이터의 연결, 상관관계와 패턴이 데이터만큼 중요하다는 점을 인식하기 시작했다. 그래프 데이터베이스는 이런 상관관계를 찾아 활용할 수 있는 방법을 제공한다. 시맨틱(semantic) 웹 회사인 온투텍스트(Ontotext)의 매니징 컨설턴트 자레드 맥기니스는 “그래프는 항상 이치에 맞았다. 더 나아가 이론적으로는 더 우수하다. 하지만 관계형 데이터베이스가 너무 우수해 항상 따라잡아야 하는 처지였다. 그러던 것이 ‘티핑포인트’에 도달했다. 이제 더 이상 난해하지 않다. 충분히 성숙해졌다. 기업 환경에서 효과가 있음을 보여주는 사례들이 많다”고 말했다. 그래프 데이터베이스란? 그래프 데이터베이스는 그래프 이론에 토대를 둔 일종의 NoSQL 데이터베이스다. 객체나 노드로 불리는 데이터 포인트를 플롯하고, 그래프에서 이들을 연결하는 컴퓨터 과학 학문의 방법론이다. 기존 관계형 데이터베이스는 데이터를 열과 행으로 저장하고, NoSQL 데이터베이스는 많은 비정형 데이터를 저장한다. 그런데 그래프 데이터베이스는 여기에서 한 걸음 더 나아간다. 데이터 포인트를 연결, 데이터 네트워크를 구축한다. 오픈소스 소프트웨...

2017.12.11

XML을 위해 건배, JSON이여 영원하라

최근 XML이 빠르게 잊히고 있다. 개발자 사이에서 인기를 잃고 있으며 더 유연하고 빠른 형식으로 대체되고 있다. XML(Extensible Markup Language)은 1990년대 SGML(Standard Generalized Markup Language)을 기반으로 개발된 후 1997년에 1.0 사양이 발표되면서 본격적으로 성장하기 시작했다. XML의 장점은 이종 형식 간에 데이터 전송이 매우 편리하다는 것이다. 독자적인 형식을 사용하는 여러 애플리케이션 사이에서 데이터를 공유하기 위해 데이터를 변환할 때 필요한 필터의 수가 크게 적었다. 이 때문에 마이크로소프트도 오피스 2007(Office 2007)에서 워드(Word)와 엑셀(Excel) 파일 형식을 XML 기반 형식으로 바꿨다. XML 덕분에 다른 형식으로 변환하는 것이 훨씬 수월해졌다. 문제는 장황하고 복잡하다는 것이다. 프로그래밍 언어나 데이터베이스의 시스템을 입력하기 위해 XML을 맵핑(Mapping)하기가 어렵고, 데이터가 특정 애플리케이션에 맞춰 구조화된 경우에는 더 까다로웠다. 많은 태그 때문에 문자량이 늘어나 응답 시간이 느린 것도 단점이었다. XML이 너무 '무거워' 웹 실행 속도가 느려진다는 인식도 여기서 출발한다. 이런 가운데 JSON(JavaScript Object Notation)이 등장하면서 개발자 사이에서 빠르게 확산하기 시작했다. 처음에는 자바스크립트(JavaScript)로 작업했지만, 지금은 여러 언어를 지원하며 비동기식 브라우저/서버 통신을 위한 XML의 대안으로 주가를 높이고 있다. 인기 개발자 커뮤니티인 스택 오버플로우(Stack Overflow)에서 개발자가 사용하는 태그 목록을 보면 XML의 내림세를 확인할 수 있다. 반면 JSON은 지난해 살짝 부진하긴 했지만 단연 주목받고 있다. 영국의 맞춤형 소프트웨어 개발업체 소프트와이어(Softwire)의 기술 책임자 겸 오픈소스 챔피언인 팀 페리는 "JSON이 등장...

CIO JSON XML

2016.06.13

최근 XML이 빠르게 잊히고 있다. 개발자 사이에서 인기를 잃고 있으며 더 유연하고 빠른 형식으로 대체되고 있다. XML(Extensible Markup Language)은 1990년대 SGML(Standard Generalized Markup Language)을 기반으로 개발된 후 1997년에 1.0 사양이 발표되면서 본격적으로 성장하기 시작했다. XML의 장점은 이종 형식 간에 데이터 전송이 매우 편리하다는 것이다. 독자적인 형식을 사용하는 여러 애플리케이션 사이에서 데이터를 공유하기 위해 데이터를 변환할 때 필요한 필터의 수가 크게 적었다. 이 때문에 마이크로소프트도 오피스 2007(Office 2007)에서 워드(Word)와 엑셀(Excel) 파일 형식을 XML 기반 형식으로 바꿨다. XML 덕분에 다른 형식으로 변환하는 것이 훨씬 수월해졌다. 문제는 장황하고 복잡하다는 것이다. 프로그래밍 언어나 데이터베이스의 시스템을 입력하기 위해 XML을 맵핑(Mapping)하기가 어렵고, 데이터가 특정 애플리케이션에 맞춰 구조화된 경우에는 더 까다로웠다. 많은 태그 때문에 문자량이 늘어나 응답 시간이 느린 것도 단점이었다. XML이 너무 '무거워' 웹 실행 속도가 느려진다는 인식도 여기서 출발한다. 이런 가운데 JSON(JavaScript Object Notation)이 등장하면서 개발자 사이에서 빠르게 확산하기 시작했다. 처음에는 자바스크립트(JavaScript)로 작업했지만, 지금은 여러 언어를 지원하며 비동기식 브라우저/서버 통신을 위한 XML의 대안으로 주가를 높이고 있다. 인기 개발자 커뮤니티인 스택 오버플로우(Stack Overflow)에서 개발자가 사용하는 태그 목록을 보면 XML의 내림세를 확인할 수 있다. 반면 JSON은 지난해 살짝 부진하긴 했지만 단연 주목받고 있다. 영국의 맞춤형 소프트웨어 개발업체 소프트와이어(Softwire)의 기술 책임자 겸 오픈소스 챔피언인 팀 페리는 "JSON이 등장...

2016.06.13

기고 | MySQL의 8가지 단점

MySQL은 설치가 간편하고 상대적으로 빠르며 다양한 기능을 지원한다. 유명한 오픈소스 프로젝트 중 하나이기도 하다. 하지만 직접 사용해 본 사람이라면 여러 가지 이유로 놀라움을 감추지 못했을 것이다. 이를테면 인터넷에서 쓸데 없는 것들만 모으고 아무런 시도도 하지 않는 기술처럼 여겨지기도 한다. 많은 이들이 선택하는 이 오픈소스 관계형 데이터베이스와 관련해 불편하거나 당황스러운 8가지 특성을 정리했다. 단 아래의 모든 이유가 비단 MySQL에만 국한된 것은 아니다. 일부는 일반적인 관계형 데이터베이스에 모두 적용되는 이야기이다. 하지만 관계형 데이터베이스와 MySQL에 대해 명확하게 생각하지 않는다면 1990년대에 영원히 갇히게 될지도 모른다. 쌓기 위해서는 먼저 무너뜨릴 필요가 있다. (또는 이런 목록을 작성할 수 있을 정도로 오래 되지 않은 새로운 데이터베이스로 전환해야 할 필요가 있을 것이다.) 깊숙이 자리 잡은 버그와 특이함 대형 소프트웨어 패키지는 버그가 있게 마련이다. 하지만 좀 더 깊이 파보면 MySQL의 버그는 고질적이다. NULL이 늘 언제나 동일하게 동작하거나 외부 키 제약이 강제되거나 자동 증가가 올바르게 진행되는지 알 수 없기 때문에 주의해야 한다. 수십 가지의 작은 문제들이 존재하며 이런 문제가 항상 해결되는 것은 아니다. 이 때문에 사람들이 이와 같은 갓차(gotcha) 리스트를 유지하는 것이다. MySQL이 상시 버그 보고 시스템을 유지하는 점만 보아도 문제가 실제로 존재한다는 사실을 알 수 있다. 다른 사람들도 같은 불만감을 느끼고 있다. 관계형 테이블의 비유연성 테이블은 원칙을 제공하며 원칙은 좋은 것이다. 하지만 프로그래머가 강제로 데이터를 조작하거나 스키마(Schema)로 정의한 불가변 행에 데이터를 넣을 때는 그렇지 못하다. NoSQL이 인기를 얻고 있는 이유 중 하나는 프로그래머가 상황에 따라 데이터 모델을 개선할 수 있는 유연성 때문이다. 주소에 1줄을 추가해야 하는 경우 No...

오픈소스 MySQL DB 관계형 데이터베이스 JSON JOIN

2015.07.27

MySQL은 설치가 간편하고 상대적으로 빠르며 다양한 기능을 지원한다. 유명한 오픈소스 프로젝트 중 하나이기도 하다. 하지만 직접 사용해 본 사람이라면 여러 가지 이유로 놀라움을 감추지 못했을 것이다. 이를테면 인터넷에서 쓸데 없는 것들만 모으고 아무런 시도도 하지 않는 기술처럼 여겨지기도 한다. 많은 이들이 선택하는 이 오픈소스 관계형 데이터베이스와 관련해 불편하거나 당황스러운 8가지 특성을 정리했다. 단 아래의 모든 이유가 비단 MySQL에만 국한된 것은 아니다. 일부는 일반적인 관계형 데이터베이스에 모두 적용되는 이야기이다. 하지만 관계형 데이터베이스와 MySQL에 대해 명확하게 생각하지 않는다면 1990년대에 영원히 갇히게 될지도 모른다. 쌓기 위해서는 먼저 무너뜨릴 필요가 있다. (또는 이런 목록을 작성할 수 있을 정도로 오래 되지 않은 새로운 데이터베이스로 전환해야 할 필요가 있을 것이다.) 깊숙이 자리 잡은 버그와 특이함 대형 소프트웨어 패키지는 버그가 있게 마련이다. 하지만 좀 더 깊이 파보면 MySQL의 버그는 고질적이다. NULL이 늘 언제나 동일하게 동작하거나 외부 키 제약이 강제되거나 자동 증가가 올바르게 진행되는지 알 수 없기 때문에 주의해야 한다. 수십 가지의 작은 문제들이 존재하며 이런 문제가 항상 해결되는 것은 아니다. 이 때문에 사람들이 이와 같은 갓차(gotcha) 리스트를 유지하는 것이다. MySQL이 상시 버그 보고 시스템을 유지하는 점만 보아도 문제가 실제로 존재한다는 사실을 알 수 있다. 다른 사람들도 같은 불만감을 느끼고 있다. 관계형 테이블의 비유연성 테이블은 원칙을 제공하며 원칙은 좋은 것이다. 하지만 프로그래머가 강제로 데이터를 조작하거나 스키마(Schema)로 정의한 불가변 행에 데이터를 넣을 때는 그렇지 못하다. NoSQL이 인기를 얻고 있는 이유 중 하나는 프로그래머가 상황에 따라 데이터 모델을 개선할 수 있는 유연성 때문이다. 주소에 1줄을 추가해야 하는 경우 No...

2015.07.27

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.

10.4.0.13