본문 바로가기

Programming

(36)
Dart / Flutter 에러 핸들링 예외(exception) 예외는 예상하지 못한 일이 발생했다는 것을 의미하는 에러입니다. 예외가 캐치되지 않았다면, 예외를 발생시키는 isolate가 지연된 상태이고 보통 해당 isolate나 프로그램이 종료됩니다. Dart는 미리 정의된 다양한 서브타입과 함께 Exception과 Error 타입을 제공합니다. 원하는 예외를 정의하는 것도 가능합니다. 그러나 Dart 프로그램은 Exception이나 Error 객체 이외에도 모든 non-null 객체를 예외로 발생할 수 있습니다. throw 예외를 throwing 또는 raising합니다. throw FormatException('Expected at least 1 section'); // 임의의 객체도 throw 할 수 있습니다. throw 'Out o..
Dart / Flutter 조건문 (Branches/분기) 1. if Dart는 선택적 else 절이 있는 if 문을 지원합니다. if 뒤의 괄호 안 조건은 부울로 평가되는 표현식이어야 합니다. if (isRaining()) { you.bringRainCoat(); } else if (isSnowing()) { you.wearJacket(); } else { car.putTopDown(); } 2. if-case Dart if문은 패턴이 뒤따르는 case 절을 지원합니다. 패턴이 값과 일치하면 실행됩니다. 만족하지 않으면 else 분기로 진행합니다. if (pair case [int x, int y]) { print('Was coordinate array $x,$y'); } else { throw FormatException('Invalid coordinates..
Dart / Flutter 반복문 (Loops) 1. for 반복문 다음과 같은 방법으로 기본적인 반복문을 실행할 수 있습니다. var message = StringBuffer('Dart is fun'); for (var i = 0; i print(i)); } for (final c in callbacks) { c(); } // 0 // 1 Dart에서는 기대한대로 0과 1을 출력합니다. 반대로 ja..
Flutter 시작하기 1. Flutter 설치하기 Flutter 설치 페이지에서 Flutter를 다운로드! 해당 페이지의 안내대로 Flutter를 설치하면 됩니다. Flutter를 잘 설치했는지 확인하기 위해 cmd 또는 terminal에서 flutter doctor 를 입력해봅시다! 만약 문제가 발생했다면 해결하고 진행하는 것이 좋습니다. 2. IDE 설치하기 Flutter를 개발할 에디터를 설치합니다. 보통 Visual Studio Code 또는 Android Studio를 사용합니다. Visual Studio Code 설치 Android Studio 설치 Visual Studio Code를 사용한다면 extension에서 Flutter와 Dart를 설치해줍니다. Android Studio를 사용한다면 Plugins에서 ..
Dart / Flutter 기본 문법 (타입) Dart는 Type safe한 언어라 변수 선언 시 타입을 지정할 수 있다. 타입 체크 int a = 10; print(a is int)// true; print(a is Sting)// false; Dart 타입 Numbers (int, double) Strings (String) Booleans (bool) Lists (List, arrays로도 부름) Sets (Set) 유니크한 항목들로 이루어진 정렬되지 않은 컬렉션 Maps (Map) key와 value로 구성된 객체 Runes (Runes; 때로 characters API로 대체) 문자열의 유니코드 코드 포인트 Symbols (Symbol) Dart 프로그램에 선언된 연산자나 식별자를 나타냄. Symbol 리터럴은 #뒤에 식별자를 위치시면 됨(..
Dart / Flutter 기본 문법 (변수) 기본 변수 dart는 Type safe한 언어지만 타입 추론이 가능하여 명시적 타입을 지정하지 않아도 된다. var year = '2023'; var friuts = ['apple', 'banana', 'cherry']; print(year is String);// true print(friuts is Object);// true 만약 타입이 예상되지 않는다고 명시적으로 표현할 때에는 dynamic 키워드를 사용한다. (Typescript의 any 같은 역할) var year = '2023'; year = 100; //Error: A value of type 'int' can't be assigned to a variable of type 'String' dynamic year = '2023'; year..
Dart / Flutter 소개 1. 소개 구글이 2011년에 웹 프론트엔드 개발을 위해 만든 언어이다. 하지만 지금은 멀티플랫폼 개발이 가능한 언어이다. 클라이언트 개발에 조금 더 적합하게 개발되었으며 C언어와 유사한 문법을 가지고 있다. 그렇지만 백엔드 개발도 가능하다. serverpod이라는 dart로 된 opensource backend framework가 1.0 릴리즈되었다. Flutter의 인기와 더불어 인기 상승 중!! 2023년 1월 PYPL 18위!! 2. 특징 객체 지향 언어 (Object-oriented Language) 모든 것이 Object이다. 선택적 타입 dart는 type safe한 언어라서 String word = 'word'; 와 같이 타입을 명시하지만 var word='workd'; 와 같이 자유도도 ..
Javascript에서 SOLID 법칙 적용하기 SOLID 원칙 객체지향설계(Object Oriented Design)의 5가지 원칙 단일 책임 원칙(Single responsibility principle) 개방 폐쇄 원칙(Open/closed principle) 리스코프 치환 원칙(Liskov substitution principle) 인터페이스 분리 원칙(Interface segregation principle) 의존관계 역전 원칙(Dependency inversion principle) 장점 클린 코드(시간이 지나도 유지 보수와 확장이 쉬운 시스템) 단일 책임 원칙(Single responsibility principle) 클래스는 하나의 작업만 있어야 한다. 함수형에서는? -> 함수는 하나의 작업만 있어야한다. 장점 요구사항 변경 발생 시 하..