搜尋此網誌

2016年12月25日 星期日

【Java】Difference between matches() and find() in Java Regex

ref:
http://stackoverflow.com/a/4450166

http://stackoverflow.com/a/18409048

matches tries to match the expression against the entire string and implicitly add a ^ at the start and $ at the end of your pattern, meaning it will not look for a substring. Hence the output of this code:
public static void main(String[] args) throws ParseException {
    Pattern p = Pattern.compile("\\d\\d\\d");
    Matcher m = p.matcher("a123b");
    System.out.println(m.find());
    System.out.println(m.matches());

    p = Pattern.compile("^\\d\\d\\d$");
    m = p.matcher("123");
    System.out.println(m.find());
    System.out.println(m.matches());
}

/* output:
true
false
true
true
*/
123 is a substring of a123b so the find() method outputs true. matches() only 'sees' a123bwhich is not the same as 123 and thus outputs false.

--------------------------------------------------------------------------------------------------------------------------

matches() will only return true if the full string is matched. find() will try to find the next occurrence within the substring that matches the regex. Note the emphasis on "the next". That means, the result of calling find() multiple times might not be the same. In addition, by using find() you can call start() to return the position the substring was matched.
final Matcher subMatcher = Pattern.compile("\\d+").matcher("skrf35kesruytfkwu4ty7sdfs");
System.out.println("Found: " + subMatcher.matches());
System.out.println("Found: " + subMatcher.find() + " - position " + subMatcher.start());
System.out.println("Found: " + subMatcher.find() + " - position " + subMatcher.start());
System.out.println("Found: " + subMatcher.find() + " - position " + subMatcher.start());
System.out.println("Found: " + subMatcher.find());
System.out.println("Found: " + subMatcher.find());
System.out.println("Matched: " + subMatcher.matches());

System.out.println("-----------");
final Matcher fullMatcher = Pattern.compile("^\\w+$").matcher("skrf35kesruytfkwu4ty7sdfs");
System.out.println("Found: " + fullMatcher.find() + " - position " + fullMatcher.start());
System.out.println("Found: " + fullMatcher.find());
System.out.println("Found: " + fullMatcher.find());
System.out.println("Matched: " + fullMatcher.matches());
System.out.println("Matched: " + fullMatcher.matches());
System.out.println("Matched: " + fullMatcher.matches());
System.out.println("Matched: " + fullMatcher.matches());
Will output:
Found: false
Found: true - position 4
Found: true - position 17
Found: true - position 20
Found: false
Found: false
Matched: false
-----------
Found: true - position 0
Found: false
Found: false
Matched: true
Matched: true
Matched: true
Matched: true
So, be careful when calling find() multiple times if the Matcher object was not reset, even when the regex is surrounded with ^ and $ to match the full string.

【Java】 Regular Expression / 正規表示法 的學習筆記 [精華]

ref:
https://www.javaworld.com.tw/jute/post/view?bid=20&id=130126

REX checker:
https://regex101.com/

http://regexr.com/

2016年12月24日 星期六

【Android】What is different optString() and getString() in JSONObject ?

ref:
http://stackoverflow.com/a/13790789

optString() 和 getString()差別?

The difference is that optString returns the empty string ("") if the key you specify doesn't exist. getString on the other hand throws a JSONException. Use getString if it's an error for the data to be missing, or optString if you're not sure if it will be there.
Edit: Full description from the documentation:
Get an optional string associated with a key. It returns an empty string if there is no such key. If the value is not a string and is not null, then it is converted to a string.

如果你指定的key不存在時,

optString()會回傳 ""



getString() 會跳出exception 因為 key為null。

2016年9月26日 星期一

【Travel】訂房網站

ref:
https://www.ptt.cc/bbs/Gossiping/M.1472324160.A.D94.html

八卦是這麼多旅遊訂房網站根本就分屬同個集團XD
怎麼賺都還是那幾個集團賺走

首先是 The Priceline Group 成員:
Booking.com (主打歐洲)
Priceline.com (主打美國)
Agoda.com (主打亞洲)
Kayak.com (連機票一起多品牌比較)

