프로그래밍+DB

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을 그대로 출력 초기 상태 …

더 읽기 »

Vue.js Getting Started: How a Vue app starts

최근 프로젝트에서 앵귤러만 사용해왔는데, 뷰는 어떻게 시작하는 걸까? 고민을 하며 강의를 수강함. package.json에는 serve, build, lint가 존재. serve: runs the appbuild: going to run a production build process npm run build dist폴더가 만들어지고, 해당 폴더에는 index.html 등이 최적화되어 생성됨. src폴더에는 main파일이 있음 new Vue로 새 인스턴스를 만들고 있다. App이 html의 div id가 app인 요소에 마운트 됨. html은 public 폴더에 존재하며, …

더 읽기 »

Vue.js Getting Started: Create and Serve

vue create hello-vue -d 새 웹앱을 만들 때 vue create문을 사용. -d를 사용하면 설정이 기본값으로 지정된다. 인터넷 연결 상태가 좋지 않아 겨우겨우 성공. .gitignore에 node_modules가 들어 있어서, 더 이상 해당 폴더를 추적하지 않게 됨. package.json을 보면 core-js와 vue에 대한 의존성이 보인다. 위쪽에는 serve 명령이 실제로 무엇을 실행하는지도 나타나 있음. npm run serve localhost:8080에 접속하면 Vue.js 환영 메시지가 나타난다. Vue CLI로 …

더 읽기 »