daldalhanstory의 등록된 링크

키자드에 등록된 총 337개의 포스트를 확인하실 수 있습니다.

Tistory

Android/ kotlin 코틀린 변수와 함수 정리(1) / 데이터 타입과 문자열, lateinit, lazy등등 # TIL 58

플러터를 사용하면서 동시에 코틀린을 공부하려고 한다. 하이브리드 앱이 대세라고 하지만, 주 언어로 네이티브를 가져가고 싶은 욕심이 커서 동시에 공부 중이다. 역시 나는 do it 책에서 헤어 나오질 못한다.. 너무 정리가 잘되어 있다. 책에서 배운 내용을 정리하고자 한다. 출처는 do it 깡샘의 안드로이드 앱 프로그래밍 with 코틀린에서 가져왔다. 코틀린의 변수와 함수 1. 변수 선언 코틀린에는 크게 두가지의 변수 키워드가 있는데 var(value)와 val(variable)이다. 언뜻 보면 비슷하지만, 둘은 엄연히 다르다. val 같은 경우는 초깃값이 할당 되면 바꿀 수 없는 변수를 선언할 때 사용하고, var는 초깃값을 할당해도 추후에 바꿀 수 있는 변수를 선언할 때 사용한다. 코드는 아래와 같다..

Tistory

Android / Kotlin An exception occurred applying plugin request [id: 'com.android.application'] 오류 해결법 TIL # 59

flutter 공부를 하면서, 따로 코틀린을 오랜만에 실행 중에 오류가 발생했다. An exception occurred applying plugin request [id: 'com.android.application'] > Failed to apply plugin 'com.android.internal.application'. > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. You can try some of the following options: - changing the IDE settings. - changing the JAVA_HOME environment variable. - changing ..

Tistory

Flutter / dart 네이게이션 탭바 DefaultTabController/ TabBarView/ TabBar/ Tab 사용법 TIL # 55

안드로이드 네이티브 개발자들에게는 익숙한 바텀 내비게이션 탭 바에 대해서 글을 작성하려고 한다. 갓러터에서 이와 비슷한 패키지가 있다. 따로 외부에서 가져오지 않아도, 내부 패키지에 있기 때문에 그대로 사용해도 된다. 바로 DefaultTabController이다. 위에 사진은 내가 간단한 프로젝트를 위해 사용한 탭이다. 위와 같은 탭바를 코드로 살펴보자. 사용법 나같은 경우는 main.dart에서 맨 처음 앱 화면에서 사용하기 때문에 (보통 이런식으로 한다) Scaffold를 DefaultTabController로 감싸준다. return DefaultTabController( length: 3, child: Scaffold( ... ) ... ); length는 총 아이템에 개수를 이 메서드에게 알려주..

Tistory

android Studio 한글 입력 안되는 오류 (영어만 되는 경우)/ 두꺼운 커서가 뜨는 경우/ insert 모드 같은 경우/ IdeaVim 플러그인 오류 / TIL # 56

참으로 기이한 일이다. 이 오류로 오전 시간을 다 까먹었다. 요즘 여러 플러그인을 설치하면서 재미를 느끼는 와중에 아래 영상과 같은 오류가 떴다. 각 다트별로 화면에 들어가면, 흰색 두꺼운 커서가 뜨면서 한글 입력이 안 되는 것이다. 웃긴 거는 영어로 입력한 뒤에 한글을 입력하면 해결이 되었는데, 매번 이런식으로 불편을 겪고 싶지 않았다. 일단 원인이 뭔지 모르는 상황이었는데, 다행히 해결책을 찾았다. 우선 저 두꺼운 커서는 아래와 같이 없애준다. 맥 기준으로 preferences 위에 녀석을 해제하면 두꺼운 블락이 사라진다. 그렇다면 한글이 안쳐지는 원인은 무엇일까? 찾아보니 이 녀석이 문제였다. 이유는 정확히 모르겠으나, 이 ideaVim이라는 플러그인을 비활성화하니 한글이 정상적으로 나오는 것을 확..

Tistory

flutter / dart / AnimatedContainer in Dialog 사용법 다이얼로그를 둥글게 애니메이션 처리하기 TIL # 52

오늘은 애니메이션 처리에 대해 글을 쓰려고 한다. 여러 유용한 패키지가 있었지만, 기존 flutter가 가지고 있는 AnimatedContainer를 한번 사용해 보려고 한다. 우선 flutter ui가 나는 아직 미숙하므로, 조잡한 예시를 보여주겠다. 정말 조잡하다. 하지만 실전에서는 아래와 같이 사용했다. 위에 방법은 기본적인 코드만을 짰기 때문에 나온 것이다... 아래 영상처럼 사용할 수도 있겠다. 헤헤 내가 만들었다. 물론 Gif를 사용하는 패키지를 포함시킨 거라 중간중간 Duration을 삽입하는 애를 많이 먹었다. 그렇다면 코드를 보자 사용법 우선 dart파일 두 가지를 준비한다. main.dart이다. import 'package:flutter/material.dart'; import 'an..

Tistory

Flutter/Dart GIF를 앱 상에서 실행시켜보자. GifController 사용법 TIL # 53

최근에 배운 게 많아 벌써 하루에 두 개의 글을 쓴다. 이번 기능은 생각보다 어렵지 않기 때문에 금방 끝내려고 한다. 이번 기능은 저번 예제에서 사용했던 AnimatedContainer와 연동해서 사용한 예제를 보여주려고 한다. 예제라기보다는 어떻게 사용하는지 말이다. (예제 코드 만드는 게 여간 힘들다...) 우선 Gif 파일을 준비 해준다. gif는 구글에 치면 많이 나온다.. 아래와 같은 기능을 할 것이다. AnimatedContainer 기능은 저 사각형의 다이얼로그를 동그랗게 shape 할 때 사용하였는데, 방법은 이전 글에 있으니, 우선 이 것부터 보고 오면 좋을 듯싶다. 2021.09.16 - [Programing/Android Studio With Flutter(Dart)] - flutte..

Tistory

Flutter/dart MediaQuery를 써야하는 이유 by 코딩파파 / TIL # 54

회사에서 다음 앱을 출시하는 동안, 앞으로 많이 사용하게 될 MediaQuery에 대해 공부한 내용을 적는다. 유튜브 코딩 파파를 참고했다. MediaQuery 반응형의 따른 앱 내의 패키지이다. css에서 쓰인다. 보통 디바이스마다 가로나 세로 길이가 다르기 때문에 앱에 사이즈에 맞는 가로나 세로의 값을 가져오는 것이 일반적이다. 보통의 사용법 MediaQuery.of(context).size.witdh //앱 디바이스의 가로길이 MediaQuery.of(context).size.height //앱 디바이스의 세로길이 보통 다이얼로그나 혹은 사이즈를 넣어줘야 하는 Container나 Text 등등, 앱마다 각각 다른 사이즈로 화면에 표시된다. 그래서 위와 같은 사이즈를 두어, 디바이스의 크기에 대한 대..

Tistory

Android Studio with Flutter / general error during semantic analysis: unsupported class file major version 60 에러 해결 및 Mac에서 자바 환경변수 적용하는법 TIL # 50

늦게까지 회사에서 공부한 뒤 방금 줄넘기 2000개를 마치고, 샤워를 하고 나왔다. 회사에서 오늘 회의를 밤늦게 하는 바람에 오늘 배운 내용을 적을 수는 없어.. 시간도 늦고 간단하게 오늘 자바 환경변수 설정에서 헤매던 도중 알게 된 오류 해결법을 올려두겠다. 해결법 general error during semantic analysis: unsupported class file major version 60 이러한 오류가 떴다. 이 오류는 아직 gradle이 자바 16 버전을 지원하지 않는 뜻이라고 한다. 그러므로, 자바 15 버전을 다운로드하여 적용하면 된다. 너무 간단히 끝났다. 그렇다. 이렇게 하면 된다. 뭐 추가로 다운받는법과 환경변수를 추가하는 방법도 올리겠다. https://www.oracle..

Tistory

flutter/dart 앱 내의 음악을 재생할 때, 외부 음악 끄고, 다시 실행하기/ flutter sound TIL # 51

참으로 오랜만에 글을 쓴다. 오랜만에 글을 쓴다는 말도 자주 사용하는 말이다. TIL은 매일매일 써줘야 하는데 최근에 회사 업무에 집중한 나머지.. 역시나 아직 나는 부족한가 보다. 오늘은 flutter에서 외부 음악(유튜브 음악, 멜론 음악)이 재생될 때, 앱 내에서의 재생(음성, 음악)을 실행하면, 외부음악이 잠시 꺼지고, 앱 내의 음악이나 음성을 모두 다 재생하고 끝냈을 때, 외부 음악이 다시 켜지는 이 복잡한 과정을 컨트롤할 수 있는 패키지를 소개하겠다. 첫 번째 패키지는 https://pub.dev/packages/audio_session audio_session | Flutter Package Sets the iOS audio session category and Android audio at..

Tistory

휴대폰

제목:휴대폰 알차게 일을 하고 샤워를 마치고 일기를 쓰고 있다. 채팅 부분도 마무리에 다다른다. 마지막 리스트를 불러오는 부분에서 약간 어려움을 겪고 있다. 내일 성준님과 작업을 합치게 되는데, 합치고 난 뒤에도 많은 시간이 걸릴 거라 예상이 되어 걱정이 된다. 내일 아침 일찍 나갈 생각이다. 오늘 퇴근하고 오면서, 삶의 개선을 하나 이루어냈다. 바로 사거리에서 집까지 걸어오는 것이다. 간단하지만, 생각보다 운동이 되는 듯하다. 일을 다니다 보니 운동할 시간도 없고, 먹는 양을 줄이고, 걸음을 늘여가는 전략을 생각한 것이다. 오는 길에 휴대폰 플래시를 켜면서 책을 읽으면서 왔다. 생각보다 책 읽을 수 있는 시간이 많이 확대되었다. 최근에 읽고 있는 '혼돈의 시대 리더의 탄생'은 프랭클린 루스벨트, 링컨,..

Tistory

무한 동력

제목:무한 동력 오 요즘 화성에서 매일 일기와 개발 블로그를 꾸준히 쓰던 그 시절이 기억이 난다. 그로부터 벌써 3달 정도 지났다. 숫자로 보면 얼마 안됬지만, 체감 시간은 꽤나 오래 지난 듯하다. 인생은 짧으면서도 길다. 참으로 모호하다. 오늘도 사거리에서 집까지 걸어오면서 플래시를 켜고 책을 읽으며 귀가했다. 이 습관은 정말로 좋은 것 같다. 민규 님과 성준 님과 함께 오면서도 잠깐에 이야기를 나누고 곧바로 책을 읽었다. 요즘 책 읽는 여유가 없다고 생각했는데, 여유는 사실 내가 만들 수도 있었는데 만들지 않았구나라는 생각이 들었다. 내가 틈틈이 짬을 내서 시간을 할애할 수 있는 것인데 말이다. 이 일기를 쓰고, 씻은 뒤에 조금 책을 읽을 생각이다. 내일이면 성준 님과 협업했던 채팅 개발도 막바지에 ..

Tistory

flutter/dart pubspec.yaml를 이용해서 현재 앱 버전 정보 가져오기 TIL # 49

오늘 하루도 마무리하면서 알게 된 내용을 정리해보려고 한다. 이 글을 다 쓰고 난 뒤에는 패스트캠퍼스 강의를 하나 들을 생각이다. 회사에서 운영중인 패스트 캠퍼스 아이디라.. 이번에 처음 써보게 되는 거라 설렌다. 우선 역시나 지금 앱을 개발하면서 앱 버전 정보를 가져오려 했으나, 안드로이드에서 앱 버전, 아이폰에서 앱 버전을 각각 가져와야 한다는 에러가 발생했다. 기존에는 이 패키지를 사용하였다. https://pub.dev/packages/package_info_plus package_info_plus | Flutter Package Flutter plugin for querying information about the application package, such as CFBundleVersion..

Tistory

Flutter/Dart 리스트 슬라이드 로딩 구현 SmartRefresher 사용법 / Refresh 새로고침 구현 하기 TIL # 47

요즘 뜻대로 코드가 잘 짜여서 기분이 좋다. 오늘은 회사앱에도 적용 SmartRefresher이라는 패키지에 대해서 소개해 볼까 한다. https://pub.dev/packages/pull_to_refresh/install pull_to_refresh | Flutter Package a widget provided to the flutter scroll component drop-down refresh and pull up load. pub.dev 우선 이곳에 smartRefersher를 dependencies에 추가시켜주자. dependencies: pull_to_refresh: ^2.0.0 다음은 홈페이지에서 가지고 온 예제이다. 주석 처리를 하면서 천천히 설명을 하는 시간을 가져보고자 한다. 그렇다..

