쿠키의 유형 쿠키는 영구쿠기와 세션쿠키라는 유형으로 나뉩니다. 세션쿠키(Session Cookie/Temporary Cookie) : 브라우저가 쿠키를 메모리에 저장하게 됩니다. 브라우저가 종료되는 즉시 쿠키도 소멸합니다. 즉 브라우저의 세션(브라우저가 실행되는 시간) 동안만 유지되는 쿠키입니다. 쿠키를 생성할 때 만료날짜를 지정하지 않을 경우 세션쿠키가 됩니다. 영구쿠키(Persistent Cookie) : 브라우저가 쿠키를 디스크에 저장하게 됩니다. 브라우저가 종료되더라도 쿠키의 값은 유지가 됩니다. 브라우저를 종료하고 다시 실행하면 디스크에 저장된 쿠키를 복구하게 됩니다. 쿠키를 생성할 때 만료날짜를 지정할 경우 영구쿠키가 됩니다. 영구쿠키의 만료날짜가 지나면 자동으로 삭제됩니다. 세션쿠키와 영구쿠..
Language-Culture Codes 국가별 언어코드에서 대한민국은 ko-KR, 북한은 ko-KP로 표현됩니다. 여기서 앞 ko는 언어코드(한글)을 의미하며 KR, KP는 국가/지역코드로 각각 대한민국(Republic of Korea), 북한(Democratic People's Republic of Korea)을 의미합니다. 다른 예시로 영어-미국(United State)은 en-US, 영어-영국(Great British)은 en-GB를 사용합니다. C#에서는 이러한 언어, 국가/지역 코드를 바탕으로 문자열을 비교할 수 있습니다. 문자열을 비교할 때 StringComparison 매개변수를 통해서 언어, 국가/지역의 특수성을 어떻게 반영할 지 결정할 수 있습니다. StringComparison 열거형..
AntDesign에서 Modal을 Draggable로 만들기 위해서는 react-draggable 모듈을 사용하면 간단히 구현이 가능합니다. react-draggable 모듈을 설치합니다. > npm install react-draggable AntDesign의 Modal과 Draggable을 조합하여 모달을 구성합니다. import { Button, Modal } from 'antd'; import React, { useRef, useState } from 'react'; import Draggable from 'react-draggable'; const ModalSample: React.FC = () => { const draggleRef = useRef(null); const [visible, se..
Material-UI는 리액트에서 사용되는 UI 컴포넌트 라이브러리로서 리액트에 Google Material Design을 손쉽게 적용 할 수 있게 도와줍니다. 리액트 개발자로서 수많은 프로젝트에 Material-UI를 사용한 경험이 있기 때문에 Material-UI가 훌륭한 라이브러리라는 것을 잘 알고 있습니다. Material-UI의 수많은 컴포넌트, 그리드 시스템, 일관된 UI를 바탕으로 매우 빠르게 앱을 개발할 수 있습니다. 몇년간 Material-UI를 만족하며 사용해왔지만 개인적인 오픈소스 프로젝트인 Ammo를 개발하면서 심각한 문제를 발견하였습니다. Ammo에 대한 간단한 소개 : Ammo는 HTTP 요청을 캡쳐하여 네트워크 부하 테스트 엔진 스크립트로 변환하는 오픈소스 프로젝트입니다. (G..
Material-UI는 높은 수준의 UI를 빠르고 효율적으로 개발할 수 있는 UI 도구입니다. Material-UI 구글의 Material Design UI 가이드라인을 바탕으로 하며 UI개발에 필요한 수많은 컴포넌트와 디자인 템플릿을 제공합니다. Material-UI 장점 Material Design을 바탕으로 합니다. 안드로이드 시스템에서 검증된 높은 수준의 디자인 퀄리티를 바탕으로 UI개발을 진행 할 수 있습니다. 또한 모바일과 데스크톱을 모두 지원하는 반응형 UI를 빠르게 개발할 수 있습니다. 방대한 컴포넌트를 제공합니다. 필요로 하는 대부분의 컴포넌트를 제공합니다. DatePicker, AutoComplete, Dialog, Tooltip 외 방대한 양의 컴포넌트를 제공합니다. UX PIN과 같..
SMTP 프로토콜 Simple Mail Transfer Protocol의 약자로서 메일을 전송하는데 사용되는 프로토콜입니다. 주로 메일 서버 간에 메일을 송/수신할 때 사용합니다. 또한 사용자 PC에 설치된 메일 클라이언트 프로그램(아웃룩 등)이 SMTP 메일 서버로 메일을 전달할 때 SMTP 프로토콜을 사용하기도 합니다. SMTP 전송과정 SMTP 프로토콜은 TCP/IP 프로토콜을 사용하여 메일을 전송합니다. 메일을 발송하는 SMTP서버와 메일을 수신하는 SMTP서버는 주로 25번 포트를 통해 TCP/IP 연결을 맺게됩니다. TCP/IP 연결이 완료되면 메일을 발송하는 SMTP서버는 Outbound Queue에 쌓여있는 메일을 읽어 수신하는 SMTP서버로 전달하게 됩니다. 수신하는 SMTP 메일서버는 ..
Android에서는 Theme과 Style을 통해서 비주얼 속성을 미리 정의하고 재사용 할 수 있습니다. Style은 개별적인 View에 적용되는 비주얼 속성을 정의합니다. Theme은 앱 전체에 적용되는 속성들을 정의합니다. 만약 특정 Theme을 적용하면 앱 전체의 Activity, View가 영향을 받습니다. Style의 정의 및 사용 res/values 폴더에 styles.xml을 추가합니다. API 레벨 별로 Style을 적용할 수 있습니다. 예를들어 Android 5.0 (API 21) 이상에서 만 적용되어야 한다면 res/values-v21/styles.xml 형태로 정의할 수 있습니다. styles.xml에 Style을 정의해주세요. 레이아웃 XML에서 style 속성을 통해 사용할 수 있..
Android 8.0 (API 26)부터 폰트를 XML로 정의하여 사용할 수 있습니다. 글꼴 파일을 res/font/폴더에 넣고 글꼴을 정의하는 XML 파일을 추가한 후 @font/myfont 혹은 R.font/myfont 형태로 사용할 수 있습니다. Support Library 26을 사용하면 Android 4.1 (API 16) 이상의 기기에서도 사용할 수 있습니다. 폰트를 XML로 정의하기 res/font 폴더에 폰트를 추가합니다. 폰트파일은 기본적으로 TTF 폰트를 지원하며, OTF는 Android 1.6 부터 지원합니다. res/font 폴더에 XML 파일을 추가합니다. 파일명이 폰트의 리소스명이 됩니다. XML파일을 열고 폰트를 정의하는 내용을 작성합니다. 정의된 폰트를 사용하는 방법은 다른 ..
오류 TypeScript 빌드 시 --downlevelIteration을 사용하라는 오류가 발생할 때가 있습니다. Type 'Set' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators. 이 오류는 ES6를 지원하지 않는 환경에서 ES6 열거형(Iterable) 객체를 열거하려고 할 때 발생합니다. 예를들어 Set 혹은 Map 객체는 ES6에서 추가된 객체인데 tsconfig.json에 target을 ES5로 설정한 상태에서 Set을 열거하려고 하면 이러한 오류가 발생합니다. 해결방법 두가지 오류해결 방법이 존재합니다. 첫번째 방법은 간단히 --downl..
.d.ts 파일이란? 타입스크립트가 타입을 추론할 수 있도록 .d.ts파일에 Type을 선언 할 수 있습니다. 여러가지 사용 목적 중에서 대표적인 2가지를 소개하자면 다음과 같습니다. 사용목적1: 구현부분과 선언부분의 분리 클래스, 함수의 Type 선언부분은 .d.ts파일에 정의해두고, 구현부분은 별도의 .ts 파일에 분리하여 작성할 수 있습니다. 이러한 작성방법은 C언어의 헤더파일(.h 파일)의 사용방법과 유사하다고 볼 수 있습니다. 구현부분과 선언부분을 깔끔하게 분리하여 코드를 작성할 수 있는 것이죠. 사용목적2: 레거시 자바스크립트의 타입추론 오랜 전에 작성된 자바스크립트 라이브러리를 타입스크립트에서 사용하기 위해 .d.ts를 사용하기도 합니다. 오래된 자바스크립트 라이브러리를 타입스크립트에서 사용..
- StringComparison
- Xamarin.Forms 요약
- VisualStudio
- React
- WPF
- TypeScript
- ios
- Xamarin.Forms
- .NET Standard
- material-ui
- Xamarin.Forms eBook
- Xamarin.iOS
- c#
- Vue
- flutter
- MS SQL
- Xamarin
- ASP.NET Core
- Android
- npm
- Total
- Today
- Yesterday