再來是 Expedia, Inc. 成員:
Expedia.com (連機票一起查)
Hotels.com (主打會員累積優惠)
Orbitz.com (主打美國)
Travelocity (主打加拿大)
Trivago (主打多品牌比較)
Hotwire.com (主打美國)
Venere.com (主打歐洲)
HomeAway (主打民宿)
TripAdvisor (2011年已經從expedia集團獨立分拆出來,
             而且他現在旗下還有25個類似的子品牌)

HotelsCombined:
HotelsCombined (貌似是獨立公司)

所以到最後訂房網站都大同小異
差別只在到底有沒有內含稅金服務費
booking會先標上含稅跟服務費的價錢 agoda標不含的價錢
結果最後加起來同集團價錢根本一樣
最終還是哪邊便宜就去哪邊訂XD

再說風險或是提供服務的問題最終還是要回歸飯店
而且飯店網站通常還有比較多自家優惠呢

不過其實很好奇這種網站到底對飯店有多少抽成的空間
還有像是HotelsCombined, Trivago這種元搜尋引擎又沒放廣告
商業模式到底是怎麼維持的 分那麼多層去抽還賺那麼多哦

2016年9月24日 星期六

【Finance】實支實付

ref:

筆記一下

實支實付醫療險 通常是定期型 ,通常保單條款到今日理賠時有可能會些許改變,因為合約上條款不是最新。

門診手術在舊保單中未特別註明理賠標準。

但在上述網頁中查到,第十二條第十六項 其他外科手術費用(含住院之門診手術費用,但每一次門診手術費用最高給付限額為新台幣壹萬元),所以說明不管你買計畫一 還是 計畫 二 三 四五六,雖然保費是2 3 4 5 6 倍,但是門診手術費用最高給付限額就是一萬元

所以說當你動了一次健保xx標準上核可的門診手術(不是處置),但自費花了1,5000,看它是歸類於手術費用還是雜費(耗材),實支實付門診手術理賠上限就是1,0000。若自費花了3,500,就沒有上限問題,理賠就是3,500。

還是搞不懂計畫一 二 三 四 五 六,除了保費比較多外,理賠是差在哪裡?

依比例加倍給付的理賠是程度比較嚴重時。

手術保險金 x 比例 = 手術理賠費用限額

購買實支實付醫療險,須有以下概念

小問題交給全民健保大問題交給商業保險

2016年9月4日 星期日

【Android】筆記集錦

ref:https://ptodue.gitbooks.io/book2/

# performance
# memory leak
# ANR
# hashmap SparseArray ArrayMap
# memory manager tool
# thread & handler
# async task
# handler thread
# thread pool
# intent service
# thread & loader
# service
# weakReferance
# Internal Storage(cache)

2016年9月3日 星期六

【Book】ISBN 978-986-272-969-4 重點記錄

用生活常識就能看懂財務報表 重點記錄


Chapter 1:
  • 財報不能指單看一張損益表,還需搭配資產負債表現金流量表
    • 重要的是現金流量表 (Cashflow Statement)→ 數字代表真正有該筆金額流入或流出公司。
    • 資產負債表 (Balance Sheet)→ 當天餘額的觀念。
    • 損益表 (Income Statement/Profit & Loss)→ 推估的概念。
  • 財務報表就是公司營運成績單,所以學習第一階段,優先看懂會計師查核意見。法規要求上市櫃公司一年出具一次,所以只會在上市櫃公司的年報上才會出現會計師查核意見。
    • 會計師查核意見只能由下既定項目 5 選 1 :
      • 無保留意見 → 公司表現良好 , 5 種項目最好的,100分。
      • 修正式無保留意見 → 表該會計制度上有變更過或更換會計師,85分。
        • 遇到下列6種情況時:參考
      • 保留意見 → 表示會計師認為這家公司有問題,但不方便講,60分。
      • 無法表示意見 → 表會計師看不懂,50分。
      • 否定意見 → 唬爛,完全不及格。
    • 基本上合作的供應商或重要的客戶財報,在會計師查核後給出 後3項目,就必須要小心公司大有問題...斷料或呆帳等。
  • 「季報」:會計師只有基本的核閱(因作業時間有限),沒有實際查証核對過。所以,一般不會出現查核意見。
