일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 코딩테스트
- 직장인인강
- 코딩교육
- 패스트캠퍼스후기
- 패캠강의후기
- 직정인자기계발
- 패캠챌린지
- 자바
- 수강료0원챌린지
- 자바스크립트
- 패스트캠퍼스
- 패캠인강후기
- 코딩자격증
- 패캠
- 오공완
- 파이썬
- 패캠reactnative
- fastcampus
- reactnative강의
- 30개프로젝트로배우는iOS앱개발withSwift초격차패키지Online.
- 환급챌린지
- 직장인자기계발
- 직장인공부
- Today
- Total
목록환급챌린지 (59)
라티의 작은 일기장
그러면 지금까지 배운 Dart 문법을 활용해서 간단한 가위바위보 게임을 만들어보자. 조건문 예제 중에 가위바위보 만한게 없다. import 'dart:convert'; import 'dart:io'; import 'dart:math'; void main() { print('가위, 바위, 보 중 하나를 정해서 입력해주세요.'); final String userInput = stdin.readLineSync(encoding: utf8) ?? 'Error'; const selectList = ['가위', '바위', '보']; final cpuSelect = selectList[Random().nextInt(3)]; print('컴퓨터의 선택: $cpuSelect'); print(getResult(userInp..
오늘은 간단하게 Dart 프로젝트를 셋업해보고 나머지 문법들에 대해서 알아보려 한다. Dart에서 함수와 메서드는 어떻게 구현될까? 지금까지 살펴본 문법들이 타 언어들과 유사한 점이 있기에, Dart에서 함수와 메서드를 선언하는 방법도 크지 않을것 같다. 일단 이제부터는 DartPad가 아니라 Android Studio IDE의 Dart 프로젝트 상에서 실습을 진행해보려 한다. 아래와 같이 설치한 Flutter SDK 내부의 Dart SDK 로컬 경로를 잡아주자. 그 다음에 프로젝트 디렉토리의 위치를 잡아주면 아래 모습과 같이 Dart 프로젝트의 초기 설정이 완료된다. 테스트겸 간단하게 Hello World도 찍어보았다. DartPad보다 컴파일도 빠르고 IDE에서 제공하는 자동완성도 매우 만족. voi..
오늘은 Dart에서 Class를 어떻게 다루는지 한번 알아보려한다. Dart는 객체지향 언어이기 때문에 JS 처럼 객체지향을 흉내내는게 아니라 진짜 필드, 메서드, 생성자와 접근 제한자 등을 지원해서 객체지향 프로그래밍이 가능하다. 한동안 JS만 열심히 팠던 나로서 객체지향 개념은 아주 기본적인 개념(상속, 캡슐화, 추상화, 다형성)말고는 증발했기에, Dart에서 생성자는 어떤 것들이 있는지 알아보았다. 아래와 같이 5가지 생성자 유형이 있다고 한다. - Default constructors: 기본 생성자. 생성자를 선언하지 않을 때 제공. - Named constructors: 개발자가 필요에 의해 생성한 생성자. 클래스에 대한 여러 생성자 구현 또는 클래스의 명확성을 제공. - Redirecting ..
오늘은 Dart에서 연산자는 어떻게 쓰는지 알아보자. 그렇지만 사실 C, Python, Java, JavaScript와 같은 언어를 사용해봤다면 뭔가 새로운 연산자가 등장해서 따로 공부할 필요는 없다. 산술, 비교, 논리 연산자 등 다른 언어들과 연산자에 대해서는 거의 공유하고 있다. 그리고 Dart 2.12버전부터 Null Safety 개념 도입을 위해 Nullable, Non-nullable 타입이 도입됐다고 하는데, JavaScript에서 옵셔널 처리하는거랑 Not Null 처리하는거랑 똑같다. 이렇게 산술 연산자와 문자열 병합 연산도 다른 언어와 동일하게 동작한다. 비교 연산자도 마찬가진데 JS와 달리 값과 타입까지 비교해주는 '===' 연산자는 없다. 애초에 Type-Safe한 언어라서 그런거같..
프로그래밍 언어는 특정 문제를 해결하기 위한 알고리즘을 코드로 구현하기 위해 활용한다. 저수준, 고수준 언어로 계열을 나눌 수 있고, 우리가 일반적으로 개발할 때 활용하는 것은 대부분 고수준 언어이다. 추가로 고수준 언어를 기계가 이해하기 쉽도록 변환해주는 녀석을 컴파일러라고 한다. Dart는 구글에서 개발한 언어로, 타입 시스템을 지원하는 객체지향 언어이고, 두 가지의 컴파일러(JIT, AOT)를 보유하고 있다는 것이 특징이다. JIT 컴파일러와 AOT 컴파일러에 대한 간단한 설명은 아래와 같다. JIT(Just In Time) 컴파일러: 코드 실행 시점에 컴파일을 수행할 수 있는 컴파일러. Flutter의 Hot-Reload / Hot-Restart를 구현할 때 활용 AOT(Ahead Of Time)..
드디어 챌린지 마지막 날이다...! 오늘은 계산기 앱의 기능 구현을 할 것이다...! 오늘 구현할 기능은 숫자 키패드를 통해 입력하는 숫자를 표시하는 것과, AC 버튼의 입력값 초기화 기능이다. 나머지는 꼭 내일까지 마무리 할거다! 그러기 위해서, 메인 VC의 Assistant를 켜주고, 숫자 Label의 Outlet 변수 numberOutputLabel을 선언해주자! 그리고 숫자 버튼에 대한 Action 함수를 선언해줄건데, 10개의 숫자 버튼이 있으니까 10개의 Action함수!!!! ...가 아니라 일단 하나의 Action 함수를 선언하고, 나머지 버튼에 대해서도 동작하도록 대응 작업을 해주려고 한다. 일단 '7' 버튼에 대해 Action 함수 tapNumberButton()을 선언해주자. 그리고 ..
오늘은 계산기 앱의 UI를 구성하는 두 번째 회차이다. 어제는 앱 UI의 기본적인 틀을 완성했다면 오늘은 색을 입힐 차례! 일단 Button들의 Title을 iOS 기본 계산기 앱과 동일하게 보이도록 변경해주자. 어제 AC 버튼 오른쪽 버튼이 연산 결과를 출력하는 '=' 이라고 적었었는데, iOS 기본 계산기 앱 기준으로는 나누기에 해당한다... ㅎㅎ 그래서 똑같이 바꿔나가다 보면... 1과 2 아래 버튼 2개가 iOS 계산기 앱에서는 0을 나타내는 하나의 버튼임을 발견하게 된다! 2 아래의 버튼을 지워주고, 1 아래의 버튼의 Aspect Ratio 제약조건을 삭제한 뒤, 어제 AC 버튼에 대해서 Size를 조정한 방식을 적용시켜주자. 그리고 다음과 같은 과정을 따라 UI에 스타일을 입혀주면 다음과 같은..
챌린지 종료 3일 전이다. 챌린지 종료까지 계산기 앱을 다 만들 수 있길... 우선 계산기 앱을 위한 새로운 프로젝트를 생성하고 메인 스토리보드를 불러와보자. 그리고 계산 결과를 출력할 Label을 하나 생성한 뒤, 제약 조건을 다음과 같이 추가해주자. 실수로 사진에는 포함시키지 않았는데 Height 값도 150으로 설정하자. 그럼 이렇게 결과를 표시하는 화면의 틀은 잡혔다. 다음은 계산기의 키패드(숫자, 기능)를 어제 배운 UIStackView를 활용해서 만들어보자. 일단 키패드 View로 활용할 UIView를 하나 추가한 뒤, 제약조건을 Top, Leading, Trail, Bottom 모두 24로 설정해주자. 그리고 해당 View 안에 다음과 같이 총 18개의 UIButton을 추가하면 된다. 뭔가..