일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 직정인자기계발
- 직장인자기계발
- 패캠강의후기
- 30개프로젝트로배우는iOS앱개발withSwift초격차패키지Online.
- 패스트캠퍼스후기
- 자바
- 자바스크립트
- 패캠인강후기
- 환급챌린지
- 오공완
- fastcampus
- 수강료0원챌린지
- 코딩자격증
- 패캠챌린지
- 직장인공부
- 패캠reactnative
- 코딩교육
- 패스트캠퍼스
- 직장인인강
- 패캠
- reactnative강의
- 파이썬
- 코딩테스트
- Today
- Total
목록전체 글 (63)
라티의 작은 일기장
오늘은 Flutter 개발에 있어 중요한 개념들 중 Hot restart와 Hot reload, 그리고 디자인 가이드에 대해서 알아보려 한다. 앞서 Flutter는 두 가지 컴파일러(AOT, JIT)를 활용한다고 소개한 바가 있다. 이 중 JIT 컴파일러의 특성을 통해 컴파일 과정을 거치지 않고도 코드의 변경사항을 즉시 반영할 수 있는 Hot reload를 사용할 수 있다. 일단 둘의 정확한 의미와 차이점에 대해 알아보자. - Hot restart: 앱의 상태가 초기화되고 재시작되며, 코드의 변경 사항을 확인할 수 있음 - Hot reload: 앱의 상태가 유지되고 재시작되지도 않지만, 코드의 변경사항을 확인할 수 있음 둘 다 코드의 변경 사항을 확인할 수 있다는 공통점이 있으나, 상태와 재시작 여부에 ..
그러면 지금까지 배운 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)..
올해 프론트엔드 공부를 하면서 패스트캠퍼스에서 구매한 강의들 중 하나에 대한 간단한 후기를 남겨보려고 한다. 최근 현업에서 신입에게 요구하는 기술 스택을 활용하는 역량이 부족하다는 생각이 들어서 이 강의를 구매했는데, 꽤 만족스러웠다. 아마 많은 프론트 개발자 취준생 분들이 실습이 포함된 강의를 들으실 때 아래와 같이 3개의 뷰가 필요할 것이라고 생각한다. 프론트엔드 학습 과정이 보통은 그렇다. 강의 화면보고 코드 똑같이 작성해보고 -> 그 결과를 브라우저에서 확인해보고, 뭐 이런식으로 공부하게 된다. 나는 그래서 이렇게 메인 모니터에서 코드 에디터와 브라우저를 1:1 비율로 나눠놓고, 맥북 화면에 강의 화면을 띄워두고 공부했다. 그런데 이 강의는 나의 경우처럼 메인 모니터가 넓은 편이 아니라서 2개의 ..
자자~ 오늘도 학습 인증샷부터 시작하는 내 Java 코딩테스트 준비 글이다. 오늘 풀이해볼 문제는 BOJ의 1157번: 단어 공부이다. https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net Python으로 PS를 시작했을 때 이 문제를 푼 기억이 난다. 간단하게 이 문제의 요구사항에 대해 정리해보면, 1. 영어 대/소문자로 이루어진 문자열을 하나 줄게. 2. 여기서 제일 많이 쓰인 알파벳(대/소문자 구분)을 찾아서 대문자로 출력해봐. 3. 단, 제일 많이 쓰인 알파벳이 여러개면 "?..