전자담배 체험기???

20년 정도 흡연 중인데… 최근에 이런 저런 이유로 전자담배의 세계에 발을 들이게 되었습니다.
간단한 체험기를 공개? 공유? 합니다.

아이코스

아이코스나 릴을 많이들 쓰길래…
충동구매로 집근처 편의점에서 아이코스를 구매했습니다.
정가대로 다 주고…

  • 장점
    • 일반 궐련 담배를 거의 대체할 수 있었음
    • 일반 궐련 담배와 비교하여 몸, 옷 등에 담배 냄새가 많이 나지 않음
    • 태우는 연기로 인한 부작용들이 거의 없음 (예를 들면 시커먼 객담이나 콧물 등)
  • 단점
    • 기기에서 뿜어나오는 담배의 쩐내
      이걸 없애려고 종이방향제와 함께 지퍼락에 담았다가 방향제 냄새로 엄청 고생함
      탈취가 가능한 기능성 케이스가 필요해 보임
    • 기기를 자주 청소해야 함
      청소를 안하면 흡연의 질도 떨어지고 기기에서 냄새도 매우 심각하게 많이 나고 연무량이 현저히 떨어짐

그리하여 이번에는 많이들 사용하는 JUUL을 또 구매했습니다.
역시나 정가 다 주고…

  • 장점
    • 정말 냄새가 매우 적음
    • 흡연 후 발생하는 쓰레기가 거의 없음
    • 청소의 스트레스가 거의 없음…
      팟(액상 카트리지)를 쓰고 나서 버리면 그만!
    • 작고 가벼운 디자인
  • 단점
    • 너무 작고 가벼워서 자주 자주 충전이 필요
      이건 충전을 할 수 있는 케이스를 또다시 구매해서 해결 중
      (팟 3개와 JUUL 본체를 넣을 수 있는 케이스인데 팟의 크기가 딱 정품 팟에 맞춰져서 대용량 팟이나 약간 다른 공팟은 사용 불가)
    • 궐련 담배를 대체하기엔 타격감 부족
    • 얼마나 흡연을 하고 있는지에 대한 인지가 힘듬
      궐련형 담배들은 한 개비의 수명이 다하면 “하나 했구나” 하는데, 액상형 전자담배는 이를 인지하기 힘듬
    • 정품 팟의 높은 가격
      4개 세트 1.9만… 1개가 4.5천원으로 궐련 담배 하나 가격

그리하여 이제 정품 팟을 재활용하여 액상을 충전하기 시작합니다.

  • 장점
    • 저렴한 유지비
    • 원하는 향의 액상으로 취향에 맞게 흡연 가능
  • 단점
    • 팟의 수명이 생각보다 짧음
    • 액상을 충전하는게 은근히 귀찮음
      (마우스 피스의 솜을 빼서 즙을 짜야 하고, 액상 조심조심 채워야 하고, 여차하면 줄줄 새고…)
    • 공팟(액상 없이 판매하는 카트리지)을 구매해보면… 뽑기가 매우 심함
      (처음 구매한 것은 절반 정도가 액상이 새거나, 동작을 하지 않음)

현재 상태…

금연을 하려는 의지는 아주 미약하여
니코틴 농도가 제일 낮은 액상을 구매하여
JUUL을 사용하다가 너무너무 연초가 생각나면 아이코스 한 번 사용

금연 해야 합니다.
건강과 용돈을 위해…

참고) 액상 담배를 시작하는데 정보 또는 구매처가 필요하면… 이베이프 추천합니다. https://evape.kr/

참고2) 아이코스보다는 릴 하이브리드를 추천합니다. 청소 편하고 냄새 더 적고 유지비는 조금 더 들어갑니다만 흡연 만족감은 더 높습니다. 기기 가격도 비슷하고…

MediaStream을 video 태그로 설정하기

video.src = window.URL.createObjectURL(mediaStream); // 과거 버전
video.srcObject = mediaStream; // 현재 버전

MDN의 URL.createObjectURL 설명에 따르면…
No longer accepts MediaStream object
따라서 이제는 HTMLMediaElement.srcObject에 직접 설정하는 걸로…

참고
MDN HTMLMediaElement.srcObject 설명: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject
MDN URL.createObjectURL 설명 https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL

Windows에서 Linux의 wget 이나 curl 비슷한 기능 실행하기

아무래도 GUI를 기본으로 하는 Windows라는 OS는 Command line 도구들이 조금 빈약합니다.
간단한 테스트나 다운로드를 위해 Linux에서 wget이나 curl을 많이 사용했는데,
Windows에 없어서 조금 불편할 때가 있습니다.
그나마 PowerShell을 통해 아래 명령어로 약간 비슷하게 흉내는 낼 수 있습니다.

