Navigator.push로 보낸 정보를 final result에 저장하여 해당 result를 snackbar에 표시하는 예제. /// 선택된 정보를 홈 화면의 snackbar에 보여줍니다. /// 선택 창을 띄우고 결과를 기다리고 있습니다. 이제 결과 값을 갖고 무언가 할 차례입니다. /// 이 예제에서는 결과 값을 보여줄 수 있도록 Snackbar를 띄우겠습니다. /// 이 작업을 하기 위해 SelectionButton의 _navigateAndDisplaySelection 메서드를 수정할 것입니다. // SelectionScreen을 띄우고 navigator.pop으로부터 결과를 기다리는 메서드 void …
더 읽기 »Flutter: 새로운 화면으로 데이터 보내기(Send data to a new screen)
새 화면으로 이동하며 데이터를 넘겨줘야 할 때. 플러터 쿡북에서 단서를 찾았다. 기억하세요: 화면은 단지 위젯입니다.https://flutter-ko.dev/docs/cookbook/navigation/passing-data 위젯에 데이터를 넘겨주기 위해 필요한 것은 파라미터! Navigator.push( context, MaterialPageRoute( builder: (context) => DetailScreen(todo: todos[index]), ), ); Reference: https://flutter-ko.dev/docs/cookbook/navigation/passing-data import 'package:flutter/material.dart'; /// Todo를 표현하기 위한 간단한 정보가 필요합니다. /// 이 예제에서는 두 가지의 데이터를 갖고 있는 클래스를 정의할 것입니다: 제목과 상세 설명 class Todo { …
더 읽기 »Flutter: 인터넷에서 데이터 가져오기(fetch data)
플러터 소스코드를 작성하던 중, HTTP Status 200 OK 이외의 상황에서, 에러 메시지를 어떻게 표시하는지 궁금해졌다. 이에 대한 좋은 예제가 flutter-ko.dev에 있었다. import 'dart:async'; import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; Future<Post> fetchPost() async { /// http.get() 메서드를 사용하여 JSONPlaceholder 으로부터 샘플 Post를 가져올 것입니다 /// http.get() 메서드는 Response를 포함하고 있는 Future를 반환합니다. /// Future는 비동기 연산에 사용되는 Dart의 핵심 …
더 읽기 »Flutter: Checkbox, Switch, Radio
Checkbox와 Switch 체크박스와 스위치는 사용법이 동일. var isChecked = false; Checkbox(value: isChecked, onChanged: (value) { setState(() { isChecked = value!; }); }), Switch(value: isChecked, onChanged: (value) { setState(() { isChecked = value!; }); }), RadioListTile로 라디오버튼과 텍스트를 함께 선택하도록 하기 enum Answer { yes, no } class _MyHomePageState extends State<MyHomePage> { Map<int, Answer?> answerVal = {}; @override Widget build(BuildContext context) …
더 읽기 »WordPress: 이 웹사이트에 치명적인 오류가 있습니다(There has been a critical error on this website)
운영중인 워드프레스 블로그 중 하나에서 ‘이 웹사이트에 치명적인 오류가 있습니다’라는 메시지가 나타났다. There has been a critical error on this website 검색해보니 플러그인 등의 오류일 가능성이 있어, 문제를 진단하려면 wp-config 파일을 편집해서 디버그 모드(Debug Mode)를 켜라고 나와 있었다. The following code, inserted in your wp-config.php file, will log all errors, notices, and warnings to a file called debug.log in the wp-content directory. …
더 읽기 »Dart: 기초 배우기
Flutter In Action을 읽으며 Dart의 기초부터 실습하는 중이다. /// 화살표 함수 사용하기 void main() { // 기본 함수 String makeGreeting(String name) { return '안녕, $name'; } print(makeGreeting('Park')); // 고차 함수: => 는 {return 표현식}과 같다. 화살표 함수에서는 return 키워드 불필요. String makeGreetingArrow(String name) => '안녕, $name'; print(makeGreetingArrow('Park')); } 오래된 Java 문법에 익숙해져 있던 터라, Dart가 많이 낯설다. /// 이름 지정 …
더 읽기 »Flutter: Hello World
얼마만일까. 도서의 코드를 하나부터 열까지 직접 입력하며 실행해본 것이. 특히나 안드로이드 앱 프로그래밍은 2017년 이래인 듯 하다. 업무를 위해 Flutter 공부를 시작하고 있어서, ‘요즘 앱 프로그래밍’을 하나씩 터득하는 중이다. 한국 도서를 읽으며 예제를 따라하는 중… import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); // This widget is the root …
더 읽기 »Windows용 PIP 설치하기(How to Install PIP For Python on Windows)
PIP란? pip는 파이썬으로 작성된 패키지 소프트웨어를 설치 · 관리하는 패키지 관리 시스템이다. Python Package Index (PyPI)에서 많은 파이썬 패키지를 볼 수 있다. 파이썬 2.7.9 이후 버전과 파이썬 3.4 이후 버전은 pip를 기본적으로 포함한다.위키백과 파이썬(Python)이 없으면 미리 설치한다. 공식 사이트에서 다운로드한다. https://www.python.org/downloads/ PIP 인스톨용 스크립트를 내려 받는다.(마우스 우측 단추를 눌러 ‘다른 이름으로 링크 저장’하면 편하다) https://bootstrap.pypa.io/get-pip.py 이제 아래 명령을 통해 PIP를 …
더 읽기 »WPML: URL Rewrite 문제로 언어 URL 설정이 잘 안 될때
WPML: Language Option 비싼 값에 WPML을 구매했다면, 초반에 제대로 설정해 유용하게 활용할 수 있다. 다만 호스팅서비스에 따라 원하는 대로 언어별 URL 설정이 되지 않을 수 있다. 하지만 사용 가능한 환경임에도 언어 URL 형식이 ‘디렉토리의 다른 언어(aaa.com은 한국어, aaa.com/en은 영어와 같은 형식)’ 설정이 불가할 때에는 아래 글을 참조하자. https://wpml.org/forums/topic/url-rewriting/https://wpml.org/forums/topic/url-rewriting/#post-3425127#post-3425127 간단히 말하면 아래 코드를 .htaccess 파일에 추가하면 된다. # BEGIN WordPress <IfModule …
더 읽기 »Angular Forms: ngx-bootstrap
angular.io의 resources 메뉴 클릭 UI Components 섹션의 ngx-bootstrap을 클릭 get started 사용법이 잘 나와 있다. ng add를 사용해 부트스트랩 모듈을 추가 가능. 아래 명령으로 앱 설치 ng add ngx-bootstrap –component buttons app.module.ts를 보면 이미 ButtonsModule을 사용할 준비가 되어 있음.(import구문) 원하는 페이지에 해당 요소 복사 ts파일에 singleModel을 On으로 초기화하고, btnCheckboxTrue에는 True(On)을, btnCheckboxFalse에는 False(Off)을 매칭시킴. 버튼의 라벨은 singleModel을 그대로 출력 초기 상태 …
더 읽기 »