Chapter 2:
  • 損益表:收入 - 支出 = 帳面上賺的錢 (損 || 益)。
  • EBIT(Earnings Before Interest and Tax):息稅前盈餘(利潤)。
  • NI:稅後淨利。
  • EBS(Earnings Per Share):每股獲利 or 每股盈餘。
  • 一段時間內損失或收益的報表就稱為損益表。其中,一段時間介於:
    • 一個月:叫月報。
    • 一季:叫季報。
    • 一年:叫年報。
  • 銷貨收入:數字大,不一定好,要分類營收,才能辨好壞。常見的分類有:
    • 以客戶別分類:80/20法則,分析哪些客戶貢獻佔80%。但收入大部分來自1個大客戶,好事也是壞事,萬一大客戶轉單,也是大風險。
    • 以產品線分類:分析賺錢 or 不賺錢的的產品。
    • 以區域分類:以地區區分,需注意企業是否有分散風險。能包括五大洲是最好的。
  • 通常除了分類外,需搭配後面的營業費用(支出),才可看出端倪(企業賺錢 or not)。
  • 企業追求的是長期穩定的獲利模式,所以需以此觀念來閱讀損益表。
  • 淨利 = 收入 - 成本 - 費用。
    • 成本與費用控管的最新觀念:花更多的錢,提出更賺錢的方案
    • 開源 or 節流 沒有標準答案。
  • 淨利不等於現金。例如:損益表上銷售收入金額,不是100%確定的,只是「推估」的概念。
  • 作假帳第一招:在損益表上下其手
    • 財經界小笑話:財務報表中,字越小越重要。小於6 pt.(字型大小)的部分,超重要。
  • 財務報表要看連續5年,才能推測出公司是否有長期穩定的獲利能力。
    • 毛利持續下跌是合理:客戶長期會要求降價,毛利就穩定下跌。
    • 毛利緩步上升:表公司有持續做產品研發與升級。
    • 若5年期間,毛利從10%,在兩年內增為70%。是因為接到大客戶嗎?不可能,大客戶多半是奧客,通常量大就要求降價。所以最有可能的情況,公司轉型轉投資。例如:原是賣3C產品,近年改賣生技產品。
    • 或者公司5年內,原本毛利60%,突然連續兩年減為20%,表示:
      • 公司內部研發產品出問題。
      • 重要團隊異動。
      • 出現相同產界未知的競爭者。例如:Uber...等。
  • 損益兩平點:不賺不賠的平衡點,代表數量的觀念。(數學計算暫時跳過,參考)