Tistory

Mac 안드로이드 스튜디오 한글 깨짐 현상 해결법 / TIL # 48

오늘은 조금 늦게 들어왔다. 그래도 글을 써보자. 시간도 없고, 오늘은 이 녀석 때문에 시간 좀 잡아먹어서 똑같은 실수를 반복하지 않기 위해 글을 써본다. 맥에서 갑자기 귀여운 여우 버전으로 업데이트를 하라길래 바로 업데이트를 했다. https://android-developers.googleblog.com/2021/07/android-studio-arctic-fox-202031-stable.html Android Studio Arctic Fox (2020.3.1) Stable Posted by Amanda Alexander, Product Manager, Android We are excited to announce that Android Studio Arctic Fox is now availa... ..

Tistory

늦은 밤에도

제목:늦은 밤에도 늦은 밤에도 코딩은 안 했지만, 오늘 배운 개발 내용을 정리했다. 늦더라도 일기는 쓰고 자자. 나에게 일기란 오늘 하루를 반성하고자 하는 마음을 담은 글이다. 오늘 나는 나태했는가이다. 오늘 나는 늦잠을 잤다. 이것은 반성할 일이다. 오늘 나는 살이 좀 찐것같아서 점심을 적게 먹었지만, 저녁을 많이 먹고 오는 길에 떡볶이 1인분을 먹었다. 이건 좀 반성하자. 살이 점점 찐다. 이제는 무섭다. 늘어나는 살이. 이 정도로 살찐 적이 없었기 때문이다. 확실히 오래 앉아있으면서, 많이 먹으니까 이렇게 되는 것 같다. 식단만 잘 관리해도 이러진 않을 것 같다. 아.. 적당히 조절해야 할 것 같다. 내일부터는 학식을 먹자. 밖에서 사먹는 건 너무 비싼 것 같기는 하다. 돈을 최근에 많이 쓴 것도 ..

Tistory

찬물 샤워 10일차

음... 확실히 상쾌하다. 사실 오늘 개발 글을 쓰려고 했는데.. 아.. 너무 늦어버렸다.. 이제는 회사일이 끝나는 6시 7시부터 개발 글을 써야겠다. 지금은 소피스에서 채팅 부분에서 작업할 것이 많아서, 쉽사리 내 글을 쓰기가 어렵다.. 방법이 있다. 일찍 가는 것이다. 일찍 가서 시간을 더 개발에 투자하고, 나머지 시간에 개발을 하는 것이다. 찬물 샤워에 대한 글을 쓰려했는데, 어쩌다 보니 일기 같이 되고 있다. 이왕 말한 거 계속 이어 나간다. 취업을 하기 전에 일이 끝나고 개발 블로그나, 나만의 앱을 만들 수 있을까? 라는 생각을 했었는데 그 걱정이 현실이 되었다. 하지만, 방법은 있다. 내가 시간을 적절히 잘 쪼개서 쓰면 된다. 그게 관건이다.. 아무튼 나는 찬물 샤워 10일 차이다. 확실히 나..

Tistory

Flutter/dart 플러터 sqlite package 간단한 사용법 / 내부 디비/ TIL # 45

참고 문헌 https://flutter-ko.dev/docs/cookbook/persistence/sqlite SQLite에 데이터 저장하기 로컬 디바이스에 많은 데이터를 저장하고 쿼리를 요청해야 한다면, 로컬 파일이나 키-값 저장소 대신 데이터베이스를사용해보세요. 일반적으로 데이터베이스는 다른 로컬 솔루션보다 더 빠른 flutter-ko.dev 마침내 오랜만에 글을 쓰게 되었다. 오늘도 채팅 작업을 잘 마무리하고 그동안 유용하게 써왔던, sqlite에 대한 사용법을 작성할 생각이다. 9시 50분에 차를 타고 퇴근을 해야 하기 때문에 다소 간략하게 쓸 수도 있지만, 집에 가서도 쓰면 되니 뭐.. 간단하게 내부 디비를 왜 써야 하는지 설명하겠다. 내부 데이터베이스(sqlite)의 필요성 보통 우리는 데이터..

Tistory

flutter/dart sort 간단한 설명 / List 정렬하기 TIL # 46

flutter 공부 한창이다. 오늘 사용한 함수는 sort라는 함수이다. 보통 List 함수에 있는 리스트의 여러 인자들을 오름차순이나 내림차순으로 정렬하기 위해 사용된다. 기본 적인 사용 방법을 보자. 사용법 int type 오름차순 void main(){ List numbers = [400, 59, 13, 7264]; numbers.sort(); print(numbers); } numbers라는 배열에다가 그냥 sort() 함수를 사용하면, 작은 인자부터 큰 인자까지 배열을 바꾸어 준다. //numbers = [13, 59, 400, 7264]; 그러면 반대로 내림차순을 알아보자. int type 내림차순 void main(){ List numbers = [400, 59, 13, 7264]; numb..

Tistory

오늘 하루

제목:오늘 하루 으흠.. 오늘 하루를 잘 보낸 것 같다.. 회사에서 이제 sqlite를 배웠으니, 채팅 단에서 응용해볼 차례이다. 오늘 잠깐 Stream과 채팅 단락에 로직을 훑어보았다. 어려운 부분도 있었지만 생각보다 빠르게 파악을 하였다. 아마도 새로 넣을 로직을 짜는 것이 관건이긴 할 것 같다. 이 부분을 조금 마무리하고 내일은 sqlite에 대해서 글을 쓰면 좋을 것 같다. 회사에서 밥을 먹고 나서 공부를 하려고 하면 집중이 잘 되지는 않는다. 그나마 무엇을 정리할 시간이 있긴 하지만, 그 마저도 서둘리 해야지 집에 그나마 일찍 가게 된다. 뭐 사실 일찍 가든 말든 상관은 없지만 말이다. 아까 뉴스를 보았는데 요즘 카카오나 네이버 그리고 스타트업에서 많은 노동 시간을 요구하고 임금도 적게 준다는 ..

Tistory

정체는 없다.

제목:정체는 없다. 퇴근하고 오며 오늘도 동기부여를 다진다. 다시 피게 된 담배를 끊은 지 다시 한번 10일 차가 되었다. 이제는 가뿐하다. 패치의 힘은 대단한 것 같다. 개발 블로그를 운영하고 싶지만, 현재 배울게 많아 잠시 쉬고 있다. 우선 회사에 코드를 숙지하는데 우선으로 둔다. 이런식으로 개발을 하면 늘을까?라는 걱정이 있었다. 그래서 유튜브에서 관련 영상을 보고 힘을 얻었다. 영상을 보니 자신의 실력이 정체되어 있는 느낌을 받을 때, 서둘러서 빠르게 성장하려는 욕심을 버리고, 항상 하던대로 하던가 바꿔서 해보던가.. 어떤 방법이든 좋으니 계속 시도하라는 것이다. 어느 순간 뒤돌아보면 실력이 바뀌어 있는 자신을 볼 거라고 말이다. 나의 실력을 의심하지 않고, 나를 계속 관찰하면서, 여러 방법을 시..

Tistory

Flutter/Dart 선택인자와 이름 있는 인자/ positional optional parameter && named optional parameter TIL # 43

출처 책 (처음 배우는 플러터 - 유동환) 오늘 알아볼 것은 flutter에서 사용하는 Dart의 장점 중에 장점 역할을 맡고 있는 녀석을 소개한다. 선택 인자와 이름 있는 인자이다! 1. 선택인자(positional optional parameter) 이름이 상당히 깁니다. 선택인자는 자신이 선택할 수 있는 인자입니다. 한 마디로 이 인자를 선택해도 되고, 안 해도 되는 것입니다. 예제를 보면서 살펴 보겠습니다. //선택인자(positional optional parameter) int num1 = 100; int num2 = addNumber(100) //inc = 1 대입 int num3 = addNumber(100, 20) //inc = 20 대입 // 넣은 인자 값들을 더해서 int 값으로 반환..

Tistory

flutter/Dart SingleTon 싱글톤에 대해서 알아보자 / TIL # 44

요 며칠 동안 행복한 플러터 세상에 살아가는 중이다. 예전에 코틀린이나 자바를 사용할 때도 싱글톤 패턴이라는 말을 익히 들었지만, 무지한 상태에서 싱글톤이라는 단어는 나에겐 이해하기 어려운 단어였다. 그래도 지금은 실무에서 사용했고, 어느 정도 이해하였기 때문에 포스팅을 해보려고 한다. 참고 자료 https://another-light.tistory.com/77 [dart] what is factory? | 싱글톤 패턴 singleton pattern class what is factory? flutter에서 모델 클래스를 만들 때 아래 같은 코드가 자주 사용된다. 그런데 factory라는 것을 dart에서 처음 봤다. factory 키워드는 무엇이고 어떤 역할을 할까? class Book { final..

Tistory

찬물 샤워 2일차 Cold Therapy 2day

최근에 유튜브 영상을 보는데 한 할아버지가 히말라야? 얼음 산맥에서 맨몸으로 아무렇지 않게 돌아다는 것을 보았다. 들어보니 기네스 북에 오르신 할아버지인데 사람들이 많이 사망하는 이유 중에 하나가 심혈관 질환이고, 그 심혈관 질환 예방하기 위해서는 몸을 차갑게 해야 한다고 한다. 우리의 몸은 따뜻한 것을 원하고, 나른한 걸 원하고, 편한 것을 원한다. 그러면서 우리 인간은 점점 나약해지고, 병에 쉽게 노출된다는 말을 하셨다. 많은 생각이 들었다. 나 또한, 게으름이 강하고, 몸이 나른한 것을 좋아하고, 따뜻하게 샤워하는 것을 좋아한다. 이 할아버지는 하루에 한 번도 좋고, 30초도 좋고, 따뜻한 물로 샤워하다가 찬물로 바꿔도 좋으니, 찬물샤워를 강조하셨다. 누군가는 인생이 바뀌었고, 삶이 바뀌었고, 자신..

Tistory

Android Flutter Provider 패키지 정리/ feat.Consumer TIL # 41

참고 블로그 https://terry1213.github.io/flutter/flutter-provider/ [Flutter] Provider를 통해 상태 관리하기 Flutter를 통해 개발을 진행하다보면 상태(State) 관리가 매우 중요하다는 것을 느낄 수 있다. terry1213.github.io 예전에 내가 약간 난독이 있어나 보다. 이해가 별로 되지 않아서 그런가? 어려운 공식문서나 누가 가독성 어렵게 설명해 놓은 글을 제대로 읽지 못해 여간 스트레스를 받고 있었다. 아무래도 가독성인 듯하다. 누가 flutter Provider에 대한 글을 너무 잘 써두어서 읽기가 너무 편했다. 일단 pub.dev에서 provider을 설치해보자. https://pub.dev/packages/provider p..

Tistory

안드로이드 플러터 StatelessWidget와 StatefulWidget의 생명주기 TIL # 42

저번 주에 과음을 많이 해서 그런가 항문 옆에 조그마한 혹이 났는데, 그냥 괜찮겠지 하다가 어제 병원을 가보니 치루라고 한다... 오늘 바로 아침 9시에 수술을 받고 현재 병실에서 코딩 공부 중이다. ... 앞으로 항문 관리를 잘하자... 더티한 얘기는 그만하고, 오늘 배워본 생명주기에 대해서 정리해보려고 한다. StatelessWidget Stateless는 단순히 build 된 것을 단순히 return 해주기만 해서 생명주기가 제공되지 않는다. 오호 그렇다면 바로 StatefulWidget으로 넘어가 보자. StatefulWidget StatefulWidget.createState() 상태를 생성, 이 메서드를 제외하고 나머지는 모두 State 클래스에 있다. mounted == true mounte..

Tistory

나를 죽인다.

제목 : 나를 죽인다. 정말 오랜만에 글을 써본다. 핑계되기는 싫지만 그동안 정말로 바쁘긴 했다. 아침 10시부터 밤 9시 30분까지 하루도 빠짐없이 회사에서 일이 끝나고 밤에 공부를 하고 있다. 요즘 살아 있음을 오랜만에 느낀다. 내가 변태인지는 모르겠으나, 나에게 고통을 주는 그 과정이 너무 뿌듯하고 좋다. 오히려 그런 마음으로 나를 괴롭히며, 성장하는 것이 내가 살아가는 이유일지도 모르겠다. 더 발전하고 싶다. 회사에는 좋은 사람들이 많다. 그중에서도 개발자 분들이 있어서 너무 좋다. 더 좋은 건 나보다 경험도 많고 실력도 좋다는 것이다. 나는 더 효율적으로 배울 수 있다는 사실이 너무 좋은 것이다. 그들과 같은 실력을 지니고 싶다. 혹은 그 이상이 되고 싶은 마음이 가득하다. 오랜만에 티스토리 글..

