Klean-prep 刻見清服心得用與台安大腸鏡健檢心得

Posted on August 22nd, 2018

這次是參加公司提供的台安健檢。

大腸鏡健檢前總共要喝兩包清腸藥Klean-prep 刻見清,每包藥粉加入 1000cc 的水做成溶液(或運動飲料、甘蔗汁)
規定是 20:00 喝 1000cc 於一小時內喝完,喝完後再補充水分 1000cc
03:00 爬起來喝 1000cc 於一小時內喝完,喝完後補充 500cc

因為我太晚吃晚餐,所以拖到 21:00 才開始喝,我是加運動飲料。
剛入口時覺得還好,似乎就鹹鹹甜甜的,
可怕的是吞下去後,那股氣會衝上鼻子,就和J大大形容的一樣:「一股鐵鏽味」,很噁心。

因為太難喝了,喝著喝著就過了 22:00,
大概還剩下 500cc 時,藥效開始了,
開始一直跑廁所,就和J大大說的一樣,肚子不會痛,只是會很想拉而已,
就這樣邊跑廁所邊喝,大約 23:00 左右喝完了。

緊接著是另外 1000cc 不加藥的運動飲料,
這時候還是一直跑廁所,常常一待就是半小時,
這 1000cc 喝完大概也 01:30 了,
蹲著蹲著想說去沖個澡好了,
雖然肚子不會痛,但是因為過度使用,小花開始紅腫感,
清洗的時候不得了,非常刺痛,可能沐浴乳含有某些精油是會刺激傷口。

洗完澡一整個舒服,想說可以躺一下吧,
但是看著時鐘是顯示 02:15 ,就覺得母湯,萬一躺下去就一覺不醒就得重來,
所以就 Youtube 看著看著直到 03:00 迎接下一壺,

第2包 2000cc 看之前的心得文是說只能用水沖成溶液,
但實在太難喝了,我還是用 1000cc 的運動飲料做成溶液,
這 1000cc 也是邊看 Youtube 邊喝,
而且吞下去噁心的感覺一點都不減,
突然想到網路上說的小技巧,捏著鼻子或是吞下去時要停止呼吸,
不過停止呼吸最後還是得呼吸,那個味道還是會有,只是少了些。
但這招還真的有點效果,讓我順利喝完 500cc 左右
不知道是因為身理時鐘的關係,感覺水全部都在胃裏,
沒有任何一點消化下去,喝完 500cc 時也過了一個小時,已經飽到一個完全喝不下。

大約 04:30 時,開始下一波馬桶 long stay,
到這邊的時候,已經是清澈如水,符合清腸規定的結果了。

最後到 05:00 前又硬撐喝了 250cc 左右,最後還有 250cc 我果斷放棄,
因為已經到了最後能補充水分的時間了 05:00
一直到 07:00 出門前,還是會一直跑廁所。
因為出來的都是水,所以過度使用的小花,實在有點不舒服,最後還擦上了點凡士林來舒緩。

所以還真的整晚都沒睡。

我 08:00 報到,一連串檢查跟一班的檢查大致相通,沒什麼印象深刻的部分,
前面的部分檢查到約 09:00,就要開始做最後一項大腸鏡檢查了,
一開始要我換上另一件開襠褲,
換完後護理師或是醫師會做一連串的問題和確認,整個麻醉檢查過程大約要半小時,
確認完後就要我躺在病床上,
左手會綁上血壓計,右手會打一針注射點滴 (?),並在食指夾上脈搏偵測的儀器,
並要我側躺,腳縮起來。

躺一陣子後,
最後麻醉師(?)過來了,說打麻醉時手臂會酸會脹痛是正常現象。
一會兒後,麻醉就開始了,真的如醫師所說的,超酸超脹,還在感受從手臂到二頭肌的痠脹感時,下一秒就完全昏迷了,
不是漸漸的睡著,而是像被柯南的麻醉槍射中一般。

下一刻時,聽到了一些聲音,護理師來叫醒我,還真的起床就做好了,
要我再躺著休息一下,等等醫師會來解說,
過一陣子後,醫師來解說的時候,整個還昏昏沉沉的,應該是藥效還在,
大約在躺個十分鐘,就下床了,剛開始還真的是走路不太穩,
跟我說整個檢查已經結束,稍後換完衣服就可以吃早餐,吃完早餐就可以離開了。






透過 symbolic link 避免開發環境變數的變更

Posted on May 16th, 2018



若經常於 git branch 間切換,且當其中一些環境變數、檔案路徑相關的程式碼需要調整時,
總是需要透過 stash, 再 branch 之類的方式將變數相關的程式存下來,避免遺失
一個方法是建立 symbolic link ,這樣就不用一直改拉

  • unix:

sudo ln -s /Users/liullen/workspace/ihergo /Users/ihergo

  • window:

mklink /d C:\ihergoGit C:\workspace\ihergo


用 jstl 的 遇到 SSL 相關的問題

Posted on March 16th, 2018

在某一個 jsp 頁面使用 jstl core 直接 import 指定位置的 url 時會有問題,例如:

<c:import url="https://ihaveapen.com/ihaveanapple" />

在 macOS 本機(Apache+Tomcat) 連到用到這樣使用的 tag 的頁面時,Tomcat 會發生 SunCertPathBuilderException
(Exception 太長放最後面)

解法:

- 透過 firefox 將目前頁面的根憑證匯出 (這邊直接拿 apache ssl 指定的根憑證應該要也可以)
- 用 keytool 匯入到執行 tomcat 用的 jre 底下的 cacerts


