본문 바로가기

Language_78

[Flutter] 이미지 추가 & "unable to load asset" 에러 해결 [Flutter] "unable to load asset" 해결 방안 - 파일명에 특수문자가 들어 있으면 사진을 못읽습니다. - pubspec.yaml 파일에 추가할때 들여쓰기 확인해야 합니다. "이미지 추가" 방법 우선 이미지 파일을 프로젝트 폴더의 images 폴더에 넣습니다. images 폴더가 없으면 새로 만들어 줍시다. pubspec.yaml 파일을 수정해야 합니다.. 위처럼 - images/ 경로를 assets 밑에 추가하면 됩니다. flutter: [2 띄어쓰기 or 1 탭]assets: [4 띄어쓰기 or 2 탭]- images/ 띄어쓰기 구분을 안 해주면 경로를 못 읽습니다. pubspec.yaml 파일 수정 후에는 명령어를 실행해야 합니다. (VScode에서는 자동적으로 해줍니다.) f.. 2020. 9. 27.
[Flutter] StatelessWidget & StatefulWidget 차이점 정리 Flutter의 Widget은 StatelessWidget(SLW)과 StatefulWidget(SFW)을 상속받아서 만들 수 있다. 또한, 두 위젯은 Scaffold를 이용해 동일한 방식으로 화면을 구성하게 된다. StatelessWidget은 단 한번만 Build를 한다. 한번 그려진 화면은 계속 유지되며, 성능상 장점이 생긴다. StatefulWidget은 state를 포함하며, setState가 발생할때마다 Build과정이 일어나고, 동적 화면을 쉽게 구현이 가능하다. 밑의 예제를 보고 차이점을 확실하게 알아가자. import 'package:flutter/material.dart'; void main() => runApp(SLWApp()); class SLWApp extends Stateless.. 2020. 9. 26.
[Flutter] 강좌 01 : Hello World 출력하기 Flutter를 이용하여 Hello Flutter World를 화면에 띄어보자. 처음에 Flutter의 New Project를 만들면 이런식으로 main.dart에 많은 글이 있을텐데.. 모두 다 지우자 ! 그리고 아래의 코드를 붙여넣기 하자. import 'package:flutter/material.dart'; void main() => runApp( MaterialApp( title: 'MyApp', home: MyApp(), ), ); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Welcome to Flutte.. 2020. 9. 26.
[Flutter] Flutter 개발시 유용한 사이트 "Pub.dev" pub.dev/ Dart packages Pub is the package manager for the Dart programming language, containing reusable libraries & packages for Flutter, AngularDart, and general Dart programs. pub.dev Search Packages에 원하는 플러그인을 검색하면 다른 사람들이 개발한 것들을 볼 수 있다. 예를 들어 sensor에 대해 검색을 해보자. 위와 같이 sensor에 관련된 플러그인들을 볼 수 있다. Usage를 참고하여 사용 방법에 대해 배울 수도 있으며 예제를 통하여 어떻게 사용하는지도 배울 수 있다. Flutter를 이용하여 개발을 할 때 위의 사이트를 이용하면 유.. 2020. 9. 26.
[Flutter] 디버깅시 앱이 실행 안될때 "Unable to locate ADB 에러" + 환경 변수 편집 VScode에서 Flutter와 에뮬레이터를 다 구축하고 디버깅을 하니 실행이 안 되는 현상이 있었다.. VScode를 잘못 설치한거 같아 AndroidStudio에서 진행을 해봤지만 똑같이 디버깅이 안 되는 현상이 나왔다.. 그리고 AndroidStudio에서는 Unable to locate ADB 라는 에러가 나왔다. Unable to locate ADB를 검색을 해보니 platform-tools 폴더에 adb.exe가 없거나, 환경변수 설정이 제대로 안되어 있을 때 나오는 에러였다. [다운로드] platform-tools SDK 플랫폼 도구 출시 노트 | Android 개발자 | Android Developers Android SDK 플랫폼 도구는 Android SDK의 구성요소입니다. develo.. 2020. 9. 26.
[python] RuntimeError: deque mutated during iteration. 해결방법 prog = collections.deque([5,4,3,2,1]) answer = [] while len(prog) > 0 : tmp = prog.pop(0) cnt = 1 for i in prog : if tmp < i : break prog.pop(0) cnt += 1 answer.append(cnt) [프로그래머스] 기능개발 [프로그래머스] 기능개발 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 �� security-nanglam.tistory.com 프로그래머스 문제를 풀다가 RuntimeError: deque mutated during iterati.. 2020. 8. 22.
[Algorithm] Permutation Algorithm(순열 알고리즘) with Python 순열.. 순열이 뭘까! 순열은 보통 고등학교 수학 시간에 배운다. 수학에서, 순열(Permutation) 또는 치환은 서로 다른 n개의 원소에서 r( 2020. 8. 19.
[python] Heapq 힙 모듈?! (heapq의 사용법) 힙(Heap) 은 그래프랑 트리와는 전혀 상관없는 이름을 가지고 있다.. 하지만 힙은 트리 기반의 자료구조이다. 모듈은 주로 heapq를 사용하며 파이썬에는 최소 힙만 구현되어 있다. 최소 힙이란 부모가 항상 자식보다 작기 때문에 루트가 결국 가장 작은 값을 갖는 형태다. 그러면 파이썬은 최소 힙이니 정렬이 되어 있어야 할까?? 아니다..! 부모가 가장 작다는 것만 만족하면 될 뿐 정렬이 되어 있을 필요는 없다. BST(이진 탐색 트리)랑 다른 점은 BST는 정렬이 되어있어 최상단 노드 왼쪽에는 최상단 노드보다 작은 값이 오고, 최상단 노드 오른쪽에는 최상단 노드보다 크거나 같은 값이 온다. 왼쪽인 최소힙이고 오른쪽이 BST의 예시이다. 최상단 노드를 기준으로 정렬의 차이가 보인다. Heapq 사용하기 .. 2020. 8. 14.
[python] startswith() 사용방법 정리 @.@ startswith.. 프로그래머스의 전화번호 목록을 풀면서 열심히 공부한 함수다.. [프로그래머스] 전화번호 목록 풀이 [프로그래머스] 전화번호 목록 문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입�� security-nanglam.tistory.com startswith()는 사용방법이 간단하다 우선 str.startswith(str or tuple) 형식으로 사용하면 되고, 반환 값으로는 True, False를 반환한다. string = "hello startswith" print(string.startswith("hello")) True string = "hell.. 2020. 8. 13.
[python] List to Dict (리스트를 딕셔너리로 변환) 총 정리!! 검색어 : List to Dict List 에서 Dict으로 변환하는 방법에는 여러가지 방법이 있습니다...! string_list = ['A','B','C'] 위와 같은 리스트가 있을때, 딕셔너리로 변환시키는 여러가지 방법들 ..! 1. Dictionary Comprehesion(딕셔너리 컴프리헨션) 이용 string_list = ['A','B','C'] dictionary = {string : 0 for string in string_list} print(dictionary) {'A': 0, 'B': 0, 'C': 0} 위의 방식을 조금 변경하면.. string_list = ['A','B','C'] dictionary = {string : i for i,string in enumerate(string.. 2020. 8. 13.
[python] Type Hint (타입 힌트) 정리 def func(a: int) -> int : b: int = 1 return a+b 요즘 파이썬의 코드들을 보면 이러한 타입 힌트들이 많이 보인다. 타입 힌트는 python 3.5 버전에서 나오게 되었다. 코드에 대한 가독성에 도움을 주고 사용자들이 헷갈리지 않게 하기 위해 나왔다. python 3.5 버전에서는 함수의 반환값에 대한 자료형만 지원했지만 [PEP484] def greeting(name: str) -> str: return 'Hello ' + name 이후 python 3.6 버전에서는 변수에도 타입 힌트 표기가 가능해졌다. def greeting(name: str) -> str: s: str = 'Hello ' + name return s 타입 힌트는 위에서 말했듯 3.5버전에서 나온 .. 2020. 8. 8.
[python] Graph Traversals(Search) 그래프 순회(탐색) 정리 보통 그래프 문제에는 DFS(Depth-First Search)와 BFS(Breadth-First Search)가 있다. DFS는 깊이 우선 탐색이라 부르고 BFS는 너비 우선 탐색이라 부른다. - 컴공이라면 전공 시간에 배운다. 수리 논리, 이산수학, 계산이론 등 이러한 시간에 DFS, BFS에 대해서 배웠다. 나무 위키에 있는 것이다.. 이거를 보면 이해하기가 쉬울 것이다. 번호 순서대로 탐색을 진행한다. DFS는 위 그림에서 보이듯 마지막 노드까지 깊게 탐색을 한다. * 1, 2, 3 ... 등 숫자가 써져있는 동그라미를 노드라고 부른다. BFS는 위 그림에서 보이듯 넓게 탐색을 한다. - BFS는 최단경로를 알아내는데 쓰인다. 일반적으로 알고리즘 문제에서는 BFS 보다는 DFS를 많이 쓰이게 된다.. 2020. 8. 7.
[Python] 변수명 Naming Convention 파이썬에서는 네이밍 컨벤션은 어떻게 표현을 할까? 우선 네이밍 컨벤션에는 세 가지 방법이 있다. 대문자로 구별하고 소문자로 시작하는 카멜 케이스(Camel case) _ Lower Camel Case camelCase: int = 1 대문자로 구별하고 대문자로 시작하는 파스칼 케이스(Pascal Cse) _ Upper Camel Case CamelCase: int = 1 _로 구별하는 스네이크 케이스(Snake case) snake_case: int = 1 위처럼 세가지 방식이 있다. 보통 카멜 케이스(Lower Camel Case)는 자바에서 많이 쓰인다. 하지만, 파이썬의 경우에는 스네이크 케이스로 변수명을 선언하는 경우가 많다. 꼭 스네이크 케이스로 사용해야 할까? 그렇지는 않다. 파이썬에서 카멜 .. 2020. 8. 7.
[python] 증감연사자가 있다? 없다?? 여러 언어들을 사용할 때 자연스럽게 ++이나 --와 같은 증감 연산자를 사용하곤 한다. 증감 연산자는 간편하기도 하고 코드의 양을 줄여 줄 수 도 있는 기능을 하는데, python에서는 증감 연산자가 없다.. python에서 a++, a--처럼 사용을 하면 오류가 난다.. ㅠ python은 반복문의 형태만 봐도 증감 연산자가 없다는 것을 눈치챌 수 있다. for(int i=0; i 2020. 7. 4.
[python] sorting Key Functions총 정리 [python 공식 문서] Sorting HOW TO — Python 3.8.4rc1 documentation Sorting HOW TO Author Andrew Dalke and Raymond Hettinger Release 0.1 Python lists have a built-in list.sort() method that modifies the list in-place. There is also a sorted() built-in function that builds a new sorted list from an iterable. In this documen docs.python.org sort와 sorted는 정렬 시 비교 기준이 되는 key parameter를 가질 수 있다. sorted("Th.. 2020. 7. 4.