Tistory

Android/Flutter Dart / const와 final / Compile time과 Run time에 대해서 TIL # 37

요즘 꾸준히 플러터를 학습 중이다. 어느 정도 학습하고 간단하게 프로젝트를 만들어 봐야겠다. 오늘은 플러터에서 사용되는 const와 final에 대해서 알아보려고 한다. 우선 이 두 가지에 대해 알려면 컴파일 타임과 런타임에 대해서 알고 가야 한다. 1. Compile Time 컴파일은 보통 C언어나 자바 같은 객체지향 언어에서 소스코드가 작성되고, 컴퓨터가 인식할 수 있게 작성된 코드를 기계어로 변환하여 실행 가능하는 프로그램을 만드는 과정이라고 할 수 있다. 안드로이드 스튜디오에서는 이 버튼을 누르면 제일 첫 번째로 컴파일이 된다고 할 수 있다. 즉, 컴퓨터가 알 수 있게 기계어로 변환되는 과정이라고 할 수 있다. 2. Run Time 두 번째로는 런타임이다. 런타임은 컴파일 과정을 마치고, 응용 프..

Tistory

Android Flutter/ AndroidX Migration /안드로이드X로 마이그레이션 / 안드로이드X란 TIL # 38

한창 언어 공부와 다급하게 프로그래밍 공부를 하면서, 자주 보았던 AndroidX에 대한 이야기, 문서를 볼 줄도 몰라 어려워만 보였던 AndroidX에 대해 오늘 드디어 정리를 해보려 한다. AndroidX 란 AndroidX는 기존에 사용하고 있던 com.android.support.* 라이브러리(옛 라이브러리 들)들을 하나로 통합한 것이라고 설명할 수 있다. 더 자세히 말하자면, 안드로이드팀이 JetPack(여러 라이브러리들이나 여러 tool들을 묶어놓은 모음집) 내에서 라이브러리를 개발하거나, 테스트하거나, 패키지화나 버전 및 릴리스를 하기 위해 만든 오픈 소스 프로젝트이다. 결론은 기존에 있던 라이브러리들을 쓰기 좋게 통합한 것이라고 할 수 있다. 이 AndroidX를 사용하려면 Android ..

Tistory

Android flutter / zsh: command not found: flutter error 해결법 및 flutter version downgrade 하는 방법 TIL # 40

회사에서 사용하는 앱에 플러터 버전이 2.0.2라는 것을 들었고, 다운 그레이드를 해야 한다는 것을 알았다. 오늘 해볼 것은 다운그레이드 동시에 터미널에 플러터 설치 과정에서 환경변수 설정하는 법을 동시에 해볼 것이다. (다운그레이드 하는 김에..) 맥에서는 카탈리나 이후부터 환경변수를 bash파일이 아닌 zsh에서 설정해주어야 합니다. zsh: command not found: flutter error 해결법 터미널에서 환경변수를 설정할 때 위와 같은 에러가 뜰 것이다. 다음과 같이 해보자 터미널에 1. vim $HOME/.zshrc 라고 입력을 한다. 그러면 이런 식을 창이 뜰 텐데 그림처럼 플러터 bin에 경로를 저런 식으로 입력해준다. 입력하는 법은 간단하다. "I" 키보드를 누르면 Insert ..

Tistory

플러터를 배워가는 중

제목:플러터를 배워가는 중 새로운 회사를 들어가는 일도 얼마 남지 않았다. 많은 시행착오를 겪고, 이제는 새롭게 시작할 일만 남았다. 새로운 회사에서는 플러터를 요구를 했기 때문에, 현재 열심히 강의를 들으면서 공부 중이다. 다행인 건 생각보다 어렵지 않아서 즐기면서 배우는 중이다. 그러다 보니 한 번에 정리하지 못하고 요즘 글을 많이 못 쓴 것 같다. 게다가 최근에 오랫동안 보지 못했던 친구들을 보니, 시간적 여유가 많음에도 불구하고, 많이 접하진 않았다. 하지만, 플러터 책도 사고, 코딩 셰프 강의도 거의 다 들은 상태이다. 할 건 해두고 하는 스타일을 유지하고 싶다. 하지만 이렇게 주구장창 강의만 듣는 다고 실력이 늘지는 않는다는 것을 알고 있다. 프로젝트를 하나 하고 싶은데, 그전에 우선 회사에서..

Tistory

안드로이드 플러터 오류 / Cannot run with sound null safety because dependencies don't support null safety TIL # 36

아직 사실 나도 플러터에 대해 잘 모른다. 헤헤... 아직 로그인 기능 구현 정도 하는 단계라 Null Safety에 대한 공부는 아직 접근하지 않았지만, 오류 해결을 했으니, 기록이라도 하려고 글을 써본다. 플러터 Run을 하는 과정에서 위와 같은 오류가 떴다. Cannot run with sound null safety because dependencies don't support null safety 그대로 직역하면 "종속성이 null Safety를 지원하지 않기 때문에 사운드 null Safety로 실행할 수 없습니다." 여기서 먼저 간단하게 나마 Null safety에 대해 알아보자, 구글링을 해보니 간단하게 설명하자면, 기존에 변수가 널 값이나 혹은 타입에 따른 고유의 값을 가지고 있을 수 있..

Tistory

Android Kotlin 비동기 프로그래밍이란? 개념 이해 TIL # 33

이번에도 정대리님의 강의를 보고 공부한 자료입니다. 출처를 남깁니다. https://www.youtube.com/channel/UCutO2H_AVmWHbzvE92rpxjA 개발하는 정대리 한국에서 개발자로 살아남기! 예전에 저처럼 프로그래머가 되고 싶지만 그 길을 몰라 해매는 분들에게 도움 되고자 이 채널을 운영하기 시작했습니다. 프로그램에 관심 있는 분들이나 취업 준 www.youtube.com 비동기 프로그래밍이란 무엇인가?,,, 나중에 배워야지 나중에 배워야지 하면서, 계속 미루어두었던 개념이다. 어쩌면 이번 기회에 어느 정도 단디 배우고 가야겠다. 우선 간단히 말하자면, 동기란, 서버에 만약에 api를 요청하여 데이터를 받아올 때, A 작업을 다 완료해야지 B작업으로 넘어갈 수 있는 방식, 한마디..

Tistory

Android Kotlin 이미지 크롭 기능 간단하게 구현하기 Croppy 라이브러리 # TIL 34

오늘은 이미지 크롭 기능을 구현해 보려고 한다. 여러 크롭 라이브러리들이 있지만, 나는 이 라이브러리가 제일 심플한 것 같아서 사용을 해보았다. https://github.com/lyrebirdstudio/Croppy lyrebirdstudio/Croppy Image Cropping Library for Android. Contribute to lyrebirdstudio/Croppy development by creating an account on GitHub. github.com 이런 식으로 크기 영역을 원하는 식으로 조정할 수 있다는 장점을 가지고 있다. 한번 손쉽게 구현해보자. 우선 종속성을 넣어주자. 위에 사이트에 나와있는 대로 종속성을 추가해준다. 나도 아직 초보라서 잘 모르겠지만, 이렇게 종..

Tistory

Android Studio Flutter 첫 시작 간단한 개념정리 / StatefulWidget, StatelessWidget / TIL # 35

여자 저차 해서 Java -> Kotlin -> Flutter 순서대로 개발언어를 배우게 되었다. 점점 복잡해지는 느낌이지만 오히려 좋다. 더 폭넓게 배우기도 하고, 다른 언어도 같이 병행하면서 배우고 있어서 지루한 느낌이 없다. 아직은 배우고 있지만, 그래도 어느 정도 배운 것을 정리하는 차원에서 글을 써보려고 한다. 이 글을 쓰기전에 Flutter 설치 법을 쓰려고 했는데, 터미널 사용법에서 잠깐 막혀서 화나서 꺼버렸다 헤헤.. 설치가 중요하긴 한데, 이미 인터넷에 많은 자료가 나와 있으니, 내가 배운 것을 정리하는 것이 더 중요하다는 것을 파악했다. 우선 나 같은 경우는 코딩셰프님의 영상을 보며 익힌 점을 정리하므로, 출처는 남긴다. 정리 Widget 오늘 배운 것은 여러 가지이지만, 크게 두 가지..

Tistory

안드로이드 스튜디오 GitHub 오류 / 422 unprocessable entity - repository creation failed. [repository; description]custom: description control characters are not allowed TIL # 31

여느때와 다르지 않게 코드 작성 후 깃허브에 Push를 하는데, 갑자기 422 unprocessable entity - repository creation failed. [repository; description]custom: description control characters are not allowed 이러한 오류가 떴다. 내용으로 번역해보자면, 저장소에 "_" 이러한 문자를 쓰지 말라는 것 같아서, "_" 이 문자를 지워보니 해결되지 않았다.(레퍼지토리 제목을 Study_Sooyeol 이런식으로 했기 때문) 구글링을 해보니 바로 해결되는 사람도 있다고 한다. 어쩌면 좋을 지 생각 해보다가 알아낸 방법은 "_" 이러한 문자를 지우고, 맥은 Preferences로 윈도우는 settings로 들어가..

Tistory

Android Kotlin/ 단말기를 흔들었을때 호출되는 메서드 TIL # 32

미리 출처를 남깁니다. 요즘 개발하는 정대리님의 유익한 유튜브를 보면서 코틀린을 익히는 중입니다. 항상 감사합니다. 출처 https://www.youtube.com/channel/UCutO2H_AVmWHbzvE92rpxjA 개발하는 정대리 한국에서 개발자로 살아남기! 예전에 저처럼 프로그래머가 되고 싶지만 그 길을 몰라 해매는 분들에게 도움 되고자 이 채널을 운영하기 시작했습니다. 프로그램에 관심 있는 분들이나 취업 준 www.youtube.com 해결법 사실 직접적인 이해보다는 스택 오버 플로우에서 가져온 코드를 그대로 사용했다는 점이 크기 때문에 자세히 코드에 대해 이해하지는 못하고 있다. 중요한 흐름만 파악해놓은 상태에서 코드에 간략한 소개만 하겠다. 정대리님의 영상을 보고 나서, X, Y, Z 축..

Tistory

나는 잘하고 있다.

제목:나는 잘하고 있다. 회사 다닌 지 일주일이 지나고 있다. 아직 적응중이지만, 나쁘지 않다. 점점 내가 개발에 빠져들고 있는 느낌이 든다. 한편으로는 민폐가 되지 않을까 걱정이 되어, 오히려 조급한 마음에 더욱 집중하려는 경향이 있지만, 이 기분도 나쁘지 않다. 크진 않더라도, 꾸준히 도움이 되고 싶다. 오늘은 서버로 받은 api들을 가지고, ui에 뿌려주는 작업을 하기 위해 리사이클 러뷰를 구현하는 과정에서 시간을 많이 잡아먹었다. 자바로는 몇 번 해보았던 기능들이 코틀린에서는 생소할 뿐이었다. 애초에 사용법만 알지.. 왜 이렇게 되는지 깊이 이해하지 못한 내 탓일 수도 있겠다. 다행히 지금 자기 전 리사이클 러뷰에 대한 공부를 마치고, (이 정리는 내일 글로 쓸 예정이다.) 현재는 일기를 쓰고 있..

Tistory

안드로이드 코틀린 리사이클러뷰 사용법 #TIL 29