sudo keytool -import -alias ihergo -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/security/cacerts -file wwwihergocom.crt


- 注意: 要用 sudo 權限, 且調整 cacerts 會要求輸入密碼, 預設密碼是


changeit



- 解決方法來源 stackoverflow https://stackoverflow.com/a/36427118

- Exceptions:


2018/03/16 11:43:36 [ERROR] [com.xxxxxx.mobile.web.controller.GlobalExceptionHandler@ajp-nio-8009-exec-9]_jspService(130) jsp error on:/mobile/WEB-INF/jsp/error/error.jsp
org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: Problem accessing the absolute URL "https://www.xxxxxx.com/mobile/ad/banner". javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:596)
...

Caused by: javax.servlet.ServletException: javax.servlet.jsp.JspException: Problem accessing the absolute URL "https://www.xxxxxx.com/mobile/ad/banner". javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:905)
... 81 more
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
... 84 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
... 101 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
... 107 more




FATAL: sorry, too many clients already

Posted on March 8th, 2018


有時候在 pgsql 會遇到這個錯誤訊息,意思大概就是當前連線數量已達上限,
有可能是因為重複啟動 tomcat 等等

FATAL: sorry, too many clients already




總之可以透過這個 query,刪除10分鐘內的 idle 連線,應該就可以繼續使用。

SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'xxxxx'
AND pid <> pg_backend_pid()
AND state = 'idle'
AND state_change < current_timestamp - INTERVAL '10' MINUTE;SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'xxxxx'
AND pid <> pg_backend_pid()
AND state = 'idle'
AND state_change < current_timestamp - INTERVAL '10' MINUTE;


Eclipse Oxygen SVN Connector

Posted on March 7th, 2018


Eclipse Oxygen 無法安裝 SVN connector

透過 svn-plug 底下安裝 plug-in 會閃一下就關閉

而直接去找 SVN-kit 或 JavaHL 的 connector update-site 嘗試安裝也失敗

所以找到遇到同樣問題的人,透過特定的 update-site 來安裝 SVNKit Connector,才順利解決這個問題



來源:Mauro Molinari 在 https://bugs.eclipse.org/bugs/show_bug.cgi?id=518033 發表的解法
其實也是直接透過 update-site 來安裝,但是來源不同,這版應該有特別處理過。

Same problem here.



是說 MacOS 上的免費且好用的 SVN GUI 圖形化工具好像有點少 QQ

The Simplest Http File Server (by nodejs)

Posted on February 26th, 2018


快速建立 http file server


###安裝
```
npm install http-server -g
```

###執行方法1
```
cd D:\Folder
http-server
```

###或執行方法2
```
http-server D:\Folder
```

hibernate column validation annotaion

Posted on February 14th, 2018


@NotNull
@Size(min = 2, max = 14)
private String productName;

jQuery namespaced event

Posted on January 8th, 2018


在處理 jQuery Mobile 時,因為是手機介面,所以常常需要透過綁定 scroll 事件來處理各種狀況,

一般通常是 scroll to HIDE 或 scroll to LOAD&SHOW

但某些情況有可能會導致重複綁定的問題,所以需要透過 namesapced 的 event 來解決,避免兩個相同的事件(但處理不同情況)互相干擾

例如:

某些頁面要在 scroll 時把元素 A 和 B 都隱藏:


$(document).on('scroll', function (event) {
//TODO: determine the length of scrollTop to hide element A
}

$(document).on('scroll', function (event) {
}

但有時候元素 A 和 B 的事件都是 global 使用的, 但其中某些頁面不處理 B:

$(document).on('scroll', function (event) {
//TODO: determine the length of scrollTop to hide element A
}

$(document).off('scroll');

當 off('bind') 時就會把 A 和 B 的 handler 都刪除了





所以必須引用 namespaced


$(document).on('scroll.typeA', function (event) {
//TODO: determine the length of scrollTop to hide element A
}

$(document).on('scroll.typeB', function (event) {
//TODO: determine the length of scrollTop to hide element B
}

這樣就可以單獨 off 一個元素不影響其他 handler 的綁定

$(document).off('scroll.typeA');

$(document).off('scroll.typeB');



btw. 可以透過 jquery 去檢查目前事件有哪些 handler


$._data(document, 'events');

// 例如:可以把 document 中 scroll 事件的 handler 都印出來

$._data(document, 'events').scroll.forEach(function(elem) {
console.log ( elem.handler.toString());
});




參考 api:
click demo:

iOS 滑動卡卡不順暢 scroll inside scroll

Posted on November 10th, 2017

當 overflow scroll 的區塊中有其他 overflow 是 scroll 時, iOS 裝置的滑動會卡卡的,沒有硬體的慣性滑動效果

嘗試在內層的 scroll 元件 css 加上 -webkit-overflow-scrolling: touch

透過輸入法組字事件 CompositionEvent 解決 iOS 上可能無法觸發 GoogleMap Autocomplete

Posted on September 13th, 2017


透過輸入法組字事件 CompositionEvent 解決 iOS 可能無法正確觸發 GoogleMap Autocomplete
// hack: 讓 iOS 鍵盤拼完字會跳出 google map 的 autocomplete
$(pacInput).on('compositionend', function() {
$(this).trigger('blur').trigger('focus');
});




相關事件:
  1. compositionstart : 輸入法組字開始
  2. compositionend : 輸入法組字結束
  3. compositionupdate: 輸入法修改字詞

[1] 參考 MDN: https://developer.mozilla.org/en-US/docs/Web/API/CompositionEvent


Liullen

Notes from my experience.