Chapter 3:
  • 資產負債表 (Balance Sheet)英文直譯:平衡的報表。
    • 資產 ( Assert ) = 負債 ( Debt ) + 股東權益 ( Equity )。
      • 錢往左邊走,叫資產投資、資產配置、資本支出,或叫投資策略。
      • 前往右便走,叫處理債務、處理財務結構、也叫融資策略。
    • 資產負債表是一種存量、定量的觀念 ( 當天餘額 ),而不像損益表是流量 ( 一段時間 )的觀念。
  • 資產負債表左半邊,流動性越高擺越上面,其折價率越低。反之,越低擺越下面,但折價率越高。
  • 圖片以來自維基百科的圖片為例
  • 約當現金 ( Cash Equivalents ):短期具高度流動性之短期投資。因變現容易且交易成本低,因此可視為現金(Cash)。
    • 任一種金融資產,在90天內能變為現金,就可稱作約當現金。
  • 存貨 ( Inventory ):多少算是好壞,須看行業而定。例如:
    • 食品,存貨多,在保存現期限內,來不及銷售完畢,壞事。
    • 裸鑽,存貨多,價格有可能持續上揚,好事。
  • 有形資產折舊費用(Depreciation):依使用年限,足而減少。減少的部分即折舊費用,會記錄在損益表中。
    • 但土地算是一個特例:沒有其他資產有使用年限問題,沒有貶值幅度,也就沒有折舊幅度。
  • 資產負債表右半邊
  • 長期短期區分:
    • 小於一年叫做短期,超過一年叫做長期。例如:
      • 一年內到期的五年期銀行貸款,會被記錄到流動負債或短期負債科目中。
      • 任何長期負債,只要一年內即將到期的負債,就要歸類於短期負債。
  • 商譽(Goodwill) = 收購價 - 淨資產。
    •  所以商譽多代表不是好事,買貴了。
    • 屬無形資產的貶值幅度,稱分期攤銷費用(Amortization)。
    • 通常在併購且買貴時,才會出現這個項目。
  • 資本公積(Additional Paid In Capital)
    • 當併購時,買便宜的狀況就稱為資本公積,也就是公司不勞而獲的好處。
    • 公司法規定,發生以下5狀況,須放在資本公積 科目集中管理。
      • 股本溢價:舉例→10元股票現金增資40元,多收出來的30元就須記到資本公積 科目中。
      • 資產重估價值:舉例→10億購買土地,在資產重估後變為19億,多出的9億,須記錄此科目中。
      • 處分資產固定收益:舉例→2億成本土地,6億賣掉,多出4億紀錄此 科目中。
      • 企業合併所獲利益:無舉例。
      • 受領捐贈所得:無舉例,以此類推。
  • 錯誤財務觀念:
    • 以短支長 或 短債長投:錢的來源是短期負債(地下錢莊借錢),取得的是長期資產(支付長期機械設備廠房等投資)。
  • 正確財務觀念
    • 以長支長:舉例 → 房貸主、副約運用
      • 買房子可運用這觀念,在狀況良好時,向銀行借錢(貸款),能借多少就借多少。並在辦理完主約後,詢問副約房貸產品。
      • 所謂的副約產品是房貸還掉主約本金會變出一個循環額度,讓你循環20年。主約本金還多少,副約循環額度就增加多少。副約額度沒有動用就不計利息,概念和信用卡一樣,但這個方案是銀行一次給你20年期的額度,不像信用卡一年一期。
      • 一般房貸利率算法(主約):四大行庫定儲利率指數 ( I ) + 個人風險貼水。
        • 個人風險貼水:個人財力、工作經驗、職位、社會知名度。簡單來說,就是個人是否有長期的獲利能力(現金流量),財力越堅實,風險貼水就越低。
      • 副約循環額度利率:房貸主約利率 + 額外費用(通常約1%)  ≒ 3~4%。
      • 不要急著還清主約房貸,假如向銀行貸900萬,已還清899萬本金,保留1萬原本金故意不清償;所以一個月只需付不到50元的利息,就會有副約的899萬元透支額度(虛擬資金)。
      • 注意:這種副約循環額度是備而不用的,不要借出來投資買奢侈品
    • 延伸閱讀:
      上述這種方法查證後,通稱透支 or 理財型房貸連結1 點此 。不同銀行,方案名稱或許會不同。
      • 以房屋為擔保品,將貸款拆成兩部份,一部分為既有的固定房貸繳款,另一部份為循環動用型(循環透支額度, 又可稱為「回復型」)。
      • 適用於
        • 經常性從事投資理財活動的人。
        • 從事生意,需有資金可靈活調度的人。
        • 具有理財經驗,善於管理個人財富者,對有資金周轉需求的企業主或投資股市、房地產來說,也是極為方便的理財工具。
      • 個人感覺,對於沒錢的人,依然沒錢;但有錢的人,可以更有錢(廢話,以錢滾錢)。
    • 連結2:房貸別傻傻還!學有錢人這樣做,讓銀行從你的債主變金主

  • 盈餘分配只有參考答案,沒有標準答案。有以下5選項:
    1. 保守留現金
    2. 投資
    3. 併購
    4. 還款
    5. 分紅
    • 高手都是選1. 或 4.,不過大前提是最先滿足1.:保持 25% 現金,再而選擇 2. 3. 4. 5.;個人理財時,至少準備 3 ~ 6 個月緊急生活費觀念。
  • STANDARD & POOL 世界權威金融分析機構標準普爾公司建議最佳個人資產組合,當然要依個人家庭風險承受度、人生階段目標,調整自己合適的百分比。
    • 生活帳戶,10%
      • 包含食衣住行等基本生活費用,堪稱保命的錢。
      • 要保留6個月的生活資金,可放在風險低的銀行定存、貨幣基金中,高流動性。
      • 可隨時取用。
    • 槓桿帳戶,20%
      • 保險,以小博大:意外險、醫療險,在發生突然的事故,避免被迫到處借錢,賣房子、賣車等。
      • 前面講的以長支長,借用銀行的力量,隨時動用副約貸款20年期的虛擬資金,也可以度過人生低潮或大風浪。
    • 理財帳戶,30%
      • 投資,有風險,依風險承度規劃:操作股票、ETF、期貨、外匯或房地產等。
      • 這帳戶不能影響基本生活所需。
      • 無論盈虧都不能超過總資產50%。
    • 退休帳戶或教育帳戶,40%
      • 保留自己退休或子女教育用,每個月都要放錢。重點,保本。
      • 還是保本。
      • 中央存款保險只有300萬保障。超過300萬,到不同銀行開戶。避免銀行倒閉,中央存保最多理賠300萬元。
      • 美商銀行開戶:退休帳戶的三分之一,萬一兩岸開戰,美商銀行較有保障。
  • 公司經營能力:
    • 譬如『翻桌率』:您的資產一年幫公司做了幾趟生意,就是經營能力。可參考資產負債表左半邊
    • 分析採用年報較準:因為有淡旺季之別,在月報或季報中,數據會依淡旺季差別,產生高低估支狀況發生,所以分析年報上資訊較準確。
    • 接下來,財報立體觀念:(數學公式計算暫時跳過,p.145),是以資產負債表左半邊流動性排序(上至下)。
      • 應收帳款週轉率 (翻桌率):數字越高越好,看公司業務團隊收款能力。
        • 銷貨收入 / 應收帳款,應收帳款 = ( 期初應收帳款 + 期末應收帳款 ) / 2。 
      • 存貨周轉率 (翻桌率):存貨是以成本基礎列在公司資產負載表中(不是以市價列出喔!),存貨一年幫公司做幾趟生意,越大越好。
        • 銷貨成本 / 存貨,存貨 = ( 期初存貨 + 期末存貨 ) / 2。 
      • 固定資產周轉率 (翻桌率):越大越好,作者建議跳過這指標,和總資產周轉率雷同。
        • 銷貨收入 / 固定資產。
      • 總資產周轉率 (翻桌率):越大越好,可和同業比較。
        • 現金占總資產25%,最保守也要10%。
        • 銷貨收入 / 總資產。
        • 總資產周轉率 < 1:資本密集(燒錢)或奢侈品行業,一年投500億資產,但只有100億營收,例如:光電、面板、DRAM、生技、鋼鐵業等;
          • 資本密集,但損益表具有 長期穩定獲利能力 :TSMC、CHT、瓦斯公司、奢侈品(LV、...等)。
          • 資本密集,但公司有充足現金(佔總資產25%):阿里巴巴、Google、Facebook、騰訊...等。
        • 總資產周轉率 > 1:公司整體經營能力不錯。
        • 總資產周轉率 > 2:流通業或經營效率特別強公司。
      • 實務上,判斷公司經營能力,作者建議倒著看:
        • 總資產周轉率 (翻桌率) → 固定資產周轉率 (翻桌率) → 存貨周轉率 (翻桌率) → 應收帳款週轉率 (翻桌率)。
  • 經營能力實戰分析:( p.155 )有空再好好細讀這部分。
    • 財報作假帳:和過去五年財報相比( p.163 )
      • 現金佔總資產比率越來越少 → 做假交易收不到真錢。
      • 應收帳款佔總資產比例越來越大。
      • 應收帳款回收天數越來越長。
  • (p.169 ~ p.189) 數學 + 邏輯問題 + 思考 ,改天有空再看。