자주자주 사용하는 것들은 정말 나 또한 자주자주 적고 있다. 그 예를 든 것이 뷰 페이저와 리사이클러뷰인데, 최근에 코틀린 버전으로 뷰 페이저를 썼고, 저 두 가지는 이미 자바로 배운 것을 정리했다. 지금은 처음으로 코틀린으로 리사이클러뷰 사용법을 적어보려고 한다. 언어가 바뀌어도 어느 정도 이해를 해야 하는데, 내가 자바를 사용할 때도, 그리 리사이클러뷰에 대해서 잘 이해하지 못하고 넘어간 것 같다. 그래도 지금은 조금 진전이 있는 상태에서 리사이클러뷰(코틀린 버전)를 정리해보려고 한다. (홍드 로이드 님의 영상을 보고 참고했습니다.) 우선 라이브러리를 추가해주세요. dependencies { implementation "androidx.recyclerview:recyclerview:1.1.0" // ..

Tistory

안드로이드 코틀린 / lottie Animation을 이용해 인스타그램 하트기능 만들기/ TIL # 30

정말 오랜만에 글을 쓰게 된다. 취업하게 되면서 해야 할 것도 많고 이것저것 배우느라 정신이 없어, 집에 돌아와 작업을 하면서 이렇게 개인적인 공부 여유가 없어서ㅠㅠ 최근에 너무 힘들었지만, 이럴수록 더욱 짬 내서 내가 공부한 내용들을 기록해야 한다고 생각이 들었다. 정말 기억보단 내가 남겨놓았던 기록들이 더 장기기억으로 이어질 가능성이 있고, 궁금할 때 바로바로 찾아볼 수 있어서 장점이 많은 것 같다고 생각이 든다. 오늘은 인스타그램에 하트 기능을 애니메이션 형식으로 구현하는 방법에 대해서 알아보고자 한다. https://www.youtube.com/watch?v=1uOvP-6vpKU&list=PLgOlaPUIbynrDSTJxS8AaE-2zYvPCjWtF&index=7 개발자 정대리님의 영상을 참고하였..

Tistory

안드로이드 코틀린 뷰 바인딩 View Binding TIL #26

회사를 다니니 피곤해서 집에 오면 자고 싶고.. 그러지만.. 발전을 위해서 계속 초심을 가지고 정진을 해야 할 것이다. 아직은 코틀린에 대해서 부족한 것이 많아서, 자바를 처음 배웠을 때 마음가짐으로 임하려고 한다. 오늘은 findViewById로 항상 id값을 참조하여 자바 코드를 작성하였는데, 이제 효율성을 위해 코틀린 코드를 이용해서 뷰 바인딩을 사용해 보려고 한다. 사실 자바 코드를 사용할 때, 접해보려 했건만, 당시엔 취업이 우선시 했던지라, 그러한 퀄리티는 신경 쓰지 못한 것 같다. 우선 다음을 보자. 뷰 바인딩 https://duckssi.tistory.com/42 [Android Kotlin] View Binding ( 뷰 바인딩 ) 네 여러분들 안녕하십니까 홍 드로이드 입니다 :) 이번 ..

Tistory

안드로이드 코틀린 Button 리스너와 setText 사용하기 TIL # 27

회사를 다니고 나서, 매일 늦게 들어오지만, 별것 아닐지라도 족므이라도 배운 기록을 하나라도 남기려고 노력중이다. 오늘은 시간이 없어서 TextView를 간단히 활용하는 법만 올린다. 안 그래도 현재 코틀린으로 뷰페이저를 만지고 있는 상황인데, 서버에서 데이터를 받는 부분이 살짝 어렵다. 그래도 나는 해낼 것이라고 믿는다. 우선, setText를 한번 봐보자. 사용법 오늘 해볼 것은 간단하다. EditText안에 글자를 버튼을 누를때 값을 가져오고, 그 가져온 값을 TextView에다가 나타내는 아주 간단한 예제이다. java에서는 쉽겠지만, 나같은 코틀린 초보자는 어떻게 해야할지.. 이렇게 하는건가? 할 수 도 있으니 살펴보자. 우선 뷰 바인딩을 통해 손 쉽게 뷰들을 참조할 수 있었다. package ..

Tistory

안드로이드 코틀린 Intent 알아보기 TIL #28

뭔가 자바를 배울때 기초부터 배우는 느낌을 느껴보는거라 재밌다. 오늘은 코틀린으로 화면전환(Intent)를 배워보겠다. 인텐트 이제부터 코틀린에서 사용하는 뷰바인딩에 대한 설명은 하지 않겠다. 매번 뷰바인딩을 하고 있으니, 모르시는 분들은 코틀린 카테고리를 확인해보면 알 수 있다. 우선 메인액티비티와 서브액티비티를 만들겠다. 누가 봐도 왼쪽이 메인이고, 오른쪽이 서브이다. 메인에서 서브로 인텐트를 해보겟다. 자바랑 별차이는 없다. 다음은 메인액티비티의 코틀린 코드이다. class MainActivity : AppCompatActivity() { private var mbinding : ActivityMainBinding? = null private val binding get() = mbinding!! ..

Tistory

#TIL 24 안드로이드 코틀린 뷰페이저2 구현하기

첫 출근을 하고 드디어 과제를 받게 되었는데, 바로 스와이프 기능을 구현하는 것이다. 자바로는 뷰 페이저 2를 프래그먼트와 사용했지만, 이제는 코틀린으로 사용해야한다. 어디 한번 코틀린으로 사용하는 법을 알아보자. 해결책 https://todaycode.tistory.com/26 코틀린 viewPager2 : 사용법, 애니메이션 등 1. viewPager2 1-1. viewPager란? 1-2. viewPager의 활용 2. 사용 방법 2-1. 기본 사용법 2-2. 애니메이션 설정 2-3. 여백 설정 1. viewPager2 1-1. viewPager란? 페이지를 넘기듯이 이렇게 슉-슉- 넘.. todaycode.tistory.com 대부분에 자료는 이 곳에서 알게 되었으므로, 출처를 남기겠습니다. 우선..

Tistory

안드로이드 코틀린 FCM(FireBase Cloud messaging) 이용해서 알림 보내기 #25

취업을 하고 나서 여러 가지를 배우며 블로그에 정리를 하고 있다. 깊게 배우지 못하고, 얕게 배우지만, 이 마저도 정리하기 위해 글을 쓴다. 부족한 설명은 이해해주길 바란다. FCM이란 앱을 사용하는 이용자에게 포그라운드나 백그라운드 상태에서 (포그라운드 : 앱이 실행중인 상태) (백그라운드 : 앱이 꺼진상태) 원하는 메시지를 전달하기 위한 방법이다. 예전에는 GCM이라고 구글에서 제공하는 클라우드 메세징이 있었다는데, 이 FCM으로 대체되었다고 한다. FCM에는 두 가지 형태가 있는 데 하나는 Notification이고, 하나는 data이다. 두가지 차이점은 아래와 같다. * 전자는 앱이 실행 중(포그라운드) 일 때만 푸시 알림이 오고, * 후자는 실행 중이거나 백그라운드(앱이 실행 중이지 않을 때) ..

Tistory

자바스크립트 Swiper를 이용한 스와이프뷰 간단하게 만들어보기

안드로이드 개발을 공부하고 있지만, 회사가 이 기능을 원한다는데... 어찌하리 한번 공부해보고 올려본다. 우선 Swiper라는 사이트로 들어가 보자. https://swiperjs.com Swiper - The Most Modern Mobile Touch Slider Swiper is the most modern free mobile touch slider with hardware accelerated transitions and amazing native behavior. swiperjs.com 그 후에 Get Started 버튼을 들어가 보자. 나 같은 경우는 다운로드가 아닌 간단하게 CDN을 이용할 것이다. 이런 식으로 CDN 부분만 보면 된다. 여기에서 min 붙은 파일을 head사이에 넣어준다...

Tistory

코틀린과 맥북

제목:코틀린과 맥북 느낌이 이상하다. 약 230만 원가량에 맥북 2019 터치 바 램 32 ssd512 사양에 맥북을 구매했는데, 너무 기분이 좋다. 타자도 조심조심 치면서 맥북을 샀다는 것에 실감을 하고 있다. 약간 아쉬운 점은 키보드 자판이 살짝 멀리 있는 느낌이라는 것이다. 약간 적응이 안되어있는지 불편한 감은 없지 않아 있다. 그리고 아직 전반적으로 맥북의 기능을 잘 몰라서 유튜브를 보고 초기 세팅만 하고, 딱히 나머지 부분을 만지진 않았다. 이번에 맥북 악세사리를 추가로 구매해서 이번 달 월급이 남아나질 않을 것 같다. 참.. 돈이 많이 들어가는 녀석이다. 그래도 이쁘니 이 정도는 감수하도록 다짐한다. 이제 19일에 출근을 하게 된다. 너무 설레는 마음이기도 하고, 내가 과연 도움이 많이 될까 ..

Tistory

안드로이드 출시 후 jks 키 스토어를 잃어버렸을때, 분실했을때

앱을 출시하기에 앞서 실수로 광고를 삽입하지 못해, 처음 앱을 출시하느라 복잡한 설명 속에서 헤매던 중, 실수로 스토어 키를 삭제해 버렸다... 그래서 방법을 찾아보니, 우선 새로운 키를 만들고 그 키를 pem 파일로 만들어 구글에 제출을 하면 된다고 한다. 어디 한 번 방법을 보자. 해결법 우선 키를 새로 만들어 보자. 우선 이런식으로 APK나 번들 키를 새로 생성해보자. 그러면 이런식으로 jks파일이나, apk 파일이 생성이 되었을 것이다. 이제 이 파일을 pem파일로 변환해보자. 명령 프롬프트나 안드로이드 내의 터미널을 사용하면 된다. 이런 식으로 써보자. keytool -export -rfc -alias [내가 지정한 alias키 이름] -file [pem키 이름 지정 아무거나 상관X].pem -..

Tistory

드디어 첫 출근

제목 : 드디어 첫 출근 많은 일이 있었다. 과연 앱 개발자로 취업을 할 수 있을까? 앱은 신입을 많이 뽑아주지 않는다는데? 등등 많은 이야기들이 매일매일 나를 불안하게 만들었다. 앱을 만드는 것이 재밌지만, 개발자로서 성장을 못하고, 많은 경험의 기회를 놓치게 되는 것이 아닐까도 걱정했지만, 나를 매일매일 다스리기 위해 일기를 쓰고, 놀지도 먹지도, 잠도 잊어버린 채 안드로이드에 매진하였다. 단지 앱을 하나 만들고 증명하기 위해도 있었지만, 너무 재밌었다. 그리고 나를 인정해준 회사를 찾았다. 너무 기분이 좋았다. 나를 인정해주는 곳이라면 어디든 헌신할 각오가 되어있다. 내가 좋아하는 분야라면 더욱 그럴 것이다. 이제는 취업준비생에서 신입 개발자로서 한 층 성장했다. 이제 개발자 커리어가 시작되겠지만,..

Tistory

안드로이드 phpmyadmin 액세스하여 mysql SHA-2 512 해싱하기 /해싱/ 솔팅/TIL#23

안녕하세요. 이제 금연 설루션 그만 앱 프로젝트에 막바지가 왔습니다. 애드몹 광고를 달고 진작해야 했던, 데이터베이스에 비밀번호를 해시화하는 작업이 필요했다. 어려울 것이라고 고민했다. 서버단은 서로 통신하는 법만 간단히 알고 있지, 비밀번호를 보안성 있게 해시화하는 법은 아마 어렵지 않을까 생각이 들었다. 여러 방법들이 있겠지만, 내가 찾은 방법은 SHA-2이다. SHA-2는 Secure Hash Algorithm의 약자이다. 해시 알고리즘은 값을 입력받아, 고정된 길이의 해시값(64, 128) 등등으로 해시값을 출력하는 알고리즘이다. 암호 알고리즘에는 키가 사용되고, 알고리즘 함수는 키를 사용하지 않습니다. 그래서 같은 입력에 대해 항상 같은 출력이 나오게 된다. 이 알고리즘을 쓰는 이유는 동일한 값..

Tistory

취업 성공!! 첫 과제는 코틀린!

제목:취업 성공!! 첫 과제는 코틀린! 오랜만에 일기를 쓴다. 최근에 취업준비를 하느라 많이 바빴다. 3일 동안 여러 곳을 면접을 보러 다녔기 때문이다. 지금은 마음 맞는 곳을 발견하여 취업에 성공할 수 있었다. 지난 반년 동안 많은 일이 있었다. "그만"이라는 금연 어플을 만들기까지 여러 노력들이 더해지면서, 한 층 더 개발에 대한 열정이 더욱 쌓여갔던 시간들이었다. 애초에 내가 취업한 곳은 코틀린 개발자를 뽑는 곳이었고, 경력은 1년 정도 되는 사람들을 원하는 곳이었다. 나 역시 글씨를 잘못 보고 실수로 지원을 하였고, 잠시 후에 나에게 연락이 왔다. 내 포트폴리오를 보고 좋아하셨지만, 내가 비전공자에, 이제 공부한 지 반년도 안되었고, 언어도 코틀린이 아닌 자바를 쓰는 걸 아시고 놀라 하셨다. 하지..

Tistory

금연 솔루션 '그만' 앱 개인정보처리방침

('https://daldalhanstory.tistory.com'이하 '달달한스토리')은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. 제1조(개인정보의 처리목적) (이)가 개인정보 보호법 제32조에 따라 등록․공개하는 개인정보파일의 처리목적은 다음과 같습니다. 1. 개인정보 파일명 : 금연 이용자 개인정보의 처리목적 : 금연 이용자들의 금연기록과 금연 프로필, 금연 기록등을 저장하기 위함. 수집방법 : 회원가입을 통해 보유근거 : 로그인을 통한 정보 호출. 보유기간 : 회원탈퇴시까지 (메일로 탈퇴요청시) 관련법령 : 신용정보의 수집/처리 및 이용 등에 관한 기..

Tistory

금연 솔루션 '그만' 앱 이용약관

제 1 장 총 칙 제1조 (목적) 이 이용약관(이하 '약관')은 달달한스토리(이하 '회사')와 이용 고객(이하 '회원')간에 회사가 제공하는 금연솔루션 '그만' 서비스(이하 '서비스')의 가입조건 및 이용에 관한 제반 사항과 기타 필요한 사항을 규정함을 목적으로 합니다. 제2조 (이용약관의 효력 및 변경) 1. 이 약관은 서비스를 이용하고 하는 모든 회원에 대하여 그 효력을 발생합니다. 2. 이 약관은 달달한스토리 사이트(daldalhanstory.tistory.com 이하 '달달한스토리 블로그')에 온라인으로 공시됨으로써 효력이 발생되고, 합리적인 사유가 발생할 경우 회사는 관계법령에 위배되지 않는 범위에서 이 약관을 변경할 수 있습니다. 3. 개정약관도 달달한스토리 블로그에 온라인으로 공시됨으로써 효..

Tistory

안드로이드 Intent getIntent() null처리 하는 법/ TIL#21

어제부터 리사이클러뷰를 습득하느라 정신이 없었다. 다 습득하고 나서 정리해볼 생각이다. 오늘은 인텐트로 넘어온 데이터가 널이거나, 값에 따라 다르게 처리를 하고 싶을 때 사용하는 인텐트 널처리에 대해서 알아보겠다. /**인텐트 널체크 및 구분*/ private void getIntentValue() { Intent intent = getIntent(); if(!TextUtils.isEmpty(intent.getStringExtra("Rtitle"))){ //인텐트 널체크 만약 Rtitle이라는 글자가 안비어 있다면, title = intent.getStringExtra("Rtitle"); mainText = intent.getStringExtra("RmainText"); saveDateV = intent..

Tistory

금연 동기부여 다이어리 "그만"이 출시 되었습니다.

2021년 3월 30일 기준으로 금연한 지 166일이 된 금연새내기 개발자입니다. 금연을 하면서, 이런 점이 있었으면 좋겠다고 생각했던 점들을 참고해서 금연 앱을 부족하게나마 만들어 보았습니다. 첫 앱 개발이라 부족한 점이 많지만, 잘 부탁드립니다. 부족한 점, 피드백 모두 수용하겠습니다. 모두 함께 금연에 성공하셨으면 좋겠습니다. 저도 같이 금연에 동참하며, 추후에 지속적인 업데이트를 올리겠습니다! "중요한 건 실패가 아니라, 다시 도전하는 것입니다." - GMAN -

Tistory

안드로이드 앱 애드몹 달기// 적응형 광고, 전면 광고 달기 # TIL 22

최근에 이제 프로젝트로 마무리하고 있는 앱에 집중적으로 투자하기 위해 글을 많이 쓰지 못했다. 그래도 배운 것을 기록하는 것도, 매일 코딩하는 것 못지 않게 중요하다고 생각한다. 이제 장장 4달이 되어가는 이 앱 만들기도 끝이 보인다. 오늘 내 앱에 적용한 것은 적응형 광고와 전면 광고 다는 법이다. 순서대로 보겠다. 적응형 광고 띠 배너인 적응형 광고는 기존 스마트 배너(이제 없어진다고 함)에 비해 훨씬 더 앱에 사이즈에 맞게 최적화 되어 알맞게 사이즈가 자동으로 맞춰지는 띠배너이다. 다음은 내가 만든 앱에 일부분이다. 그림과 같이 아래에 내비게이션 뷰에다가 배너를 달아 다른 프래그먼트로 이동해도 계속해서 보이게 해두었다. 우선 구글에 로그인을 하여 애드몹도 가입해서 unit키를 와 id키를 얻어오는 ..

Tistory

안드로이드 Java/ ArrayList안에 값이 들어있는지 안들어있는지 식별하기 TIL # 18

며칠 동안 프로젝트 만드는 데 고전하느라, 빨리빨리 넘어가서 이것저것 쓸 것이 많다. 오늘은 시간이 늦어서 간단하게 배운 사실을 쓰려고 한다. 끝내주는 캘린더뷰 라이브러리를 사용 중인데, 나중에 참고해서 올리려고 한다. 오늘 소개할 내용은 ArrayList 안에 값이 있는지 없는지 확인해야 하고, 만약 있다면, 어떤 동작을 실행할 수 있을지, 결정할 수 있는 메서드입니다. 바로 contain() 메서드입니다. 사용법은 간단합니다. // 어레이 리스트에 {"안녕", "누구", "세요"}가 들어있을때, ArrayList aL = new ArrayList(); aL.contain("안녕"); // 값이 있으면 true// 아니면 false; //if문으로 나타내보자 if(aL.contain("안녕")){ //..

Tistory

안드로이드에서 php로 mysql 한 컬럼 전부 가져오기/ json사용/ TIL#19

한 주가 지나갔다. 이제는 초조하고, 마음이 답답해서 하루빨리 이곳을 나가고 싶지만, 침착해야 한다. 거의 앱은 완성되었고, 아직 나는 부족하다. 하지만, 더 배우기 위해서는 현장에 나가보고 사람들도 만나봐야 한다고 생각한다. 오늘은 만들고 있는 앱에 일기 기능을 위해서 한 칼럼에 내용을 모두 가져오는 php구문과 그 값을 안드로이드 스튜디오에서 받는 법을 쓸 생각이다. 해결법 나 같은 경우는 각 회원마다 고유의 번호(num)를 주고, 그 번호가 붙어있는 개인의 Diary테이블을 만들어서 일기 내용을 따로 저장하는 법을 사용했다. 그 과정에서 일기를 쓴 날짜를 모두 가져와야 할 상황이 생겼다. 그래서 sql문을 $query = "SELECT startdate FROM `Diary$num`"; 이런 식으로..

Tistory

안드로이드 ImageView에 radius가 적용이 되지 않을 때 해결법/ setOutlineProvider/outline/ 테두리 둥글게 하기 TIL#20

오늘은 집중해서 만들고 있는 프로젝트에 진도를 많이 쭉 뺐다. mysql과 연동을 위해 볼리를 많이 이용했는데, 잘하다가 다음과 같은 문제가 생겼다. 다음과 같이 사진에서 위에 테두리도 밑에 둥글기와 같이 둥글게 나와야 하는데, 직각으로 저런 식으로 표시되는 것이다. 물론 이미지를 넣지 않을 때는 xml 속성으로 설정해놓아서, 이런 식으로 나온다. 아 물론 scaleType을 fitCenter로 하면 다음과 같이 잘 나오지만, 내가 원하는 것은 centerCrop속성이었다. 이상하게 이 속성으로 이미지 뷰에 이미지를 넣으면, 저렇게 둥글기가 사라지는 것이었다. 커뮤니티에 물어보니 원래 이미지 뷰에 이미지를 넣으면 저런 상태가 된다는 것이다. 그래서 비트맵으로 변환해서 크기를 조정해 넣으라는데... 잘 몰..

Tistory

안드로이드 BLOB으로 서버에 이미지 간단히 저장하는 법 / 우분투 서버 사용 phpmyadmin/ mysql이용 / TIL # 16

오랜만에 글을 쓴다. 최근 주말 동안 비트코인이라는 신세계에 빠져서 안드로이드의 신경을 많이 쓰지 못했다. 그래서 그런지 막상 하려니까 머리가 복잡해지고 힘들었지만, 금방 다시 집중이 되어서 무사히 이미지 BLOB이란 기술을 오늘 알게 되었다. 사실 오늘도 삽질을 오래 하게 되었는데, 원래는 저번시간에 phpmyadmin에 디바이스에 사진 경로만 저장해서 보는 법을 올렸다. 2021.03.10 - [Programing/Android Studio With Java] - 안드로이드 phpmyadmin 연동 / 이미지 경로를 phpmyadmin에 올려보자. / 데이터 베이스 이미지 저장하고 불러오기 TIL # 14 안드로이드 phpmyadmin 연동 / 이미지경로를 phpmyadmin에 올려보자. / 데이터 ..

Tistory

하 디비의 늪으로...

제목:하 디비의 늪으로.. 요즘 비트코인과 주식에 빠져있었지만, 내 본업에서의 집중력을 흩트려 트릴 수는 없는 법이다. 시간은 늦었고, 오늘 TIL은 썼지만, 그래도 일기를 쓰고 싶은 욕망이 확 들어서, 이렇게 글을 쓴다. 매번 느끼지만, 난 글 쓰는 것을 좋아하는 것 같다. 연필로 필기하는 것도 좋지만, 연필로 쓰는 속도보다는 이렇게 타자 속도로 치는 편이 낫다. 내 생각을 보다 빠르게 입력할 수 있기 때문이다. 연필로 생각을 쓰다보면, 내가 무슨 말을 하려 했는지 잊는 경우가 종종 있기 때문이다. 요즘 안드로이드에서 디비의 늪에서 빠져나오기가 쉽지 않다. 처음에 간단하게 접근 했던 앱이.. 로그인 기능은 간단하다고 생각했던 내 무지함이.. 지금 나를 이 디비의 늪에 가두었다고 생각한다. 배우면서 짜증..

Tistory

안드로이드 파이어베이스 스토리지 이미지 저장 및 불러오기/업로드 및 다운로드/ 삭제하기 TIL #17

오늘은 아쉬운 점이 있던 부분을 보안하여 새로운 방법을 알아냈기에 글을 써본다. 금연 앱도 거의 마무리했고, 현재 금연일기를 만드는 중이다. 사실 저번 글에서 mysql에 blob을 통해 이미지를 저장하는 법을 올렸는데, 디비에 저장하는 법을 알았지만, 그 저장된 것을 가져오는 부분을 공부하던 중, 커뮤니티에서 그런 방법보다는 서버에 이미지를 올려서 그 url를 연동하는 법이나, 파이어 베이스에 스토리지를 올리는 편이 간단하고, 효율이 좋다는 이야기를 듣게 되었다. 마침 잘 안 풀리기도 했고, 그래도 끝까지 blob으로 이미지를 가져오게 하는 법을 알고, 마무리하고 싶었지만, 뜻대로 된 것 같지는 않다. ㅠㅠ 그래서 이 blob은 이 정도 까지만 알고(언젠가 배울 날이 올 것이다.) 더 효율적이라는 파이..

Tistory

TIL # 15 “android.view.WindowManager$BadTokenException: Unable to add window” / token null is not valid; is your activity running? 에러 해결법

이러한 오류가 떠서 당황스러웠지만, 구글링이 역시 해답이였다. 다이얼로그 생성시에 Dialog dialog = new Dialog()

Tistory

이제 일기만

제목:이제 일기만 길었던 앱 만들기도 이제 막을 내린다. 거의 4달 가까이 안드로이드를 배우면서 같이 병행했던 앱을 드디어 마무리하는 순간이 오고 있다. 앱에 가운데에 넣을 명언들을 넣을 일이 좀 힘들 것이고, 두 번째는 다이어리만 만들면 되는데, 어떻게 데이터베이스에 넣을 것인지 조금 고민해봐야할 단계인 것 같다. 그리고 나머지 설정부분과 토큰을 이용한 인트로 부분, 그리고 애드몹 달고, 앱 자체 최적화 한 후 필요한 것이 없는 부분들은 삭제하면서, 마무리해야 할 듯싶다. 고작 하나의 앱이지만, 아예 모르던 내가 정말 잠도 덜 자가면서 몇 달 동안 고생한 결과이다. 정말 하나하나 다 힘들었다. 모르는 부분이 너무 많으니 하나씩 찾아가면서 배웠고, 정말 책으로 공부하는 것보다 습득력이 빠르다는 것을 알 ..

Tistory

안드로이드 phpmyadmin 연동 / 이미지경로를 phpmyadmin에 올려보자. / 데이터 베이스 이미지 저장하고 불러오기 TIL # 14

뒤늦게 수정합니다 이미지 경로만 저장하여 하나의 디바이스에서만 불러 올 수 있습니다. 이 부분을 저도 착각하여 다음시간에 이미지 저장 후 불러오기 mysql편으로 올리겠습니다 오늘 프로필 이미지를 만들었지만, 또 하나 고전했던 것이 기존에 쓰던 데이터베이스에 이미지를 저장하고 불러오는 법을 알아내는 것이었다. 이렇게 복잡한 일이었을까? 아직 내가 초보라서 그런지, 정말 복잡한 방법들이 많았다. 나 같은 경우는 우분투 서버를 AWS EC2로 사용하고 있었기에, 구글링을 통해서 얻은 정보는 파이어 베이스를 사용해라.. 리눅스 서버를 사용해라 등등 지금 내 상황에 맞지 않는 답변들 밖에 없었다. 그래서 준비했다. 정말 간단히 이미지를 저장하고 불러오는 방법이다. 우선 phpmyadmin을 구축을 한 상태에서 ..

Tistory

이제는 일하는 것이 쉬는 것

제목:이제는 일하는 것이 쉬는 것 어플 공부를 시작한 지 이제 5달이 넘어간다. 어플이 거의 완성되어 가고 있다. 혹시 너무 오래걸린 것은 아닐지.. 그래도 무엇하나를 만들었다는 사실에 기뻐하지 않을 수 없다. 매일 바쁘게 오늘 배웠던 점들을 정리하면서 티스토리를 장식하였는데, 오늘은 프로그레스바 작성만 한지라, 배운 것보다는 막일을 많이 했던 작업이라 오랜만에 일기를 쓰려고 한다. 요즘 유튜브를 보니 비트코인이 핫하다. 내용을 들어보니 테슬라가 가상화폐에 적극참여하겠다는? 그런 말을 했다는 것이다. 비트코인 가격이 어마어마하게 상승했다. 항상 주식이나 비트코인이나 금 투자 등등, 투자나 재테크에 대해서 배우고 싶었는데, 안드로이드 공부 끝나고 배워야 겠다며 미루는 사이에 시간은 점점 갈게 뻔하다고 판단..

Tistory

금연 145일차

오랜만이다. 금연 글을 쓰는 것은 말이다. 사실 요즘 가끔씩 피고 싶긴하다. 이제 담배피는 꿈은 뜸해지긴 했는데, 그렇다고 필 것 같지는 않다. 만약 술을 과하게 먹으면 필 거 같은데, 내가 지금 술도 마실 상황이 아니라서, 딱히 위험한 상황은 없다. 다만 공부하고 나서 뭔가 생각이 많거나 허탈감이 들때, 정말 한대만 피고 싶다는 생각이 들긴 한다. 이건 어쩔 수 없는 일이지만, 그렇다고 나의 5달 가까운 시간을 허무하게 날려버릴수는 없다. 바보짓을 하기 싫은 마음이 시간이 지날수록 커지기 때문에, 담배를 끊는 기간이 오래될 수 록 필 확률은 정말 낮아지긴 하는 것 같다. 하지만, 정말 만에 하나 실수를 하게 되면 엄청난 후회가 밀려올 것이다. 뭐 지금은 공부에만 집중하면 될 것 같은데, 내가 안 필거라..

Tistory

안드로이드 갤러리에서 이미지 가져오기/ 이미지 회전 방지하기 Glide TIL # 13

프로필을 만드는 중에 갤러리에서 이미지만 가져오려고 여러 기능 들을 찾아보았다. 권한도 주고, 복잡한 기능들이 많았는데, 나는 간단히 갤러리에 사진만 가져올려고 했기 때문에, 이 정도로 힘든 작업인가.. 하고 망설여졌다. 그러다가 방법을 알아냈다. 해결책 정말 간단하다. 우선 갤러리에서 이미지를 가져올때, 이미지가 회전되어서 이미지 뷰에 담기는 현상이 있는데, 이러한 현상은 기기마다 다르다고 한다. 해결하는 방법은 글라이드 라이브러리를 통해서 이미지뷰에 이미지를 넣는 방법이 있다. 우선 라이브러리를 설치하자. dependencies { implementation 'com.github.bumptech.glide:glide:3.7.0' } 그리고 난 후 MainActiviy.java public class ..

Tistory

차츰차츰

제목 : 차츰차츰 차츰차츰 여유가 많아지지만, 결코, 서툴리 하지는 않는다. 매순간을 집중하면서 공부하는 중이다. 예전에도 느낀거지만, 내가 이렇게 무언가 몰입하고, 즐기고 있었나 하는 마음이 든다. 정말 이 분야에서 최고가 되는 동시에 누구나 좋아하는 서비스를 만들고 싶은 목표가 생겼다. 매일 무언가 만들며, 뿌듯한 그 기분이 좋다. 내가 책이 좋아지는 이 순간이 너무 좋다. 예전에는 공부가 정말 싫었는데, 내가 이렇게 공부를 좋아하게 될 것이라고 상상이나 했었을까? 난 여기온지 거의 5개월이 되었지만, 결코 5개월 전에 나의 선택을 후회하지 않는다. 그 5개월 동안 내 인생에서 많은 것이 바뀌었다. 첫번째는 나는 혼자서 살아갈 수 있다는 점이다. 항상 주변에 의자만 했던 내가, 관계가 망가질까봐 항상..

Tistory

프래그먼트 replace 방지, 최초 한 번만 생성시키기, 다른 프래그먼트에서 돌아와도 그대로 / 바텀네비게이션 뷰 TIL #11

이번주의 마무리가 되었다. 벌써 금요일이다. 개발을 하면서 하루하루 시간이 정말 빨리 가는 것 같은 느낌이다. 오늘은 만들고 있던 앱이 프래그먼트에서 프래그먼트로 이동할 때, 값이 초기화 되고 있다는 사실을 깨달았다. 값을 주고 프래그먼트 생명주기에 하나씩 값을 주면서 연구해 보았지만, onAttach가 제일 먼저 생성이 됨에도, 초기화를 막을 방법이 없다는 사실을 깨달았다. 그래도 포기하지 않고, 액티비티의 생명주기에도 손을 댔는데, 프래그먼트가 이상하게 먼저 생성이 되어서 액티비티에 값이 전달이 되질 않았다. 물론 번들로 하였다. 하지만, 볼리를 이용한 작업이 내 생각처럼 되질 않았다. 그래서 찾아내고 찾아내니 프래그먼트를 그냥 재생성 하지 않고, 다른 프래그먼트를 왔다갔다 해도 그대로 값이 남아있고..

Tistory

TIL # 12 Dialog 로딩창 만들기 / 뒤로가기 눌러도 로딩창 꺼지지 않게 하기

주말을 보내고 다시 빡세게 코딩 준비중이다. 오늘 잠시 로딩창을 간단하게 구현하기 위해 구글링을 하면서 알게 된 사실들을 적어본다. andro-jinu.tistory.com/entry/androidstudio2 [안드로이드 스튜디오] 로딩창 구현 (ProgressBar) 이번 포스팅에서는 커스텀 프로그레스바를 만들텐데 대기시간이 필요할때 주로 사용되는 로딩창을 프로그레스바로 구현해보도록 하겠습니다. 먼저 새로운 프로젝트를 생성합니다. 템플릿은 andro-jinu.tistory.com 출처를 밝힙니다! 로딩창 만들기 public class ProgressDialog extends Dialog { public ProgressDialog(Context context) { super(context); // 다이..

Tistory

ConnectivityManager 네트워크 정보를 얻어서 상황에 따라 값주기 TIL # 8

오늘로 두 번째 글이다. 오늘 배운 것 중에 유용한 녀석 중 하나였다. 간단하게 설명하면, 네트워크가 켜져있는지 안 켜져 있는지 정보를 얻고, 그에 맞게 실행할 수 있다. ConnectivityManager connManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connManager.getActivityNetworkInfo(); if (networkInfo != null ) { if (networkInfo.geType() == ConnectivityManager.TYPE_WIFI) { // Wi-Fi일때 작업 } else if (networkInfo.getType()..

Tistory

ConnectivityManager.NetworkCallback 이용해서 데이터 값 전달하기 TIL #9

오늘로 세 번째 글이다. 아까 올렸던 ConnectivityManager이다 이것을 이제는 extends로 이용해보자. 우선 Service를 이용해야 하는데, 나는 아직 Service에 대해서 깊게 이해하지는 않았다. 대충 알고 있는 어느 정도 개념은, 눈에 보이지 않은, 디바이스의 백그라운드에서 실행할 수 있다고 들었다. 우선 메인 액티비티에서 Intent로 서비스에게 요청하면, 서비스는 네트워크 콜백 클래스에서 값을 받아서 화면에 값을 출력하는 정도로만 알고 있고, 오늘 예제에도 그 정도만 써보고자 한다. lcw126.tistory.com/278 안드로이드 NetworkCallback(실시간 네트워크 체크) NetworkCallback에 자세한 사항은 아래 안드로이드 개발자 사이트를 참고 바랍니다. ..

Tistory

android.app.RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord 에러 해결법 TIL #10

오늘은 살짝 힘들었다. 만들고 있는 앱이 계속 말썽을 부렸기 때문이다. 기존에 프래그먼트 A 위에 뷰 페이저를 통해 프래그먼트 B를 올렸는데, 프래그먼트 A에서 B에 있던 버튼을 참조해서 버튼을 누를 일이 생겼는데, 누르게 되면 B에서는 버튼이 반응 없는 것이었다. 그렇다고 같은 코드를 두 프래그먼트에 쓰는 건 오류도 나고, 너무 비효율적이라고 판단하여 B프래그먼트에 있는 코드를 모두 B로 옮기고 몇 가지 수정을 했다. 그런데, 갑자기 뜨는 오류 위와 같은 오류가 뜨는 것이었다. did not then call Service.startForeground(): Service에서 startForground() 메서드를 호출하지 않았다는 거 같은데, 웃긴 게 앱은 켜졌지만, 한 10초 지나서 앱이 종료가 되었..

Tistory

putty에 phpMyAdmin 설치 후 안드로이드 연동하기 TIL#6

뜨문뜨문 글을 쓰게 된다. 요즘 급속도로 앱에 대해서 배우고 있는 중이다. 중요하게 생각되고, 다음에도 쓸 것 같은 기능을 위주로 글을 쓰려한다. 아무래도 시간은 유한하기 때문에 모든 정보를 쓰는 데에는 한계가 있음은 확실하다. phpmyadmin 이란 sql을 편리하게 관리할 수 있는 php로 만들어진 그래픽 사용자 인터페이스이다(GUI). 한 달 전쯤 로그인 기능을 구현 중에 phpmyadmin을 다루는 법을 배워서 편하게 쓰게 되었다. 동시에 sql문으로 테이블도 짜면서, 한 층 더 성장하는 계기가 되었다. 오늘은 저번 시간에 배운 putty를 이용하여 AWS ec2 인스턴스를 만들고, 서버를 연동해서 phpmyadmin까지 만들어 보았다. 2021/02/28 - [Programing/AWS] - ..

Tistory

TextWatcher text입력시 메서드 호출 TIL#7

오늘도 빡세게 코딩을 하며 시간을 보냈다. 하나하나 배운걸 말하기에는 너무나 부족한 시간.. 조금씩 나누어서 짧게 짧게 정리하기로 했다. 사실 오늘 이 기능을 알기 전까지, 이런 기능이 있었으면 좋겠다는 생각을 했다. 텍스트가 바뀔때마다 무언가 실행되는 메서드는 없을까? 하고 말이다. 사실 API문서 읽는 것도 서툰 나로써는 누군가에게 물어보거나 우연히 구글링 중 발견한 기술들이 전부기 때문이다. 하지만 이제 API문서는 완벽하진 않지만, 어느정도 읽고 있다. 이야기가 길어졌다. TextWatcher를 한번 살펴보자 사용법 textView.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequen..

Tistory

안드로이드/Java 시간 차 구하기, 날짜 차 구하기, 현재 시간 나타내기, 현재 날짜 나타내기, 입력한 값대로 나타나는 타이머 구현 TIL # 3

오늘도 열정적으로 개발하는 자팍이입니다. 오늘 배웠던 이 타이머는 어디서도 구하지 못해.. 직접 물어보고, 한참을 보다가 구현해낸 누군가에겐 별거 아니지만, 저에게는 값진 발견입니다.. 헤헤 금연 타이머 앱을 만들던 중.. 어떻게 하면, 입력한 시간과 날짜대로, 시간이 입력될까? 라는 생각이 들었습니다. 커뮤니티에 물어보니, 날짜나 시간을 계산하고, 그것을 초(밀리세컨드)로 변환하면, 그것이 가능하다고 했습니다. 하지만 처음에는 도저히 이해가 되지 않았습니다. 우선 예제를 보여드리겠습니다. 이 기능을 사용하시지 않더라도, 예제에 포함된 Calculate_Date.java안에 날짜 차이 구하기, 시간 차이 구하기, 현재 날짜와 시간 나타내는 메서드가 있으므로, 잘 활용하시길 바랍니다. 코드들 MainAct..

Tistory

ViewModel을 이용한 LiveData 구현하기 TIL # 4

하하 오늘 자바의 정석 강의 영상에서 얻은 영상 중에서 캡처한 사진이다. super() 메서드가 이해가 잘 안 갔었는데, 정말 이해가 잘 가는 영상이다. 보통은 부모한테 상속받은 자식 클래스안에 메서드 인자가 부모 클래스에도 있을 때, 사용하는 것이라고 한다. 밑에 super(x, y)처럼 표기해주면 된다. 아무튼 오늘은 이 사실도 배웠지만, 더 중요한 것을 해보려고 한다. 보통 fragment 끼리 정보를 전달할 때는 보통 번들을 사용하지만 실험을 해본 결과 Viewpager위에 프래그먼트 끼리 번들로 데이터 전송이 안된다.(방법이 있을 것인데, 아직 내가 초보라 모르겠다.) 그러다가 ViewModel을 이용한 데이터 전달 방법을 알게 되었다. 해결법 우선 저번에 사용하던 뷰 페이저를 똑같이 응용하겠습..

Tistory

AWS와 안드로이드를 연결해보다 첫시도!, AWS 가입과정과 인스턴스 생성 및 puTTY설치 키페어, ppk파일로 변경 및, phpmyadmin과 mySQL 설치 과정 정리 TIL #5

드디어 글을 쓰게 된다. 저번 주부터 골머리를 앓아가지고.. 바로 이 녀석을 제대로 습득하지 못해서... 나 서버를 만들 수 있을까?.. 하는 걱정으로 이어지게 만든 AWS.. 이 아마존 웹 서비스에 대해서 공부해볼까 한다. 우선 나에 경우는 안드로이드 어플을 만들던 도중 무료 호스팅 서버인 닷홈을 이용해 서버 연동으로 phpmyadmin으로 아주 신나게 공부를 하고 있는데, 서버 접속도 원활하지 않고, 이제 무료 버전이 끝나가기에 주변 지인의 추천으로 AWS를 배우게 된다.(1년 첫 유저는 프리티어로 무료로 사용할 수 있다고 한다) 그래서 우선 아마존에 가입을 하고 어떤 식으로 서버를 만드는지 차근차근 보도록 하겠다. 사실 이 과정이 매우 오래걸려서 지루할 수 있다. 여러 편으로 나누고 싶은 생각이 없..

Tistory

TIL # 1 프래그먼트 위에 프래그먼트 ViewPager2로 구현하기(뷰 슬라이더), 미리보기 기능, 무한페이지

서론이 길어서 급하신 분들은 구분선부터 봐주세요! 꽤나 오랜만에 글을 쓴다. 요즘 프로젝트를 만드느라 정신이 없기 때문이다. 거의 매일 일기를 쓰다시피 했는데, 이제는 일기 쓰는 시간에도 코딩을 하고 싶어서, 일기를 자연스레 쓰지 않았던 것 같다. 그러다가 문득 영상을 보았는데, Today I Learned라고 오늘 나는 무엇을 배웠는지, 기록해나가는 연습이라고 한다. 이게 참 좋은게 복습을 하는 중요한 효과로 작용을 할 거라는 기대를 한다. 그냥 단순히 개발 포스팅보다는 정확하진 않더라도, 내가 나중에 누군가에게 설명하고 배운 것을 정리할 수 있는 시간이 되었으면 한다. Fragment 만들기 본론으로 넘어가겠다. 우선 나 같은 경우는 프로젝트를 만들던 도중 프래그먼트 위에서 뷰 페이저를 사용해서 또 ..

Tistory

TIL #2 Fragment위에 있는 Dialog에서 Viewpager2 위에 프래그먼트로 데이터 전달

일단 제목이 어렵다. 이게 무슨 소리인가 할 수도 있겠다. 해답을 겨우 찾을 수 있어서 다행이었다. 아무리 찾아도 스택오버플로우에도 가도 알 길이 없던 중에, 콜백 리스너!라는 방법을 알게 되었고, 바로 사용을 해보았다. 우선 나는 자바에 대한 지식이 깊지도 않고, 안드로이드에 대해 아직 공부한 지 3달이 조금 넘은 새내기라 정확하지 않을 수도 있다는 점을 명시한다. 우선 상황은 이러했다. 스택오버플로우에 올리기 위해서 영어로 썼던 것이다. 우선 상황은 이러했다. 프래그먼트에서 뷰 페이저를 두고 그 위에 여러 가지 프래그먼트가 있는데, 다이얼로그에서 버튼을 클릭하면, 저 뷰 페이저에 프래그먼트로 내용이 전달되는 액션을 취하려고 했다. 다이얼로그에서 프래그먼트로 전달하고, 프래그먼트로 전달도 해보고, 어뎁..

Tistory

열정으로 지샌 밤

제목:열정으로 지새운 밤 드디어 깨달았다. 많은 시행착오 끝에 깨달은 것은... 이론은 사실 많은 영향을 주지 않는다는 사실이다. 매일 주어진 시간을 반으로 쪼개, 5:5 비율로 이론과 실습을 병행했지만, 무언가 마음은 실습을 향해 있고, 그래도 이론은 배워야 할 것 같은 답답함이 공부 중 계속 겉돌았다. 그리고 마침내, 책으로 보는 이론을 하루의 하나씩(거의 한 시간) 한 단원만 공부하고, 나머지 7~8시간을 앱 만드는 코딩에 집중하니, 오히려 배울 수 있다는 것도 많아지고, 직접 모르는 것을 찾아서 적용해 봄으로써, 내가 더 성장하고 있음을 알게 되었다. 너무도 좋았다. 아 이런 느낌이구나. 무언가를 만들 때 고민을 한다는 것 말이다. 이제 1시간 30분씩 취침을 하지 않는다. 뇌의 과부하가 걸리는 ..

Tistory

안드로이드 공기계를 사다.

제목:안드로이드 공기계를 사다. 일주일에 한 번씩 찾아가는 집.. 오늘도 들러서 어머님의 맛있는 음식을 먹고 나서, 컴퓨터를 켰다. 항상 안드로이드 예물을 돌릴 때, 느린감은 있었지만, 공기계로 되려나 하는 마음으로, 아빠의 오래된 엘지 폰을 가져왔다. 나는 아이폰XS라 지금껏 시도는 못했지만, 아버지 것을 USB로 연결하고, 통합 드라이버를 다운로드한 후에, 디버깅 모드를 해서 실행을 했더니, 정말 내가 만든 앱이 아빠의 옛날 엘지 화면에 떡하니 뜨는 것이었다. 너무 신기한 것도 둘째 치고, 굉장히 빨리 론칭되는 것이 신기했다. 이 기회에 공기계를 사야 한다고 마음먹고, 당근 마켓을 뒤졌다. 공기계는 많이 팔고, 5만 원 이하로 저렴했지만, 너무 옛날 기종들이었다. 그래도 요즘 안드로이드 11까지 나온..

Tistory

금연 117일차

이제는 의미가 있을까? 싶다. 너무 막연하게 하지도 않았고, 계획 있게 하지도 않았다. 아 내가 쓰는 글은 이제 금연을 포기하고 싶단 이야기가 아닌, 약간에 성취감은 잔향으로 남아있는 느낌을 이야기하고 싶다. 엄청 뿌듯하기도 하지만, 뭔가.. 그래도 허전하긴 아직 허전한 마음이 있긴 하다. 사실 아직도, 조금 스트레스받으면 예전에 비해서는 아니지만, 담배가 생각난다. 정말 생각만 날 정도이다. 생각도 거의 30초 정도쯤이지.. 금방 하던 일에 다시 몰두하게 된다. 코딩을 업으로 삼길 잘한 것 같다. 진짜 이 것만 하느라 시간 가는 줄도 모르겠다. 금연에도 도움을 주는 일이라니.. 이 얼마나 좋은 일인가.. 그래도 가끔 일이 잘 안 풀리거나 할 때, 담배 생각이 무지하게 많이 난다. 정말 잠깐.. 정말 평..

Tistory

눈의 불을 켜고

제목 : 눈의 불을 켜고 이틀 전부터 쉬는 시간을 줄이고 있다. 뭔가 진전이 없다고 스스로 느끼는 감정과 정체되어 있어 불안한 취업이 될까? 나한테 맞는 걸까? 남보다 느린 속도로 학습을 하는 거 아닌가? 그렇다면 내가 학습을 올바르게 하고 있는 건가? 온갖 생각들이 내 머릿속을 헤집다가도 커피 한 잔 하면서 다시 코딩 공부를 하면 그러한 생각도 사라진다. 약간 미래에 대한 부푼 희망과 공존하는 허상일지도 모르겠다. 화성에 온 지 3달 하고 반이 넘어간 지 5일이 지났다. 난 그동안 얼마나 성장했을까? 역시나 객관적인 지표에 의존할 수밖에 없지만, 나에게 객관적인 정의를 내려줄 사람은 이 근처에는 없다. 아무래도 스터디를 구해서 사람들을 알아가 보는 것도 나쁘지 않을 것 같다. 그래야 인맥도 쌓고, 또 ..

Tistory

맥베스를 빌리긴 했는데...

제목:맥베스를 빌리긴 했는데... 오늘 드디어 회원가입과 로그인 기능을 구현했다. 아이디 중복확인을 포함해서 서버 무료 호스팅 사이트에 받은 호스팅 서버로 연동하였고, 이 과정에서 php구문을 이용했다. 어쩌면 며칠 동안 골칫덩어리였던 이 문제가 이제는 말끔히 해결되니 너무 좋았다. 오늘만 5시간을 투자한 일이다. 이제 한결 쉬워진 느낌이다. 하지만 아직은 코드를 보며, 익혀야 할 것 같다. 하지만, 아직 이 앱을 만들려면 해결해야 할 과제가 많다. 이제 다음은 휴대폰 인증을 위해 SMS를 연동해야 할 과제인데, 걱정보다는 기대가 된다. 이제는 어떤 난관도 결국 헤쳐나갈 수 있는 자신감이 생겼다. 티스토리의 일기를 쓰는 것도 좋지만, 이제 오류가 생길 때마다 그 오류에 대해서 기록을 해야겠다고 생각이 들..

Tistory

연어 먹으러 갔다가.. 사랑에 빠진 그 곳 [연남동 연어맛집] '연어롭다'

자팍이입니다.!! 이틀 연속 부지런히 글 쓰는 것은 정말 오랜만인 듯합니다!! 제가 최근에 정말 부지런해졌다는 뜻이겠죠 ㅎㅎ 오늘은 맛집을 소개드리려고 합니다! 사실 이 곳은 개인적으로 아무도 몰랐으면 하는 이기적인 바람이 있었습니다. 말도 안 되는 맛이 거든요... 진짜 솔직히 표현을 못하겠어요.. 여자 친구가 연어를 좋아하기 때문에 그냥 아무 생각 없이 간판이 이뻐서 가게 된 '연어롭다' 근데!! 하.... 설명은 사진을 보여드리면서 하겠습니다. 일단 저희는 연남동에 도착하여 블로그 후기가 많은 이 '연어롭다'를 찾으러 갔습니다.!! 홍대입구역에서 나와 연트럴 파크 쪽으로 걸으시다 보면 10분 남짓에 거리 골목으로 들어가셔서 또 골목을 들어가시면 작은 지하에 '연어롭다'가 위치한 걸 보실 수 있습니다..

Tistory

셰익스피어의 "오셀로"를 읽고/ 4대 비극

며칠 전에 도서관에서 만난 이 책은 고전 문학 서적 쪽에 덩그러니 사이에 끼여 있었다. 언젠가 본 적이 있었던 제목이었다. 비극적인 사랑의 의심을 다룬다는 내용으로만 알고 있었는데, 평소에 프로그래밍 책 위주로 읽으려고 했는데, 문학책도 읽으면 괜찮을 거 같아서 냉큼 대출을 하였다. 무엇보다 책이 가벼워서 너무 좋았다. 들고 다니면서 읽는데 너무 큰 부담이 없어서 좋았다. 내가 현재 글을 너무 늦은 시간에 써서 조금 급하게 써도 양해 바란다. 오늘 할 일이 너무 많아 그렇다.. 하하 다들 괜히 셰익스피어 셰익스피어 하는 게 아니었다. 너무 심오하고 깊은 내용들이었다. 데스데모나와 오셀로의 황홀한 사랑에 조금씩 금을 긋는 이야고라는 인물이 이 이야기의 핵심이라는 생각이 들었다. 이토록 악당다운 악역이 있을..

Tistory

집중 또 집중

제목 : 집중 또 집중 금연은 거의 100일을 다가오고 있고, 내 공부도 점점 나아지고 있다. 이제는 중간중간 쉬는 타임을 조금 줄이려고 한다. 원래는 1시간 반 공부를 하고, 뇌의 휴식을 위해 10분씩 잠을 잤는데, 오늘 집중해서 공부해보니까 그냥 졸릴 때, 잠깐 눈을 붙이면 되니, 굳이 중간마다 10분씩 잘 필요가 없다고 느껴졌다. 물론 휴식을 하고 공부를 하면, 없어진 집중력이 다시금 생기는 기분을 느낄 수는 있지만, 단점은 공부하는데 흐름이 끊긴다는 것이다. 그리고, 괜히 졸릴 땐 더 자고 싶어서, 시계를 보면서 억지로 버티고 있는 나를 볼 수 있다. 그렇게 시간을 보며 버티다 보면 자연스레 공부에도 집중이 되지 않아서 역효과가 날 수도 있다고 생각한다. 지금 만들고 있는 "금연투게더"앱을 만드는..

Tistory

비싼 (플레인)요거트스무디 간단하게 만들기(feat.에어프라이어)

안녕하세요 달달한 스토리입니다!! 저는 자팍이고요 ㅎㅎ 오늘은 여자 친구와 요거트 스무디를 한 번 만들어 보았습니다. 보통 커플분들!! 카페에 가시면 단 거 좋아하시는 분들은 스무디 정말 많이 즐겨먹는데 저 또한 딸기 스무디나 요거트 스무디를 자주 먹어요!! 만드는 방법은 알아보진 않았어요! 정말 복잡하고 쉽게 만들 수 없다고 생각이 들었거든요. 그런데 어느 날 여자 친구가 요거트스무디를 만들어 먹자고 하는 거예요!! 자주 만들어 먹었었다면서요! 놀라기도 하고 신기하기도 했어요.. 그렇게 어려운 음료는 아닌가 하는 생각도 들었고요!! 지금부터 간단히 요거트 스무디 만드는 법을 알려드릴게요! 요거트 스무디 간단히 만들기! 준비물들 일단 준비물은 간단합니다! 홈플러스나 대형마트나 작은 슈퍼에서 쉽게 구할 수..

Tistory

남양주 가볼 곳!! '피맥컴퍼니'와 '살롱드팔당' 후기

안녕하세요 달달한 스토리 자팍입니다!! 이번에 친구 커플들과 함께 다녀온 남양주!! 많은 커플들이 이 곳을 데이트 코스로 많이 방문한다고 하네요!! 데이트코스로 많이 유명한 듯합니다. 이번에 다녀오면서 느꼈던 것 왜 유명한지 알겠는?? 확실히 커피나 음식을 한강뷰를 통해 먹을 수 있다는 것은 엄청난 장점이라고 생각했습니다.(가게 주인 분들 입장에서) 더구나 소비자들도 정말 만족할 수 있는 곳이었던 것 같습니다. 위에 보시는 것은 '피맥컴퍼니'에서 즐기실 수 있는 실속 set입니다. 가격은 3만 원 초반대이고... 차를 몰고 오신 분은 숙박을 생각하지 않으신다면, 맥주를 드시면 안 됩니다. 운전을 생각해서라도요ㅠㅜ... 저희도 아쉽게 차를 몰고 왔기 때문에 사이다로 만족해야만 했습니다. 아쉽게도 당일치기 ..

Tistory

이렇게 매일 일기를

제목 : 이렇게 매일 일기를 이렇게 매일 일기를 쓰는 것이 내가 공부를 하지 않는다는 증거가 되지는 않는다. 이게 무슨 뜻이냐? 이 일기를 읽는 사람이나 혹은 미래에 내가 이 일기를 읽었을 때, 오늘 하루 배운 프로그래밍 지식을 써놓지 않아서, 이 날은 공부하지 않았구나. 하는 마음으로 보지 않았으면 하는 마음에 서기 때문이다. 전혀 아니다. 나는 매일 꾸준히 공부하고 있고, 어제부터 공부를 하고 난 뒤에 충분한 여가를 즐기고도 있다. 그리고 사랑하는 여자친구한테도 소홀하지 않기 위해 노력하는 중이다. 오늘은 일주일 전에 빌렸던 셰익스피어의 "오셀로"를 다 읽었다. 내용은 다 읽었지만, 아직 끝에 해석본은 다 읽지 못했다. 이 이야기는 따로 읽은 책 판매대에 다가 올리겠다. 이 일기의 주제는 이렇게 매일..

Tistory

강릉 데이트 코스, 2박 3일 커플 여행 코스 추천

오늘도 어김없이 달달한 스토리의 자팍이 입니다!!! 짝짝짝!! 오늘은 최근 여자친구와 다녀왔던 2박 3일간에 강릉 여행기를 다뤄보려 합니다!! 뭐처럼만에 여행이라.. 정말 설레는데요. 사실 제가 일하는 곳에 팀장님이 갑자기 아프신 바람에.. 마음은 아프지만 저희에게 찾아온 6일이라는 쉬는 시간!! '자체 황금연휴'라는 말은 이럴 때 쓰는 것입니다!! 그래서 떠난 갑작스러운 휴가!!! 저희는 계획을 여행 전 날 짜고 급히 강릉행 고속버스를 예약하게 됩니다!! (벌써부터 기대가...) 그렇게 급하게 짠 여행계획!! 먹을 것 위주로 짜 넣은 저희들의 숨 막히는 계획!! 강릉 계획표 짬뽕순두부(도착하고 나서 밥집) 봉봉 방앗간(카페) 오죽헌(역사체험) 중앙시장(오징어물회 사기) 장칼국수 용비집 (다음날 아침) ..

Tistory

[종로 인생 사진관] 와 여길 진작올걸 '북촌사진관' 후기

안녕하세요 달달한 스토리 자팍입니다!! 며칠 전에 여자 친구와 처음으로 사진관을 방문하게 되었는데요!! 사실... 사진을 항상 찍고 싶어도.. 시간적 여유는 나질 않고.. 막상 어디 가서 찍어야 하나 솔직히 많이 고민되는 사항이었답니다.. (모든 남자들은 공감) 그러던 와중에 여자 친구가 예쁜 사진관이 있다면서 네이버에서 찾았다고 기뻐하면서 저한테 보여주던 곳이 이 곳이었는데.. 솔직히 사진관이 다 거기서 거기지..라는 생각을 했습니다. 그런데 막상 가보니... 와 제가 정말 바보 같은 생각을 했더군요.. 막상 가니까 소품이나 세트장 분위기... 그리고 그윽한 향이 저를 설레게 만들었습니다. 약간 기분이 졸업사진 찍기 전에.. 아 이 사진이 나중에는 나의 추억이 되겠구나 하는?? 그런 설레는 마음을 오랜..

Tistory

금연 91일차 / 금연 3달

이런 날이 올 것 같았다. 올 줄 알았다. 항상 일주일도 못 가서 그만두었던 금연... 한 달 동안 참았던 적이 인생에서 2번 정도 있으려나.. 정말 어려웠고, 지금도 어렵고, 앞으로도 어려울 금연.. 나는 드디어 3달을 넘겼다. 여기서 91일에서 1일은 정말 중요하다. 왜 중요하냐면 나는 90일 즉, 거의 3달을 의미하는 숫자인 "90일"을 딱 맞추려 했는데, "91일"이란 내가 이제는 금연이 며칠 정도 됐는지 확인하지 않는다는 증거이다. 많은 위기들이 있었지만, 사실 위기랄 거 까지야.. 화성에서 혼자 머무르는 동안, 주변에 피는 사람도 없고, 니코틴 패치의 힘도 얻으니.. 어려울 것 없다라고 볼 수 있다. 하지만, 어느 금연할 때나 똑같이 내적 갈등이 심했다. 한 달정도 금연했을 때, 건강검진에서 ..

Tistory

자바 한번 더 복습!

제목 : 자바 한 번 더 복습! 오늘도 열심히 빡공을 하였다. 몇 달 동안 정말 열심히 살아왔다. 하루 시간을 잘게 잘 활용하면서 프로그래밍에 전념하고 있는 시간도 어언 3달하고 반이 넘어가고 있다. 이제는 시간의 조급함은 많이 사라졌다. 빨리 취업하고 싶은 마음이 강해서.. 혹은 취업을 하지 못할까 봐 불안하여, 지금 하는 공부를 집중하지 못하고, 진도만 빨리 나가려고 했던 것 같다. 그냥 무조건 보고 지나가는 것이 아닌, 제대로 이해하고 넘어가야 하면서, 배웠던 것을 한 번 적용해보기도 하면서, 익혀나가는 것이 중요하다는 것을 알았다. 억지로 적용한다기보다는 정말 한 번 익혀두고, 필요할 때 자연스럽게 그 기능에 대해서 한 번 더 알아보는... 마치 책갈피를 끼워 놓고 나중에 다시 보듯 말이다. 안드..

Tistory

오랜만에 일탈

제목 : 오랜만에 일탈 여자친구와 잘 화해를 했다. 나 자신의 잘못된 점을 인정하고, 여자친구도 이해해주었다. 미안함과 고마움이 정말 컸다. 마음도 복잡하고, 화성에 와서 처음으로 영화관을 갔다. 그 전에 피시방도 정말 오랜만에 가보았다. 정신없이 피시방을 하니 시간이 정말 빨리 갔다. 예전에 내가 정말 피시방에서 많은 시간을 보내면서, 이렇게 시간을 허투루 가볍게 썼구나…. 라고 생각도 들었고, 정말 나도 모르게 시간이 훅 지나갔다고 하는 느낌이 들었다. 봉담cgv에는 딱히 볼만한 영화가 없었다. 코로나기도 하고, 사람들이 많이 있지 않다. "블라인드"라는 2007년 작 재개봉한 영화를 예매했다. 평점도 괜찮고, 뭔가 심오한 배경에 영화일 것 같기 때문이다. 내용은 정말 흥미롭고, 어둑하고, 우울하고,..

Tistory

이제는 실습과 병행

제목 : 이제는 실습과 병행 오랜만에 진득하게 공부를 했지만, 아쉽게도 오늘은 5시까지 출근이라 그리 오래 하지는 못했다. 그래도 배웠다면 다행인 것. 요즘 들어 배우긴 하지만, 약간에 어려움도 있어 진전이 되는 건가라는 의심이 들기도 한다. 하지만 이런 의심은 매일매일 되는 것이라... 그리 큰 걱정은 되지 않는다. 오늘 3시간 수면에 대한 책 한 권을 도서관에서 빌렸다. 예전부터 적은 시간 수면에 대한 내용이 정말 궁금했는데, 잘된 것 같다. 잠시 읽어보니 작자는 8시간 수면은 정말 사치라는 이야기를 하고 있다. 나 역시 그 의견은 동의하지만, 어쩔까... 너무도 피곤한데 말이다. 하지만 책이 너무 술술 잘 읽혀서 대충 내용을 보니 생각보다 3시간 수면의 좋은 점에 대해서 잘 나와 있었다. 나 역시 ..

Tistory

하루 3시간 수면 1일차

책을 읽으면 항상 쓸 때 없는 짓을 하곤 한다. 며칠 전부터 정말 관심이 있었던 잠을 줄이는 훈련.. 드디어 도서관에서 마침 "3시간 수면법"이라는 책을 보고 나서 바로 대출을 했다. 이야기는 대출을 하고 시작한다. 책을 읽어보니 흥미로워서 하루 만에 반 정도를 다 읽어버렸다. 사실 책의 페이지는 200페이지 남짓이라 상당히 적다. 2018년도에 쓰인 책인데, 신뢰가 약간 안 가기도 하면서, 뭔가 믿어보고 싶었다. 음식을 적게 먹고, 샤워를 하고 두 시간 뒤에 자는 등?(맞나?) 아무튼 오늘부터 3시간 자고 일어나서 바로 2시간 독서를 했다. 원래 방법은 이 순서가 아니다. 독자도 8시간 자는 사람이 갑자기 3시간을 자버리면, 얼마 가지 못하고 포기할 확률이 높다고 한다. 하지만 나는 최근에 이상하게도 ..

Tistory

하하하 아무래도 힘든것 같다.

잠을 줄이려고 노력했건만... 역시나 여간 힘든 일이 아니다. 나는 생각보다 이 시도가 오래갈 줄 알고, 앞으로 좋은 나날들만 기다렸다. 문제는 오늘 아침이였는데, 어제와 마찬가지로 3시에 기상하여 바로 청소하고 나서 책을 읽었다. 그런데 책을 읽는데.. 미친 듯이 졸린 거다. 일어난지 1시간 반 정도가 지난 후였다. 이렇게 된거 눈 찜질 한번 하면서 10분 정도 자야겠다고 생각했다. 그런데.. 10분만에 너무 깊게 자버린 건지.. 일어나자마자 너무 피곤해서 바로 다시 본능적으로 잠들었다. 그러고 한 시간 뒤에 일어났는데, 그러고 또 졸려서 다시 자고, 다시 일어나고, 자고를 몇 번 반복하고.. 결국 8시에 일어나서.. 다짐했다. 그냥.. 건강에 안 좋은 거 같다는 판단으로.. 나는 7시간 잔다...라는..

1 2 3 4