Programming(177)
-
[JavaScript] Object Literal Property Value Shorthand
최근 트위터에서 이런저런 계정이나 토픽을 구독할 수 있다는 걸 알게되서, 여기저기 기웃거리던 도중 JavaScript Quiz이라는 글을 발견했다. JsBin과 같은 사이트에서 동일하게 코드를 입력한 후 콘솔창에 출력되는 결과를 보면, 다음과 같다. [object Object] { isDeveloper: true, name: "Faheem" } 잘 보면 키값을 명시하지 않았는데, Object에 변수명이 키값으로 들어있는 것을 볼 수 있다. 이는 ES6에서 추가된 문법적 설탕으로, 다음의 글(ECMAScript 6 and Object Literal Property Value Shorthand)에 잘 설명되어 있다. ES5에서 아래와 같은 방식으로 작성해야했던 것을 생각해보면, 꽤나 간소해진 셈이다. 같은 ..
2021.12.08 -
[VITE] [typescript] dotenv 설정
리액트를 배울 때 '타입스크립트에 대한 러닝커브가 있더라도, 생산성이 달라지므로 타입스크립트를 도입해줬으면 좋겠다.'라는 선생님의 말에 따라, CRA를 사용하지 않고 vite-reactts-eslint-prettier 템플릿을 사용해서 조금씩 만지작거리고 있었다. 파이어베이스를 설정해서 간단하게 프로젝트를 진행하고자 했는데, 이전에 파이어베이스 키를 코드에 그대로 박아놓은 뒤 커밋했다가 낭낭한 경고메시지를 받았던 게 생각났다. 아무튼 .env를 설치하고 파이어베이스를 설정하기 위한 값들을 세팅하는데... 어라? 뭐가 잘 안된다. 알고보니 .env파일을 참조하는 방식이 조금 달라서 그런 것이였다. 나중에 되면 까먹고 또 헤맬게 뻔하므로, 겸사겸사 VITE/typescript 환경에서 dotenv를 설정하는..
2021.11.29 -
[Flutter] isolate와 SharedPreferences, 그리고 파일에 대한 접근
예쓰! 검은곰입니다. 오늘은 Flutter의 isolate와 shared_preferences에 대한 내용을 정리하려고 합니다. 정확히는 이번에 굉장히 골머리를 겪게했던 이슈에 대한 정리로, 여러분들은 Isolate 내에서는 native 코드에 접근할 수 없다. shared_preferences 패키지는 native 코드의 SharedPreferences를 참조하므로, 사용할 수 없다.라는 내용만 기억하시면 됩니다. 개발자로써 코드를 작성하다보면 오만가지 코드와 상황을 만나게 되기 마련이지만, 저랑 비슷한 상황을 만나기는 쉽지 않을 거거든요. 아무튼 isolate에서 shared_preferences에 저장해놓은 값을 읽어서 분기처리해야 하는 상황에 처했습니다. 보통 직접 isolate를 생성하는 경우에..
2021.11.19 -
[Flutter] Flutter에서 SharedPreferences에 저장한 값을, Android 네이티브 영역에서 참조해보자.
여기서는 Flutter 패키지 중 SharedPreferences를 지원하는 shared_preferences 패키지를 사용합니다. 다른 패키지를 사용하는 경우, 이 글의 내용은 별 다른 쓸모가 없을 가능성이 높습니다. Flutter에서의 Shared Preferences 요구사항을 구현하다보면 값을 저장해야되는 경우가 생깁니다. 복잡한 데이터라면 데이터베이스를 사용하는 방법이 좋겠지만, 간단한 플래그나 설정값 등을 저장하기 위해서 데이터베이스를 사용하긴 아무래도 부담되기 마련입니다. 이럴 때 우리는 Shared Preferences를 사용하곤 합니다. Flutter에서도 이런 요구사항은 당연히 필요하기 마련인지, shared_preferences 패키지가 제공됩니다. 이번 글에서는 shared_pref..
2021.10.28 -
[Flutter] firebase_messaging과 flutter_local_notifications을 사용한 푸시 알림 기능 구현
이번에는 파이어베이스를 사용해서 모바일 디바이스에 푸시 알림을 보내고, 알림 소리를 커스터마이징하는 방법에 대해 정리해봅니다. 대충 찾아봐도 예제가 한가득 나오는 것 같지만 굳이 정리하는 이유가 별도로 있는데요. 검색과 삽질을 통해 확인해본 결과 대부분 검색 결과가 예제에만 그쳤기 때문에, 여러 검색 결과를 머릿속에 그러모아 짜집기해서 조립한 뒤에도 삽질에 삽질을 거듭한 뒤에야 간신히 원하는 기능을 구현할 수 있었기 때문입니다. 대부분의 경우 예제만 가지고 필요한 기능을 구현할 수 있겠지만, 검색을 거듭하다 결국 변방의 이 블로그에 이르렀다는 건 삽질에 삽질을 거듭하고 있다는 증거겠죠. 혹시나 삽질에 도움이 되는 내용이 있는지 빠르게 확인할 수 있게, 어떤 순서로 진행할 건지 나열해보겠습니다. 아, 공식..
2021.10.18 -
[Flutter/Dart] 정규표현식을 사용한 문자열 검출 및 범위값 파싱
변수를 사용한 정규표현식의 활용 이번에는 정규표현식을 활용해서 1과 0으로 이루어진 문자열을 압축하는(?) 로직을 작성해보자. 나는 데이터가 기록된 문자열에서 시간을 파싱할 때 이 방법을 사용했었다. 예를 들어서 00시부터 24시까지의 문자열이 주어진다고 치면, 전체 문자열의 길이는 144자이며 한 문자는 10분의 단위시간을 가지게 된다. 정규표현식을 사용하여 문자열이 매칭되는 시작 지점과 끝 지점의 인덱스를 알아내면, 문자열로부터 데이터가 위치한 시간을 계산해낼 수 있는 셈이다. 아무튼 오늘 해볼 것은 0과 1로 이루어진 문자열에서 match를 사용하여 시작 지점과 끝 지점을 구하고, 구간 형태의 데이터로 분리해보자. 뭐, 딱히 쓸데는 없다. ' ㅈ'; 문자열 만들기 우선은 0과 1로 구성된 문자열을 ..
2021.09.13