Chapter 4:
  • 現金流量表 (Cashflow Statement) 主要分三部分:
    • 營業活動的現金流量(主要來自損益表) - OCF, Operating CashFlow 
      • 看到『某公司營利創新高,獲利也創新高』新聞,第一步想到 淨利是預估值,非100%確定,再來該公司OCF是否是看正值
    • 投資活動的現金流量(主要來自資產負債表左邊的科目)。
      • 一般情況下,投資活動的現金流量多為負值。因為公司為了永續經營,必須不斷投資更多機械設備廠房等資產。
    • 融資(理財)活動的現金流量(主要來自資產負債表右邊的科目)。
    • → 綜合而言,只要有上一期和這一期損益表 + 期初、期末2張資產負債表 = 推導出 現金流量表。
      • 期初現金 + 營業活動的現金流量 + 投資活動現金流量 + 融資(理財)活動現金流量 = 期末現金 ,且 期末現金 = 現金與約當現金。
  • 任何現金流入公司叫『 + 』,表正值;任何現金流出公司叫『 - 』,表負值,舉例:
    • 17,384 → 收入17,384元;(878,778) → 支出 878,778元。  
  • 華倫‧巴菲特重視自由現金流量( FCF,Free Cashflow):
    • 自由現金流量 = 營運活動現金流量 - 該公司為了持續生存下來所需要的基本資本支出。
    • 所以最重要的財務指標之一就是營運活動現金流量
      • 沒有獲利,照常可以營運很久,只要一天沒有現金,就無法生存下去。
  • (p.207 ~ p.214) 現金流量表案例分析,數學 + 邏輯問題 + 思考 + 融會貫通,有空再看。
  • 營運活動現金流量分析四步驟:
    • 確認 營運活動現金流量是否大於 0?
      • 公司宣稱有獲利→代表損益表的淨利(NI) > 0 ,所以營運活動現金流量也必須 > 0。
    • 確認 獲利含金量
      • 剛創業時,淨利 = 營運活動現金流。
      • 幾年後,正常情況下,淨利 <<< 營運活動現金流。
        • 因為最後的淨利 會扣掉 非現金支出的折舊費用與分期攤銷費用(公司規模大)。 
      • 股市分析師創造獲利含金量公式
        • 獲利含金量 = 營運活動現金流(OCF) / 淨利(NI) = 大 / 小 > 100%。
        • 正常狀況下,必大於100%。不符合,表公司有意外或不為人知得內幕,值得驗證公司如報導所說那麼賺錢。
    • 確認  營運活動現金流量 > 流動負債
      • 營運活動現金流量:數據來自年報的話,公司一年期間將獲利轉成現金的能力。
      • 流動負債:應付帳款或應付票據等一年內會到期的對外負債。
      • 所以正常情況下,營運活動現金流量 > 流動負債,表該公司體質健康。
    • 確認營業活動現金流量、損益表的淨利,兩者趨勢變化是否相同?
      • 透過第2步驟,得知。
