Programming63 [프로그래밍 이론] 반각문자 @와 전각문자 @ ▶ 주제 : 반각문자 @와 전각문자 @ 반각문자와 전각문자에 대해 알아보고 실제 프로그래밍 상황에서 어떤 문제가 발생하는지에 대해 알아보자. ▶ 상황 다국어를 지원하는 모바일 앱을 개발 및 테스트 하던 도중 일본어 환경에서 회원가입이 되지 않는 문제가 발생하였다. 정규식을 통해 이메일 형식 아이디를 입력받게 구현되있었는데, 제대로 입력했음에도 정규식이 통과하지 않는 것이었다! ▶ 원인 위의 상황이 발생한 원인은 일반적인 자판의 반각 골뱅이표시(@)와 일본어 자판의 전각 골뱅이표시(@)가 서로 다른 문자이기 때문에 반각 골뱅이표시만으로 이메일 형식을 검사하는 정규식에 통과하지 못했던 것이다. 즉, 두 골뱅이표시를 나타내는 유니코드가 각각 다르다. 완전히 다른 문자라는 것이다. (이 글을 보고있는 환경에 따.. 2019. 10. 10. [C#] string + string 과 StringBuilder.Append() 차이 ▶ 주제 : 문자열을 더할때 자주 쓰이는 string + string 연산과 StringBuilder 클래스의 Append 함수 연산의 차이를 비교해보자. ▶ 문자열을 더하는 방법 C#에서 문자열을 더하는 방법은 여러가지가 있지만 가장 잘 알려진 방법은 아래와 같은 방법일 것이다. string result = "hello" + "world"; // "helloworld" 문자열과 문자열을 더하기 기호로 이어붙이는 방법이다. 단순하게 표현할 수 있어서 C# 이외에도 대부분의 언어들이 지원하고 있는 기능이다. 두 번째로 알려진 방법은 StringBuilder 클래스의 Append 함수를 이용하여 builder 객체에 문자열을 이어붙인 후 꺼내는 방법이다. var builder = new StringBuild.. 2019. 9. 23. [Flutter] Windows 10에 Flutter 개발환경 설치하기 Windows 10에 Flutter 개발환경 설치하기 윈도우 환경에서 플러터 앱을 개발하는 방법을 알아보자 작성 환경 OS : Windows 10 IDE : Android studio 3.5 이상 (또는 Intellij IDEA 2019.1.2 이상) 작업 순서 1. Intellij IDEA 또는 Android studio 설치 2. Flutter plugin과 SDK 설치 3. Android SDK 설치 Intellij IDEA 또는 Android studio 설치 Flutter 어플리케이션을 제작하기 위한 IDE를 설치해야한다. 이 글에서는 Android studio로 셋팅할 것이다. Download link : https://developer.android.com/studio 2019. 9. 15. [Flutter] Mac에 Flutter 개발환경 설치하기 ▶ 주제 : Mac에 Flutter 개발환경 설치하기. ▶ 작성 환경 ▷ OS : Mac ▷ IDE : Android studio 3.5 이상 (또는 Intellij IDEA 2019.1.2 이상) ▶ 작업 순서 ▷ 1. Intellij IDEA 또는 Android studio 설치 ▷ 2. Flutter plugin과 SDK 설치 ▷ 3. Android 개발환경 설정 ▷ 4. iOS 개발환경 설정 ▶ 1. Intellij IDEA 또는 Android studio 설치 Flutter 어플리케이션을 제작하기 위한 IDE를 설치해야한다. 보통은 Android studio나 VS Code를 사용한다. 참고로 말하자면 Android studio에서도 Flutter iOS 앱 개발이 가능하니 혹시나 개발이 안될거.. 2019. 8. 31. [Node.js] PayloadTooLargeError: request entity too large PayloadTooLargeError: request entity too large. Node.js에서 PayloadTooLargeError가 발생하는 경우와 해결법에 대하여 알아보자. 발생 원인 보통 express를 이용하여 Node.js에서 웹 서버를 구축할 때 const app = express(); ... app.use(express.json()); // 혹은 bodyParser.json() app.use(express.urlencoded()); // 혹은 bodyParser.urlencoded() ... request의 내용을 파싱하여 라우터가 이용할 수 있도록 위와 같이 두 가지 파서(body-parser 패키지에 있음)를 등록하게 된다. PayloadTooLargeError가 발생하는 원인은.. 2019. 8. 11. [Node.js] .env 환경변수 ▶ 주제 : .env 환경변수 Node.js에서 프로그래밍에 필요한 값들을 서술할 수 있는 .env 환경변수 파일에 대하여 알아보자. ▶ 예시 Node.js에서는 프로젝트 디렉토리에 .env라는 이름의 파일이 존재하면 환경변수처럼 소스코드로 가져와서 사용할 수 있다. .env 파일의 내용은 key=value 형태로 써야하며 문장의 맨 앞에 #를 붙이면 주석을 쓸 수도 있다. # This is sample .env MESSAGE=hello NUMBER=1234 .env을 이용하기 위해서는 프로젝트에 dotenv 패키지를 설치해야한다. var express = require('express'); var router = express.Router(); require('dotenv').config(); rout.. 2019. 5. 24. [프로그래밍 이론] JWT (Json Web Token) ▶ 주제 : JWT (Json Web Token). 서버가 클라이언트의 권한 및 인증정보가 표현된 JSON을 암호화 후 Token으로 발급하여, 클라이언트가 서버에 통신할 때 Session 없이 상태를 표현할 수 있도록 해주는 인증방식. ▶ Stateless (상태없음) JWT를 왜 사용하는지에 대해서는 Stateful&Stateless 서버의 차이점부터 알아야 한다. ▷ Stateful 서버 : 서버가 클라이언트의 상태정보(Session)를 보유 및 유지하며, 상태정보를 바탕으로 클라이언트에게 서비스를 제공한다. 상태정보는 서버 컴퓨터의 메모리 혹은 DB에서 관리된다. ▷ Stateless 서버 : 서버가 클라이언트의 상태정보를 보유하지 않으며 클라이언트측의 요청만으로 서비스를 제공한다. 상태정보라는 .. 2019. 4. 19. [Spring boot] Spring boot에서 다국어 지원하기 (2) ▶ 주제 : Spring boot에서 다국어 지원하기 (2). 클라이언트의 언어&국가정보를 바탕으로 각기 다른 언어 리소스를 호출하는 방법을 알아보자. ▶ 관련 문서 ▷ Spring boot에서 다국어 지원하기 (1) [Spring boot] Spring boot에서 다국어 지원하기 (1) ▶ 주제 : Spring boot에서 다국어 지원하기 (1). Spring boot에서 클라이언트의 언어&국가정보를 인식하는 방법과 언어&국가정보가 없을 경우에 대해 대처하는 방법을 알아보자. ▶ 관련 문서 ▷ Spring boot에서.. spiralmoon.tistory.com ▶ 작성 환경 ▷ Spring boot 2.0 ▶ 방법 Spring에서는 미리 준비해둔 여러 언어 리소스들을 클라이언트의 언어&국가정보에 따.. 2019. 4. 8. [Spring boot] Spring boot에서 다국어 지원하기 (1) ▶ 주제 : Spring boot에서 다국어 지원하기 (1). Spring boot에서 클라이언트의 언어&국가정보를 인식하는 방법과 언어&국가정보가 없을 경우에 대해 대처하는 방법을 알아보자. ▶ 관련 문서 ▷ Spring boot에서 다국어 지원하기 (2) [Spring boot] Spring boot에서 다국어 지원하기 (2) ▶ 주제 : Spring boot에서 다국어 지원하기 (2). 클라이언트의 언어&국가정보를 바탕으로 각기 다른 언어 리소스를 호출하는 방법을 알아보자. ▶ 관련 문서 ▷ Spring boot에서 다국어 지원하기 (1) [Spring boo.. spiralmoon.tistory.com ▷ ISO 639-1 List of ISO 639-1 codes - Wikipedia Wikim.. 2019. 4. 2. [디자인 패턴] 팩토리 메소드 패턴 (Factory method pattern) ▶ 주제 : 팩토리 메소드 패턴 (Factory method pattern). 생성 패턴의 하나. 팩토리라는 인터페이스를 정의하고 인스턴스화를 해내는 부분을 서브 클래스에 위임하는 패턴이다. ▶ 관련 문서▷ 추상 팩토리 패턴▷ 위키피디아 ▶ 구조 팩토리 인터페이스를 정의하여 이를 서브 클래스가 상속받아 구현하는 형태이다. 서브 클래스는 Product 타입 객체를 생성하고 반환하는 createProduct 함수를 정의해야한다. ▶ 예시 아래 예시는 C#을 기반으로 작성하였다. public interface IFactory { IProduct CreateProduct(); } 팩토리 인터페이스를 정의한다. 인터페이스에는 특정 타입을 반환할 함수가 선언되어야 한다. public interface IProduc.. 2019. 3. 20. [디자인 패턴] 복합체 패턴 (Composite pattern) ▶ 주제 : 복합체 패턴 (Composite pattern). 구조 패턴의 하나. 복합 객체 그룹(전체)과 단일 객체를 동일하게 취급하거나 다룰 수 있게 해주는 방식으로, 재귀적 특성을 띄며 트리(tree) 구조에 가까운 패턴이다. ▶ 구조 복합체 패턴의 구조는 크게 4가지로 분류된다.▷ 첫 번째 : 컴포넌트 인터페이스(추상클래스도 가능) : Leaf와 Composite를 같은 타입으로 취급하기 위한 인터페이스로써, Leaf와 Composite가 동일하게 가져야 할 함수를 여기에 선언한다.▷ 두 번째 : 리프 클래스 : 단일 객체를 표현할 클래스로, 그룹의 구성원 역할을 하며 트리구조로 따지면 가장 밑단에 존재하는 나뭇잎 역할을 한다고 보면 된다.▷ 세 번째 : 컴포지트(복합체) 클래스 : 복합 객체 그.. 2019. 3. 12. [디자인 패턴] 빌더 패턴 (Builder pattern) 빌더 패턴 (Builder pattern)생성 패턴중 하나인 빌더 패턴에 대해 알아보자.시리즈2019.02.13 - [Programming/프로그래밍 이론] - [디자인 패턴] 싱글톤 패턴 (Singleton pattern)2019.02.14 - [Programming/프로그래밍 이론] - [디자인 패턴] 추상 팩토리 패턴 (Abstract factory pattern)2019.03.12 - [Programming/프로그래밍 이론] - [디자인 패턴] 복합체 패턴 (Composite pattern)2019.03.20 - [Programming/프로그래밍 이론] - [디자인 패턴] 팩토리 메소드 패턴 (Factory method pattern)빌더 패턴이란?클래스 설계에서 생성 부분을 분리하여, 객체를 깔.. 2019. 3. 9. 이전 1 2 3 4 5 6 다음 반응형