# System.Net.WebClient 사용하기
$client = New-Object System.Net.WebClient
$client.DownloadFile("http://www.example.com/file.txt","C:\tmp\file.txt")
# Invoke-WebRequest 사용하기
Invoke-WebRequest -OutFile index.html http://www.example.com

그래도 영… wget이나 curl을 Windows 버전으로 구하는 게…

Cordova 로 안드로이드 앱 작성시 AndroidManifest.xml 수정하기

Cordova로 안드로이드 앱을 작성하기 위해 platform에 android를 추가하면 platforms/android 폴더가 생성됩니다.

SCM으로 소스 관리를 할 때에는 외부에서 Download하는 platforms, plugins 폴더를 굳이 포함시키지 않아도 되는데…
(포함하게 되면 하위에 있는 의존성 엮인 엄청난 파일들이…)

따라서 해당 platforms 하위의 파일을 직접 수정하게 되면 소스 관리가 안되는 문제가…
이런 경우 config.xml을 통해 특정 파일을 수정할 수 있습니다.

<edit-config file="AndroidManifest.xml" target="/manifest/uses-sdk" mode="merge">
    <uses-sdk android:minSdkVersion="16" android:maxSdkVersion="23" />
</edit-config>

위와 같이 config.xml에 적으면 빌드 과정에서 AndroidManifest.xml 파일에서 XPath 경로로 /manifest/uses-sdk 노드를 찾아서 하위 노드에 가 merge됩니다.

참고사항: https://cordova.apache.org/docs/en/latest/plugin_ref/spec.html#edit-config

LibreOffice – 무료 오피스 소프트웨어

https://ko.libreoffice.org/

BS가 집에서 MS Office 365를 쓰다가 한달에 한 번을 실행하지 않는 오피스에 돈이 아까워서 LibreOffice로 갈아탔습니다.
가끔 HWP를 보거나 수정할 일이 있어서 아내의 태블릿에는 PolarisOffice를 설치…

그런데 왜 PolarisOffice가 아닌 LibreOffice를 선택했냐면…
역시 완전한 무료라는 점이 가장 큽니다.

최근에 설치형 Office보다는 Google의 문서나 스프레드시트를 더 많이 쓰고 있었기 때문에 설치형은 최대한 가볍고 무료인 것으로 결정 했습니다.

LibreOffice는 Ubuntu를 비롯한 상당수의 리눅스 배포판의 기본 프로그램으로 이미 충분히 검증된 점도 있습니다.
그리고 오라클의 횡포로 인해 망해가는 OpenOffice보다는 나을 것이라는 생각에…

결론…
HWP 수정이 필요하면 PolarisOffice 또는 네이버
일반적인 사용은 LibreOffice
그리고 진짜로 MS Office가 필요할 때에는 온라인으로…

Node.js 로 작성한 서버 프로그램을 Linux 에 daemon 으로 실행하기

myservice 라는 daemon 을 만드는 예제

/etc/systemd/system/myservice.service 이름으로 아래의 내용을 넣는다.

[Unit]
Description=myservice-daemon
After=network.target

[Service]
ExecStart=/usr/bin/node app.js
Restart=on-failure
User=myservice-user
Group=myservice-group
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/some/nodejs/myservice

[Install]
WantedBy=multi-user.target

아래 명령으로 방금 작성한 파일을 systemd 에게 읽도록 한다.
daemon 을 실행한다.
시스템이 부팅될 때 자동으로 실행되도록 활성화 시킨다.

systemctl daemon-reload
systemctl start myservice
systemctl enable myservice

파일별 편집 속성 설정 – EditorConfig

https://editorconfig.org/

일단 BS는 개발환경을 Windows를 사용하므로…
VisualStudio, Notepad++, Android Studio 등등…
각종 IDE에서 소스 파일에 대한 처리들을 매번 설정하기 힘들었는데,
EditorConfig를 사용하면 파일로 관리할 수 있어서 편리합니다.
혼자 사용할 때에는 각 IDE 설정을 한번 만져주면 되긴 하지만…
파일로 남겨두면 재설치 했을 때에도 문제없고,
에디터 설정도 SCM으로 관리가 되고,
팀으로 여럿이 함께 개발할 때, 각자의 IDE 설정에 더해져서 코드가 일관성을 유지할 수 있게 합니다.

Visual Studio 2017 이전 버전
확장 프로그램을 설치해야 합니다.
https://marketplace.visualstudio.com/items?itemName=EditorConfigTeam.EditorConfig

Visual Studio 2017 이후 버전
기본으로 제공합니다.

Notepad++
https://github.com/editorconfig/editorconfig-notepad-plus-plus