延伸閱讀:

2016年8月20日 星期六

【Android Studio】ddms: 'adb.exe,start-server' failed — run manually if necessary

ref :
http://stackoverflow.com/a/38310713

每次都是Android Studio更新後,就出現一對問題

一下子是Grandle有錯誤,弄了好久,之後又出現

ddms: 'adb.exe,start-server' failed — run manually if necessary

連不上Genymotion

所以沒事不要更新。

解決辦法:

Sometimes there are conflicts between ADB Genymotion and ADB SDK because both of them use the same port. So I recommend always set up ADB Genymotion to use the ADB SDK, in that way to avoid incompatible issues.
Genymotion-> Settings -> ADB -> Use custom Android SDK tools (here your set up your sdk android location).

2016年8月8日 星期一

【Android】UI Thread

ref:
https://ptodue.gitbooks.io/book2/content/2.1.2.html
http://ptodue.blogspot.tw/search/label/Runnable
http://ptodue.blogspot.tw/search/label/runOnUiThread

想執行在UI thread,可以呼叫 Activity.runOnUiThread() method。
假設目前的thread已經是在UI thread中,Runnable會立即的去執行。否則會透過UI thread的 MessageQueue 排隊。

new Handler(Looper.getMainLooper()).post(runnable);
以上面例子可以改寫成

