전체 글

개발은 좋은데 뭘로 개발할까
Android/Flutter

[Flutter] 3. TextField 위젯 - 입력텍스트와 underline 간격 줄이기

플러터의 TextField 위젯을 기본값으로 실행시키면 다음과 같은 모습으로 나온다. 빨간색 네모로 표시한 부분을 보면 곡 제목과 그 아래 밑줄 사이의 간격이 꽤 넓다. 이 간격을 줄이는 방법을 알아내기 위해 구글을 미친듯이 검색했고, 플러터 공식 API 문서도 열심히 뒤졌다. 그리고 직접적인 답은 찾지 못했지만, 검색해서 얻은 정보들을 조합하여 답을 알아냈다... 저 간격을 조정하려면 TextField위젯의 decoration 속성에 TextInputDecoration() 객체를 설정하여 달아주어야 한다는 것을 검색을 통해 알게되었다. 그리고 안드로이드 스튜디오를 이용하여, 저 TextInputDecoration() 객체에 설정할 수 있는 모든 속성을 샅샅히 살펴본 결과 contentPadding 이라..

알고리즘 (PS)/BOJ

[백준] 15815 - 천재 수학자 성필

https://www.acmicpc.net/problem/15815 15815번: 천재 수학자 성필 길이가 100이 넘지 않는 수식이 예제 입력과 같이 공백 없이 입력된다. 수식은 0부터 9까지의 숫자와 연산자 '+', '-', '*', '/' 로만 이루어져 있다. 또한, 수식의 계산 중간 과정의 모든 결과는 항상 2 www.acmicpc.net 동아리 알고리즘 스터디의 멘토로서, 스택 연습문제 추천을 위해 스택 문제를 찾던 중 후위연산식 문제와 유사한 문제를 발견하여 풀어보았다. 후위연산식 문제가 중위연산식 문제를 후위연산식으로 고치는 문제라면 이 문제는 후위연산식을 보고 그 값을 계산한 결과를 출력하는 문제이다. 처음에는 소수점 부분에 이상하게 얽메여서 삽질을 좀 했지만, 중간 계산 결과가 항상 정수..

알고리즘 (PS)/BOJ

[백준] 2342 - Dance Dance Revolution

https://www.acmicpc.net/problem/2342 2342번: Dance Dance Revolution 입력은 지시 사항으로 이루어진다. 각각의 지시 사항은 하나의 수열로 이루어진다. 각각의 수열은 1, 2, 3, 4의 숫자들로 이루어지고, 이 숫자들은 각각의 방향을 나타낸다. 그리고 0은 수열의 마 www.acmicpc.net solved.ac의 class5 문제를 보던 중 시도해보게 된 DP 문제 Dance Dance Revolution의 풀이과정을 정리한다. 매우 비효율적으로 풀게 되었지만, 우선은 3차원 DP테이블로 DP문제를 푸는 경험을 해봤다는 것으로 만족하고자 한다. 이 문제를 보고 제일 먼저 떠오른 풀이는 그리디하게 매 순간 가장 가까운 위치의 버튼을 누르는 것이었지만, 지..

Android/Flutter

[Flutter] 3. TextField 위젯 - 폼(Form) 입력값 유효성 검사하기