或是改寫成

【Android】Thread

ref:
https://ptodue.gitbooks.io/book2/content/2.1.2.html
http://ptodue.blogspot.tw/search/label/Runnable
http://ptodue.blogspot.tw/search/label/runOnUiThread

實作Thread常用的使用方法有2種:

  • 繼承Thread class,再override實現run() method

  • 或是簡寫
  • implements Runnable(實作Runnable interface), 再override實現run() method。

  • 或是簡寫

2016年8月1日 星期一

【Finance】終身(手術醫療/住院醫療)險





以前家裡長輩被業務慫恿買了這兩個真順心雙安險( 萬一用倒,醫療有依靠!終身保障,醫療沒煩惱!)。直到現在需要理賠時,仔細看看保單條文,真的是羊毛出現在細節上,難怪常常在網路上看到不推薦買終身醫療險,剛好雙安就是大家不推的之一。
先說明保險的目的就是在風險發生後可以補償損失。個人感覺,終身險就是每年把終身需繳的的保費攤平至10~20年繳清。
其優點如下:

  • 可以保本。
  • 費率固定繳10~20年就可以擁有終身保障。就宣傳單上來看,保險範圍廣,包含住院療養、住院回診、加護病房、燒燙傷病房、門診手術、急診、緊急醫療運送、住院手術、重大疾病、意外創傷縫合...等很多項。
  • 無理賠紀錄增值保險金。
再來就是不算優點的重點:
當時保單合約上,手術的定義是"全民健康保險醫療費用支付標準第二部第二章第七節或第三部第三章第四節第二項所列舉之手術者"。
ref:
所以在[1]上寫的手術才有理賠,而[2]這項目根本不在了。這就是問題所在,因為買的是終身險,保單條款在簽約在的那一刻就固定了。也就是說健保有給付,且列在[1]的手術才有理賠。也就是說,現在有新的醫療技術,而有新的醫療項目名稱。雖然健保有給付,部分材料費需自付,但沒列在[1]項目中,所以保險不理賠。

再來門診手術的定義:當時保單上沒解釋,在金融消費評議中心網站查詢。
所稱「門診手術」就是患者於門診後,經醫師評估需手術治療且手術後患者本身或家人有自我照顧的能力,即由醫師預約手術日期,患者於安排手術當天到手術室報到,進行麻醉手術、經麻醉恢復觀察後,即可回家休息,無需住院治療。但有關「手術」二字採廣義或狹義解釋,應視條款規定。
但是現在保險公司以[1][2]的部分,說明門診手術不在[1][2]所列之手術,所以拒賠。
這樣對保戶來說,很不利。仔細看看[1]所列之手術,幾乎都屬"住院手術"範圍,在加上[2]所列之項目已消失,等於門診手術跟住院手術無一般區別。

接下來
通貨膨脹問題:小時候雞排一份25 30元就好,超過35元就很貴了。但是現在雞排一份基本40元起跳,終身險均是定額理賠。基本額度1000元/日,難保10年20年後這樣的額度夠用。


住院的問題:
現行DRGs制度實施,所以可能會造成住院天數減少。可能病還沒達到可自行照護部份,就被請出院(有遇過)。要求自費項目增加,所以住院醫療雜費也跟著增加。而根據2009健保局統計資料 (ref:page 44),每次住院,大概只有 ¼ (26%) 的錢花在病床費上。 住院 + 手術 一共也只佔了 35% 的比例。未來也可能會從手術變為處置。
這時手術和住院醫療險就沒包含到此風險,等於花高額保費,終身保障(?)。