* 플러터를 원문 공식 문서 (https://flutter.dev/docs)를 읽으면서 공부하는 과정에서 정리하고자 작성하는 포스팅으로 저는 플러터 실무 개발 경력이 없는 대학생인 점을 미리 밝힙니다. * 추가로 오준석의 플러터 생존코딩 및 제 개인 경험을 참고하여 작성하고 있습니다. * 오역, 오탈자, 잘못된 내용의 지적은 항상 감사히 받겠습니다 :) 이번에는 TextField 위젯의 입력값의 유효성을 검사해보겠습니다. 먼저 TextField 위젯은 사용자로부터 키보드 입력을 받는 기본적인 위젯입니다. 제가 진행중인 프로젝트에서 TextField 위젯을 사용한 모습입니다. 몇가지 설정을 해주어서 기본 모습과는 다른 디자인이지만 이렇게 입력을 받는 위젯입니다. 곡제목, 가수를 입력받는 곳에 사용된 위젯이..

개인 프로젝트/[2021] 코드악보 공유APP

9. 플러터로 프로젝트 이전 (2) - 플러터(flutter) 와 DB 연결하여 데이터 추가하기&가져오기 (with PHP)

지난 번엔 플러터로 내가 만든 서버와 앱을 연결하여 DB에서 테스트로 데이터를 하나만 가져와서 표기해보았다. 이번에는 테스트로 가져온 데이터 리스트를 ListView에 담아 보기 좋게 정렬하고, 핸드폰의 UI를 조작하여 새로운 악보를 DB에 원격으로 추가하도록 하였다. 이때 DB조작을 위해 사용한 코드가 기존코드와 달라서 조금 애를 먹었다. 백엔드에서 사용하는 코드도 조금 수정해야 했다. 우선 앱의 메인 코드는 다음과 같다. class _MainFrameState extends State { var _selectedIndex = 0; List _bodyWidgets = [ SearchSheet(), Text("1"), Text("2"), ]; List _appBarWidgets = [ AppBar( ti..

개인 프로젝트/[2021] 코드악보 공유APP

8. 플러터로 프로젝트 이전 (1) - 바텀네비게이션, 검색UI, http통신

프로젝트를 플러터로 이전하기로 마음먹었다. 그 이유는 책을 보면서 안드로이드 네이티브개발을 하는데 많은 어려움을 느꼈기 때문이다. 1. intent, context 등 아직은 이해가 되지 않는 모호한 개념들 2. 내가 원하는대로 디자인이 되지 않는 뷰 UI 3. xml파일과 java 파일의 별도 관리의 복잡함 특히 2번이 제일 답답했다. 내가 원하는대로 디자인이 되지 않는 부분에서 제일 스트레스를 받았다. 색을 설정해도 색상이 입혀지지 않거나, 안드로이드 스튜디오에서 보는 모습과 실제로 나온 앱이 다르게 나오는 경우도 있었다. 그렇게 '악보 뷰어 페이지'를 만들다가 1학기가 개강하면서 안드로이드 공부도 손을 놓게 되었다. 2학년 1학기가 종강하고 집에 있던 flutter 책을 한번 읽어보기로 했다. 그리..

Android/Flutter

[Flutter] 2. 플러터의 위젯 & MaterialApp, Scaffold, AppBar 위젯

* 플러터를 원문 공식 문서 (https://flutter.dev/docs)를 읽으면서 공부하는 과정에서 정리하고자 작성하는 포스팅으로 저는 플러터 실무 개발 경력이 없는 대학생인 점을 미리 밝힙니다. * 추가로 오준석의 플러터 생존코딩 및 제 개인 경험을 참고하여 작성하고 있습니다. * 오역, 오탈자, 잘못된 내용의 지적은 항상 감사히 받겠습니다 :) 이번 포스팅부터는 플러터에 대해 근본적인 부분부터 공부해보고자 합니다. 그 시작으로 '위젯'에 대해 공부한 내용을 정리하고자 합니다. 원본 문서는 아래와 같습니다. https://flutter.dev/docs/development/ui/widgets-intro Introduction to widgets Learn about Flutter's widgets..

알고리즘 (PS)/BOJ

[백준] 1918 - 후위 표기식

https://www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 A~Z의 문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 수식 www.acmicpc.net 문자열처리 문제처럼 보였지만, 의외로 자료구조 문제였다. 아이디어를 구상하고 구체화, 테스트하는데 30분, 코드로 구현하는데 30분 정도 걸린 것 같다. 문제를 이해하는데 큰 어려움은 없었다. 풀이 아이디어 이 문제를 푸는데 중요한 것은 아래 2가지를 떠올리는 것이다. 1. '우선 순위가 높은 연산자를 먼저 처리한다' 2. 괄호 내부의 연산은 괄호 외부와 문제 풀이 구조가 동일하다 = 재..

Android/Flutter

[Flutter] 1. 플러터로 만드는 첫 번째 앱 (4) - 새 창에 저장한 이름 보여주기

* 플러터를 원문 공식 문서 (https://flutter.dev/docs)를 읽으면서 공부하는 과정에서 정리하고자 작성하는 포스팅으로 저는 플러터 실무 개발 경력이 없는 대학생인 점을 미리 밝힙니다. * 추가로 오준석의 플러터 생존코딩 및 제 개인 경험을 참고하여 작성하고 있습니다. * 오역, 오탈자, 잘못된 내용의 지적은 항상 감사히 받겠습니다 :) 이 포스팅 역시, 아래 게시글의 내용을 기본으로 합니다. https://codelabs.developers.google.com/codelabs/first-flutter-app-pt2#5 첫 Flutter 앱 작성, 2부 | Google Codelabs Flutter는 하나의 코드베이스를 사용해 모바일, 웹, 데스크톱을 대상으로 아름다운 네이티브 컴파일 애..

Android/Flutter

[Flutter] 1. 플러터로 만드는 첫 번째 앱 (3) - ListTile에 아이콘을 추가하여 이름 저장하기

* 플러터를 원문 공식 문서 (https://flutter.dev/docs)를 읽으면서 공부하는 과정에서 정리하고자 작성하는 포스팅으로 저는 플러터 실무 개발 경력이 없는 대학생인 점을 미리 밝힙니다. * 추가로 오준석의 플러터 생존코딩 및 제 개인 경험을 참고하여 작성하고 있습니다. * 오역, 오탈자, 잘못된 내용의 지적은 항상 감사히 받겠습니다 :) 이 문서의 내용은 https://codelabs.developers.google.com/codelabs/first-flutter-app-pt2#3 첫 Flutter 앱 작성, 2부 | Google Codelabs Flutter는 하나의 코드베이스를 사용해 모바일, 웹, 데스크톱을 대상으로 아름다운 네이티브 컴파일 애플리케이션을 개발하기 위한 Google의..

에버듀
Blog. 에버듀