最後其實想argue的點是送交保險理賠申請後,過了1、2個禮拜,完全沒有後續消息,包含到件處理中之類的簡訊或e-mail、電話完全沒有,就算是最後不予理賠,連個告知訊息也沒有。傻眼!




2016年7月17日 星期日

【Tool】Windows 7 8 螢幕錄製器

當平常要解說如何操作視窗功能時,說難其實不太難。但對剛接觸的人需要找某個功能在哪裡,與其透過教學者口頭敘述,倒不如直接提供每個步驟圖片再加上文字說明,讓使用者依樣畫葫蘆,即省下大半溝通時間。

但對教學者而言,一個一個步驟截圖,加上手動輸入文字說明,對不起!這實在太沒效率了。

剛好,發現一個好物是win 7/8 內建的螢幕錄影器,主要提供的功能,就是上述把沒效率的動作,透過這個程式,自動幫您處理好,而且又是內建不必再安裝任何其他軟體,真是太棒了。

操作步驟:
win鍵 + r → 輸入 psr → enter開啟

  • win7  問題步驟收錄程式
  • win8  步驟收錄程式

psr全名是Problem Steps Recorder
win 10不確定是否也有,需再確認


後面自己玩玩看,就知道好處在哪了!

後記:
2010/09/29 就有人介紹過,這樣的好物現在才發現,怒!

2016年6月19日 星期日

【Java】Copy array

ref:
http://www.programcreek.com/2015/03/system-arraycopy-vs-arrays-copyof-in-java/
http://openhome.cc/Gossip/JavaEssence/EqualOperator.html
http://toyangel.pixnet.net/blog/post/27163971

可以使用
int[] newArray = Arrays.copyOf(oldArray,newArray length);

那它和System.arraycopy()有何差別
可以參考以下範例:


System.arraycopy()
int[] arr = {1,2,3,4,5};
 
int[] copied = new int[10];
System.arraycopy(arr, 0, copied, 1, 5);//5 is the length to copy
 
System.out.println(Arrays.toString(copied));
Output:
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 1, 2, 3, 4, 5, 0, 0, 0, 0]
Arrays.copyOf()
int[] copied = Arrays.copyOf(arr, 10); //10 the the length of the new array
System.out.println(Arrays.toString(copied));
 
copied = Arrays.copyOf(arr, 3);
System.out.println(Arrays.toString(copied));
Output:
[1, 2, 3, 4, 5, 0, 0, 0, 0, 0]
[1, 2, 3]





以下廢言,因為有這些錯誤,所以才特別筆記了這一篇。
--------------------------------------------------------------------------------
之前犯了低級錯誤,浪費不少時間。

依照記憶寫的,原本想要複製陣列:
很直覺就寫下
old array =xxxx;
new array = old array
當然這省略一些步驟加上這只是pseudo code而以。
所以想當然爾,每次old array改變時,new array也會跟著改變。(因為new array 是指向 old array的reference value → call by value)


2016年6月12日 星期日

【Android】Autoincrement VersionCode with gradle extra properties

ref:
http://stackoverflow.com/a/21405744
https://github.com/commonsguy/cw-omnibus/tree/master/Gradle/HelloVersioning


down voteaccepted
I would like to read the versionCode from an external file
I am sure that there are any number of possible solutions; here is one:
android {
    compileSdkVersion 18
    buildToolsVersion "18.1.0"

    def versionPropsFile = file('version.properties')

    if (versionPropsFile.canRead()) {
        def Properties versionProps = new Properties()

        versionProps.load(new FileInputStream(versionPropsFile))

        def code = versionProps['VERSION_CODE'].toInteger() + 1

        versionProps['VERSION_CODE']=code.toString()
        versionProps.store(versionPropsFile.newWriter(), null)

        defaultConfig {
            versionCode code
            versionName "1.1"
            minSdkVersion 14
            targetSdkVersion 18
        }
    }
    else {
        throw new GradleException("Could not read version.properties!")
    }

    // rest of android block goes here
}
This code expects an existing version.properties file, which you would create by hand before the first build to have VERSION_CODE=8.