2021年11月9日 星期二

POSTGRE SQL 想使用變數去定義一段日期區間, 但遍尋不到像是在 MSSQL 時常用的 DECLARE @count int, @x int, @y nvarchar(10)...

想到一招利用 CTE 方式去定義一個這樣類似變數的作法來實現...

原來的script

with

cte_order_11month(uuid ,counts)

as (

--前11個月的所有訂購

select 

c.uuidcount(1) 

FROM ecorder e 

LEFT JOIN customer c ON c.id=e.customer_id 

 WHERE e.ecorder_source NOT IN ('11','12','14','15','16')

       and e.ecorder_date >= current_date - interval '1 month' * 12

       and e.ecorder_date <  to_date(to_char(current_date'yyyy/MM')||'/01''yyyy/MM/dd')

GROUP BY c.uuid

HAVING count(1)>0

)
....

上面code裡的current_date 是系統定義的當天, 若要想要改變日期, 就要在許多用到 current_date 的地方置換掉, 變為你要的日期....這對我來說真是痛點啊...

試著玩了一下底下的寫法..

with

v_test(start_date)

as (

select to_date('2021-10-1' , 'yyyy-mm-dd')

--select current_date

),

cte_order_11month(uuid ,counts)

as (

--前11個月的所有訂購

select 

c.uuid, count(1) 

FROM ecorder e 

LEFT JOIN customer c ON c.id=e.customer_id 

WHERE e.ecorder_source NOT IN ('11','12','14','15','16')

       and e.ecorder_date >= (select start_date from v_test) - interval '1 month' * 12

       and e.ecorder_date <  to_date(to_char((select start_date from v_test), 'yyyy/MM')||'/01', 'yyyy/MM/dd')

GROUP BY c.uuid

HAVING count(1)>0

)
....


以上面片段Script 為例 e.ecorder_date >= (select start_date from v_test), 其中select start_date from v_test 就是去我們自定義的v_test中的 start_date, 取出值來後, 再接著處理..

那這樣不就是變相的可以使用變數, 來完成這段 script 查詢嗎? 帥啦~

2018年8月14日 星期二

如何update Oracle某一TABLE裡的排序位, 並以名稱做為排序

在這裡做個筆記, 功能是以名稱排序後, update 欄位中的排序欄位(SORT)

update TABLE1 t set t.SORT =
    ( select RN
      from (select ROW_NUMBER() OVER(ORDER BY NAME) RN ,TABLE1.CODE
             from TABLE1
             where SYSTYPE='TYPE1'
             order by nlssort(NAME,'NLS_SORT=TCHINESE_RADICAL_M') 
           )
      where t.CODE = CODE and t.SYSTYPE = SYSTYPE
    )
where SYSTYPE='TYPE1'

紀錄一下~

林口通勤到台北-不搭機捷的理由

在高速公路還在收回數票的時候,林口的地埋位置就處於泰山收費站之後,每每要到台北就必需付40元,所以住在林口在當時算是不划算的選擇。後來跟著ETC的建置後,這個問題終於落幕。所以林口人就慢慢變多了,如何搭車上班這件事就要好好聰明選擇了。

回憶當時在936,937公車都還沒有的情形下,往返台北的交通工具就是機車。從大科路下山往泰山五股再經過三重到台北...

這樣的輕移民在我們出了一場車禍之後就立馬改為搭公車了。往事真的不堪回首;現在反而覺得可以搭著快速公車,往返台北還有30分鐘可以自由選擇睡覺、滑手機、看書、發呆。

但從期待機捷到現在之所以沒有搭乘的理由其實就是票價,當初的如意算盤打的是以台北車站到捷運淡水站到A9林口站的距離相當;如果又有轉乘和優遊卡折扣,那麼當初選林口的如意算盤算是打的精準。

但是人算不如天算啊,這些都隨著正式通車後破滅了...稍微計算一下

A.搭機捷到台北上班

機捷A1台北站 到 A9林口站 單次票價:80元 通勤時間差不多 32:48 分鐘, 但是你到站後想要再轉搭台北捷運,最快也要5分鐘才能到捷運系統。(在沒有買月票的情形)

     (優惠列表:30天30% off,60天35% off,90天 40% off,120天 50% off)


B.搭公車到圓山轉北捷到台北上班

936,937 以未來城社區來計算往圓山捷運站 單次票價:30元 通勤時間差不多 30~50(+-10%)分鐘,但是下車直接到台北捷運紅線。接下來又可以享受30分鐘內轉乘捷運的優惠。(注意因經由高速公路端視路況影響較大)


這樣計算一下往返價格與時間

A.機捷 80+80+(北市捷運票價) 至少 160+起跳 | 時間32+ (若以買最優惠120天優惠計算,5折80元)
B.公車 30+(北市捷運票價及轉乘優惠)|時間30~50(+-10%) (正常情況下)


以為我實例:在西門町上班我

A.160+20=180   來回->360    (若以買最優惠120天優惠計算,5折80+20=100元)

B.30+12=42        來回->84      (若以買最1280優惠計算,(1280/22=58)+20=78元)

   還可以踏UBIKE健身。(前30分鐘免費)


價差可以自己算算看, 在時間上我是覺得沒有比想像中差很多, 所以我目前就妥協於價格考量。

再以一個月22天來計算一下,更會有感。尤其現在1280公車捷運搭到飽的情況下,84*22=1848-1280=568 更可以省下來。


所以聰明的你/妳, 會怎麼選擇呢?


大家其實都很精打計算的~現在936,937搭公車的人愈來愈多了, 到時候社會住宅那2000多戶如果都住滿滿的,到最後又會是怎樣的情形呢? 再來打算吧~

2018年2月7日 星期三

[程式類]Aspose如何將樣板WORD插入多筆來自資料庫(Blob)的圖片

Aspose word是一個非常好用的文件產生器, 像是要在本文填入文字, 就要利用WORD
按一下 [插入] > [快速組件] > [功能變數]
[快速組件] 功能表上的 [插入功能變數] 選項。

在左方功能變數名稱選擇MergeField, 在欄位名稱填入例如: NAME 後按下確定
«NAME»

這是WORD裡的功能變數裡的顯示。

而在程式裡C#為例:
        Document docTemplate = new Document(ExportFile);

        DataTable mainTbHeader = new DataTable();
        mainTbHeader.Columns.Add("NAME");     

        DataRow mainDr = mainTbHeader.NewRow();
        mainDr["NAME"] = "NAME1";
        mainTbHeader.Rows.Add(mainDr);
        docTemplate.MailMerge.Execute(mainTbHeader);
        docTemplate.Save(ExportFile);
這樣檔案裡就會照著你的意思,有一文字ASPOSE。

以上為Aspose裡插入文字時的做法。

那如果是多筆文字的話在Word Tamplate要使用TableStart/TableEnd 如下所示:
«TableStart:NameList»
     «Name»
«TableEnd:NameList»

在程式中
DataTable NameList = new DataTable("NameList");

        NameList.Columns.Add("Name");

        // set row data 
DataRow dr = NameList.NewRow();
        dr["Name"]="Name1";
        NameList.Rows.Add(dr);

dr["Name"]="Name2";
NameList.Rows.Add(dr);

ds.Tables.Add(NameList );
        docTemplate.MailMerge.ExecuteWithRegions(ds);
這樣便可以將多筆資料內容,一筆一筆的填入。

重點來了, 本旨想要解釋的圖片呢?
Word Tamplate要使用Table,這一點和上面多筆文字內容一樣要使用table, 但是在Word的功能變數內容有些不同。如果是圖面要使用[Image:]這個特別的識別Tag
«TableStart:NAMELIST»
     «NAME»
     «Image:Picture»
«TableEnd:NAMELIST»

在程式中
        DataTable NameList = new DataTable("NameList");

        NameList.Columns.Add("Name");
        NameList.Columns.Add("Picture", typeof(Byte[]));// Byte Image

        // set row data 
        DataRow dr = NameList.NewRow();
        dr["Name"] = "Name1";
        byte[] myByteArray = GetImageFile(PK); //try to get the Image file
        dr["Picture"] = myByteArray;
        NameList.Rows.Add(dr);

        dr["Name"] = "Name2";
        byte[] myByteArray = GetImageFile(PK2); //try to get the Image file
        dr["Picture"] = myByteArray;
        NameList.Rows.Add(dr);

        ds.Tables.Add(NameList);
        docTemplate.MailMerge.ExecuteWithRegions(ds);

        //this part for Bind Image
        DocumentB起彼落uilder builder = new DocumentBuilder(docTemplate);
        ReportingEngine engine = new ReportingEngine();

        engine.BuildReport(docTemplate, ds, "ds");

請加入此Class
public class HandleMergeImageFieldFromBlob : IFieldMergingCallback
{
    void IFieldMergingCallback.FieldMerging(FieldMergingArgs e)
    {

    }

    /// <summary>
    /// This is called when mail merge engine encounters Image:XXX merge field in the document.
    /// You have a chance to return an Image object, file name or a stream that contains the image.
    /// </summary>
    void IFieldMergingCallback.ImageFieldMerging(ImageFieldMergingArgs e)
    {
        if (e.FieldValue == null || e.FieldValue is System.DBNull) return;
        // The field value is a byte array, just cast it and create a stream on it.

        MemoryStream imageStream = new MemoryStream((byte[])e.FieldValue);
        // Now the mail merge engine will retrieve the image from the stream.

        e.ImageStream = imageStream;

        e.ImageHeight.Value = 166;
        e.ImageWidth.Value = 250;
    }
}

2017年12月5日 星期二

[程式類]C# 產生HTML的行事曆格式 how to create a calendar in html.

有時只是想要在網頁上顯示一個月有哪些內容~並不是真正的要搞個行事曆系統出來, 此時可以用用這個,只是產出HTML語法; 丟到client端上的某個table 的 innerHTML 就可以了~

this function just generates the HTML of a calendar.  Using <table> <tr><td> tag.



public string GetCalendarDetail(string tmpYear, string tmpMonth)
{
string tmpStr = "";

tmpYear = "2017";
tmpMonth = "12";

int MonthDayCount = DateTime.DaystmpMonth(int.Parse(tmpYear), int.Parse(tmpMonth));

tmpStr = "<table class='table table-bordered my_table my_class_table'><tr style='height:13px;font-size:16px;'>";

int i, j, tmpDay = 1;
DateTime tmpDate;
int StartWeekDay = Convert.ToInt16(Convert.ToDateTime(tmpYear + "/" + tmpMonth + "/01").DayOfWeek);
tmpDay = tmpDay - StartWeekDay;
for (j = 1; j <= StartWeekDay; j++)
{
tmpStr += "<td></td>";
}
j = j - 1;
for (i = 1; i <= MonthDayCount; i++)
{
//Head
tmpDate = Convert.ToDateTime(tmpYear + "/" + tmpMonth + "/" + i);
if ((i + j) % 7 == 1)
{
tmpStr += "</tr>";
//Body
if (StartWeekDay == 0 && i == 1)
tmpStr = tmpStr.Replace("<tr style='height:13px;font-size:16px;'></tr>", "");
else
{
tmpStr += "<tr style='height:70px;font-size:12px;'>";
for (int k = 1; k <= 7; k++, tmpDay++)
{
tmpStr += "<td>";
if (tmpDay >= 1 && tmpDay <= MonthDayCount)
{
//tmpDaty is the Date
tmpStr += tmpDay.ToString();
}
tmpStr += "</td>";
}
tmpStr += "</tr>";
}
}
tmpStr += "<td>" + tmpDate.ToString("MM/dd") + "(" + tmpDate.DayOfWeek.ToString() + ")</td>";
}

//fill the qup
if (i + StartWeekDay <= 36)
for (int x = i + StartWeekDay; x <= 35; x++)
tmpStr += "<td></td>";
else if (i + StartWeekDay > 36)
for (int x = i + StartWeekDay; x <= 42; x++)
tmpStr += "<td></td>";

tmpStr += "<tr style='height:70px;font-size:12px;'>";
for (int k = 1; k <= 7; k++, tmpDay++)
{
tmpStr += "<td>";
if (tmpDay >= 1 && tmpDay <= MonthDayCount)
{
//tmpDaty is the Date
tmpStr += tmpDay.ToString();
}
tmpStr += "</td>";
}
tmpStr += "</tr>";

tmpStr += "</td></table>";

return tmpStr;
}

2017年5月11日 星期四

笑話一則「研究不懂事的真懂事」

一日,邊開車邊聽著電台裡的理財談話節目....

主持人說著就介紹起接下來的主講人,

接下來,讓我們歡迎「研究不懂事的真懂事」來為我們說明...○=X?◆

(哪招?)

(心想: 不懂事還要研究哦?)  

(而且還要特別說是"真"的很懂事...)

.
.
.
.
我恍然大悟..

是研究部裡的某位董事, 曾姓董事來說明啦.......

..

生活中常常會有這種猛聽,就怪怪的稱號,好像都在簡稱中出現...

像在公司中的鐘協  (中邪)....等等

搏君一笑~

2017年4月13日 星期四

可以借999不用還的信用卡

常常在要交卡費的時間想著, 到底是誰這麼厲害, 想出預支未來的信用卡。

把沒有錢, 沒有需求, 轉變成, 沒有錢也可以有需求...無形的幫助人們多一個的緩衝。

甚至讓人們有賺到1個月利息的感覺。

其實信用卡公司就在等一天, 等你那一天"用習慣", 等把你對於信用卡視為第一付款工具..

那就真真掉入他們的網了。

我是那種每月都會全額繳清的人....但



過繳費期限才繳

但有時都還是會要打電話去給信用卡公司盧, 說不好意思我出差..不好意思我出國...硬要請客服人員處理, 把它取消.......有時情緒上的威脅和動之以情都是難免。(深深覺得和客服吵架是在練功, 練如何吵架的好對象)這種應對進退, 如何達到目標都是需要學習的~~(練練的 哈)
反正就是不要被扣到這筆錢啦~

對於自栩自己理財還不錯的人, 決不能有這樣的結果, 你說是吧!



可以借999不用還的信用卡

我用信用卡應該少說也有20年了吧, 經驗不算少了, 但是你知道有的信用卡可以借你999都不用利息, 也不用還嗎?

我都會想去看信用卡後面那密密麻麻的字(現在有點發懶了),曾經就有看到花旗信用卡後面的文件上,舉例循環利息和繳款未滿最低額度等的違約金算法等..

滯納金:


利息計算:

看到這幾點個點我心中就會由然生出實驗的情感...

所以用有蠻多年的~只要你一直持續著用著這張卡~你就能還得只剩999..可不能下個月就不持續哦~不然到時會產生一種情形,最底應繳金額會變成999哦!!


有看到上期應付, 3148, 但我只還有2149, 留下999, 但~沒有產生任何的利息和滯納金...

就是這樣

可以借999不用還的信用卡

請小心使用,這只適合高度自制持之以恆的人哦, 如果有忘了幾天~ 它的利息可是算得很高哦~~

PSPS!!不是每個公司都能這樣搞哦~請先去查查吧!!!

2017年1月6日 星期五

[程式類]PLSQL查詢工作日; plsql how to get business days

若在PLSQL想要查詢所傳日期參數月的所有工作天,則使用以下方法達成

WITH ALLWorkDate as
(
    select allday workday from (
        select allday from (
            select to_date(to_char(TO_DATE(:tdate,'YYYY/MM/DD'),'yyyy-mm')||'-01','yyyy-mm-dd')+rownum-1 allday
            from
                (select to_date(to_char(TO_DATE(:tdate,'YYYY/MM/DD'),'yyyy-mm')||'-01','yyyy-mm-dd'),to_date(add_months(to_date(to_char(TO_DATE(:tdate,'YYYY/MM/DD'),'yyyy-mm')||'-01','yyyy-mm-dd'),'yyyy-mm-dd'),1) from dual)
            connect by rownum <= add_months(to_date(to_char(TO_DATE(:tdate,'YYYY/MM/DD'),'yyyy-mm')||'-01','yyyy-mm-dd'),1)-to_date(to_char(TO_DATE(:tdate,'YYYY/MM/DD'),'yyyy-mm')||'-01','yyyy-mm-dd')
        ) where 1=1
            and to_char(allday,'D') >1
            and to_char(allday,'D') <7
            and allday not in (select Holiday from EBHoliday where to_char(Holiday,'yyyy-mm') = to_char(TO_DATE(:tdate,'YYYY/MM/DD'),'yyyy-mm'))
        order by allday desc
    )aa
),LastWorkDate as
(
    select workday
    from ALLWorkDate
    where rownum = 1
),Last2WorkDates as
(
    select workday
    from ALLWorkDate
    where rownum <= 2
)

其中ALLWorkDate會將所有該月的日期撈出,再去掉在'假日檔'裡的日期;
我遇到的題目是最後一個工作日, 及最後兩個工作日..
所以利用反向排序後, 再用rownum指定是一筆, 還是兩筆...

[程式類]-PLSQL(oracle)中字字碼RDAP 字數算錯

在PLSQL 若採用RDAP 想輸出固定字數的字元時我們通常採用;

LDAP(Col, 10, ' ')

Col指的是欄位,
10表示固定10碼
' '表示要填不足碼的值
LDAP指左補' ',表示此欄位靠右;RDAP則反之

但是若Col裡的值是中文字時, 這時就要注意"難字"的問題

例:

LDAP('這是測式堃',10,' ')

這時它會誤判堃這個字,會造成所要的結果和你想的不一樣,

中文若要輸出固字的字數,則要使用DECode方法來避免這個問題產生

RPAD(DECODE('這是測式堃', NULL, ' ' , '這是測式堃'), 10, ' ')

2016年1月4日 星期一

105年勞保年度紓困貸款

各位朋友,一年一度的勞保紓困貸款又到了!

每年我都是趁著這個時候趕緊的把它申請了,近兩年真的沒有辦法,不申請這個真的過年的

時候都會很緊,尤其一些保費有的沒的都是在這個時間點投保,加上12/25日等緊接而來的花

錢大節也都是在這個時候相繼來報到。

今年的申請時間

105-01-08 ~ 105-01-22

網路報名比較快!!

https://www.landbank.com.tw/apply/LaborerReliefLoans.aspx?EpfJdId9UuA7kFp%2fZkAnHQ%3d%3d

底下是申請資格

 被保險人同時符合下列各款條件者,得申請本貸款。但已請領老年給付、終身無工作能力之
 失能給付或向其所屬機關請領勞工保險補償金者,不得申請
 (一)生活困難需要紓困。
 (二)參加勞工保險年資滿15年(計算至受理截止日即105年1月22日止)。
 (三)無欠繳勞工保險費及滯納金。
 (四)未曾借貸勞保紓困貸款,或曾借貸已繳清貸款本金及利息。

希望大家把握機會!!

2015年5月7日 星期四

[程式類]-JQuery iframe 底下同名(name)多物件的選取方式

通常我們使用JQuiry來選擇一些物件, 若網頁內文有iframe, 同時底下又一堆input box要選取..

這個時候要怎麼辦呢?

請利用contents()

$("#iframe_1").contents().find("input[name='Memo']").each(function(index){
alert($this.val());
});


[程式類]-JQuery .each 迴圈如何停止

在網頁上, 我們時常使用JQuery選擇器來做畫面上的檢核。尤其在畫面很複雜,輸入的欄位取相同的名稱時更常用到.each()這個迴圈功能,來判斷類似欄位的長度大小,數值等等。

舉個小小的例子, 在程式要送出之後, 做完檢查之後, 若發現在有長度超過的情況, 則彈出警示視窗, 並且停留在本頁。

以下為Javascritp中應用Jquery的程式碼:

dofrmSubmit()   {
if(!ChkFields()){return;}

frm1.submit();
}

function ChkFields()   {
$('input[name=Memo]').each(function(index){
if($(this).val().length >= 19)   {
alert("所輸入文字不得超過19個字元!!請查核!!");
return false;       //quit .each() loops
}
});

if($('input[name=Money]').val()=="") {
alert("請輸入金額欄位!");
return false;
}
}

在畫面上我們故意打了金額(Money),  但是在備註欄位(Memo)故意找其中一個, 打入長度過長的測試字串;

但為何使用了檢核後, 程式也照實的跳出警示訊息, 但是奇怪的地方來了...這一頁怎麼還被送出了呢?

原因在要跳出.each 的迴圈, return false; 是讓他中斷整個迴圈,話說程式檢查到問題,也中斷了,但是第二段ChkFileds()並沒有真的return false; (因為被.each用掉了)

所以在這裡要多設計一個flag,如果整個.each中有問題, 要把這個flag設定成true, 如下所示..

function ChkFields()   {
var CheckFailed = false;
$('input[name=Memo]').each(function(index){
if($(this).val().length >= 19)   {
alert("所輸入文字不得超過19個字元!!請查核!!");
CheckFailed = true;
return false; //跳出.each
}
});
if(CheckFailed == true)   {
return false;                     //ChkFields傳回 false;
}

if($('input[name=Money]').val()=="") {
alert("請輸入金額欄位!");
return false;
}
}

可以看到我檢核的部分加上紅色字體的部份,再多上一個flag(CheckFailed )來紀錄是否曾經有誤, 而利用這個flag, 判斷後再傳回false, 來達成這整個的效果~~

否則, 第一個出現的return false, 僅僅是跳出.each loop而已哦~~



2015年3月29日 星期日

超省錢-因智慧手機而不用買的物品(調音器篇)

生活上有許許多多東西都是為了特定目的而去買的。

像是球針,通常是輔助球類要灌氣時才會用的到,但用到的時候也算蠻緊急的;但通常找不到又要花錢去買。

在生活上像這樣的東西是蠻多的,不勝枚舉。

而我今天想要介紹的是關於學習音樂常會用到-"調音器"。

調音器

這個東西買起來也貴貴的,因為其實平常真的真的很少用到;但卻想用到時又安慰自已,反正老師說最好還是自己調音,利用根音的五階為標準,反覆依序下去,從而去練自己的音感....所以..好吧,不買了....

就這樣一而再,再而三的反覆安慰自己之中,如果你有智慧型手機的話,你現在真的可以用不用買了,你的手機就是你的調音器。

請您直接在 iphone Apple store 或是 google play 用關鍵字直接搜尋 "tuner" ,就會有一堆了..

我是找了一個免費的來用,雖然使用時底下會有一些廣告,但不致於影響我的目的。

ios/Guitar Tuner:
    它適用兩款樂器;Guitar(吉它) / Ukulele(烏克麗麗)

一進入主畫面就是調音的狀態下;彈奏指針就會自己辨識你是彈哪一根弦。

如果音準到了對的位置,畫面上會出現打勾的圖案。

這是吉它常使用到的基本音階值,初始為最常用的EADGBE

看到右手邊就知道這是給Ukulele(烏克麗麗)用的。

而且這類軟體通常都不用什麼教學,你只要把你的樂器靠近你的手機並彈奏它就會顯示目前的音樂頻率,指示您要轉緊或是放鬆。

有了這樣東西,真的就不用去買一個調音器了,超省$$的,還不用佔個位置,當然我不是專業人士,但是這樣對我來說就夠了。

2015年3月23日 星期一

林口三井outlet-不負責施工外觀照片

聽說三井outlet要拼2015第三季開幕,那就來看看吧~

update @ 2016/01/14 距離開幕還有 14天。

大門口

門口的噴泉。






update @ 2015/03/22
三井預定入口處圓型建築





2015年3月18日 星期三

林口-室內濕度參考

總是有人問我說~

你住林口哦?

那溼氣會不會很重啊?

住了三年了,總是會遇到吹南風的時候,那時是最最最潮濕的,甚至於連梯間等電梯的天花

板上都有了水滴,真的不誇張。

好吧~就用這個紀錄一下好了~

2015/05/07 0700 84% 屋外有霧
2015/05/05 0700 63% 外面大雨..裡面才63%真怪
2015/03/24 0755 濕氣 71% 陰天
2015/03/22 2100 濕度 66% 外面陰陰的室內卻 66%真怪
2015/03/21 1800 濕度 83%
2015/03/17 2100 濕度 93% 吹南風天

2015年1月19日 星期一

長庚醫院捷運站-不負責施工外觀照片

每天搭公車往返林口,都會經過一些大家關心的工程進度..

長庚醫院捷運站A8就是這樣..來看看目前到底週邊怎麼了~~

update @ 2015/01/19


原先在路邊的違籬都已經拆除, 來往行人/車順暢許多~


飯店上方外牆看起來都已經完成~


2015年1月14日 星期三

林口行政園區-不負責施工外觀照片


或許有人想看看目前林口捷運站A9附近的一些重要工程進度吧?

經過時順手一照~就當分享吧~

Update @ 2015/05/19(二)

原本白色部份的牆面保護貼紙都已經拆除~
可以看到人行道的雛型已經出來了!

Update @ 2015/04/22(三)

這幾張照片,看的出來已經拆除了圍籬。


update @ 2015/03/22(日)


可以看出照片左側的行政大樓鷹架也陸續拆除了


update @ 2015/01/19(一)


這是行政園區外觀已經有貼磁磚了, 應該底下是消防局的那一棟!(一樓看起來有挑高)





2015年1月12日 星期一

酒的好朋友--酒櫃採買紀事

家裡自從買了 神奇醒酒器 後, 家裡的紅酒就愈來愈多了, 甚至也有白酒的加入~~

就這樣紅白酒數量慢慢來到了快10支了...

炎夏就要來了, 讓我很擔心酒的保存問題.

之前酒都是亂放, 像是衣櫃這種家裡最冷最陰暗的角落, 就曾是我最好的選擇~

但是隨著7,8月的到來, 整個家裡的溫度一直飆高, 晚上甚至看到29.8度...快到30度了, 今年實在

太熱了..只好先買個酒櫃, 不然真的很頭痛......

噹噹~

就在五月份, COSTCO有海爾酒櫃的特價, 敗了這台C/P值頗高的酒櫃....


它的基本資料如下,
酒櫃品牌 型號         尺寸                                支數 層架 噪音 耗電量
Haier海爾 JC160GD 高128㎝ 寬50.6㎝ 深59.5㎝  51    8        40~45 150W

就這樣用了半年之後..有一天我竟然看到我掃地機器人充電座有黃黃的水漬....



彎下腰來才看到...酒櫃竟然在滴水....

我差點沒有昏過去...趕緊看了它的保固說明書, 上面寫著..若是有滴水現象表示是內外溫差大導致自然凝結的現象.....哇勒...那不還好我所擺放的位置是在磁磚上, 若我放在木質地板上..我不就每天擦就好了..

之後我就一直被這件事所苦惱..每天每天就會去巡一下, 是不是又有水跑出來..這件事真的超級煩人的~~

就在這件事發生沒多久之後, 我發現COSTCO又有進新的酒櫃了, 它是來自丹麥原裝進口的酒櫃, 叫做SKANDILUXE

酒櫃品牌          型號    尺寸        支數   層架 噪音     耗電量
SKANDILUXE W106 60*60*185 106        6 37         0.87kW/24h


這一台比我之前買的C/P值更高, 不管是噪音, 耗電量都比海爾好, 酒的數量更可以放到106支~, 可是我已經有一台了, 不知道可不可以退貨啊? 我都已經用了那麼久了, 實在是因為它會漏水, 不然它這個size對我來說, 已經是將將好了說~~
就在12月份有一個優惠活動, 減了3000元, 心想..不然我就把它退貨, 再買一台新的, 這樣既可以解決漏水的問題, 也可以換一個c/p值更高的酒櫃, 只好硬著頭皮詢問可不可以退貨...想不到costoc這麼的阿莎力, 就說, 那你就買完的新的當天請貨運順便把舊的載回來退貨就好了啊~~


於是乎, 這就是把舊的酒櫃搬走後的水漬, 有圖有真象!! 沒有騙人吧~~



這麼貼心的事我怎麼都沒有想到, 我只要付些許的運費就好了~~

實在太開心了!! 解決一件煩心的事~~ :)




2014年11月26日 星期三

免費 - 生活上的事能省則省

在現代 ,能夠維持一個家 ,又要保有一定的生活水準 ,一定要好好利用一些社會資源.

有些免費的服務雖然麻煩了點 ,但是只要好好尋找利用 ,總是能夠解決一些問題.

免費

網路
  1. 很多公共區域都有免費的網路可以提供, 像捷運郵局/全家/小7 .. 請參考點我
健康
  1. 關於健康我想是屬於一些免費的抽血檢查,包括政府像是....
    衛生福利部國民健康署『免費預防保健服務』
    ◎ 成人預防保健
    ◎ 口腔癌檢查
    ◎ 大腸癌糞便檢查
    ◎ 婦女抹片檢查(女醫師)
    以上免掛號費、免自付額。
  2. 好心肝門診中心等社福團體辦的一些關於肝的活動..
    但它通常有些規定,
    檢查資格:年滿40歲(民國64年以前出生者)
    保肝篩檢活動 參考網址
  3. 勞工健康檢查:參考網址
    依「職業安全衛生法」第20條規定,針對在職人員實施的定期健康檢查費用由雇主負擔,不得向勞工收取費用。

    預防職業病健康檢查:參考網址
    從事於特殊的環境, 像是長時間於高溫、吵雜等等底下的勞工,做一些關於檢查, 像底下等等。

    如果雇主疏於管理也可以自行檢查後再去申請費用..參考網址
    費用:本項檢查之檢查費用由本局支付,被保險人只需繳交掛號費。
  4. 台北卡(不僅免費, 還可以賺錢)
    它是衛生局推出有關於推動居民注動健康 ,推動一系列健康篩檢並結合健康促進集點活動, 把點數變為悠遊卡加值金。請參考
交通
  1. 鄉縣市鎮:
    各個鄉縣市鎮或多或少都有推出一些免費巴士 ,這一定大家都知道, 在這裡提供一下新北市政府所提供的, 請參考
  2. 百貨公司
    有些離捷運站遠一點的百貨公司會願意提供免費公車定點的往返捷運站,以吸引消費者並促進消費。像是京華城提供的生活巴士,大葉高島屋的免費購物專車 等等. 最好出發前先去查查。
  3. 腳踏車:
    ubike到目前為止均還有前30分鐘不收$$這件事, 加上可以稍微運動一下, 真是雙贏啊, 但是記得戴口罩~~
電視頻道
  1. 數位電視無線訊號:雖然是免費的軟體內容但是硬體的部份也是要花一次費用,關於頻道請參考。也可以參考我寫的這一篇文章
  2. 免費的衛星訊號:這個部份與數位電視一樣,要裝設硬體以及日後的維護費用。端看所安裝的天線大小及角度來取決所收視的範圍。google一下【免費衛星電視】就一堆了。
露營
  1. 台北市有二個免費露營的場地分別是貴子坑露營場和碧山露營場。
    有水有電還幫你保意外險,有時想遠離塵囂,不彷規畫個二天一夜,好好放鬆一下吧~



其它在電腦類裡軟體的部份更是應有盡有,在這個文章裡介紹的比較徧向生活食衣住行上為主,歡迎大家互相提供有無哦~~~


2014年10月17日 星期五

裝洗碗機BOSCH 45cm(SPS63M02TC)~廚櫃抬面抬昇DIY

在網路上興沖沖的買了BOSCH 45公分洗碗機(SPS63M02TC)之後...接踵而來是其它問題...


它的規格為45cm 洗碗機 45 公分(寬) x 60 公分 (深) x 84.5 公分(高) 移除上蓋為81.5公分(高)

本來選擇寬45cm就是為了廚房也不夠大,寬60實在塞不下~~

天真的我完全沒有廚櫃的任何經驗,在一次尋問專業的BOSCH網路賣家,若廚房的人造台面要昇高的話,差不多要多少...
如果廚房是一字型組合櫃的話,差不多要6000元....
什麼!~!昇高抬面要整整6000元還不含安裝費與樓層費拆機費...

聽到這個噩耗,便燃起抬昇DIY的念頭..

首先我想的就是,怎麼調?? 在打開廚櫃底下的裝飾蓋板後..便發現到廚櫃底下其實是一支一支的可調高度的腳座,像一般的桌子底下那種多半都有這種東西。

這讓我DIY的信心大增,是不是我只要想辦法調整它,把它轉高就好了呢?

首先確認一下目前家裡廚櫃的情形,左右46公分 OK,地面到台面下緣只有80.5公分..差1公分!

寬46cm夠了夠了..

高80.5cm殘念..

第一步:
把所有放在廚櫃裡的東西全部都先移走。

第二步:
把台面與牆壁上的矽利康(silicone)利用刀片完全割開。再清潔台面與牆壁上的殘留矽利康。

利用刀片而完全割開,反正之前的也很醜..早想換掉了..

你會發現台面其實只是放在廚櫃上而已...僅僅靠silicone黏住而已..


第三步:
將欲取出的組合櫃;通常之前組裝的師傅會使用電動工具鎖緊,所以建議用電動工具轉開,用手會費很大力哦~
把螺絲都轉開就可以把它順利取出了。



這就是取出來的組合櫃

這是取出後廚櫃的空間...左右變成有50公分了~~


第四步:
檢查廚櫃中的管線,若有開洞的地方要看看若昇高不空間夠的話,就要調整一下~~
瓦斯管底下..好像不夠一公分耶..

這個似乎夠耶~~

差一點..所以要往下鑽一點..讓它足夠一公分..


第五步:
調整廚櫃腳的高度,這個我不知道有沒有工具,但是我是用手將它慢慢旋轉使其變高..建議載手套,有些塑料會有一些扎手的地方。
只要調整到你要的高度,再加上水平儀的調校準,這樣應該就可以了。
以這一台的高度而言,高度調整到81.5公分,基本上就OK了!

我的媽呀..DIY的工還真多...轉得手都酸了..


好不容易啊~~趕緊把主角放進去看看....
記得把上蓋拿掉ㄟ(打開洗碗機,上方有兩個怪怪的弧形往下壓就可以移動..)



放上去的感覺超棒!! 只要再請專業師傅來做基本的安裝(費用1500),把Silicone黏回去就好了!!!

YES~ 幸苦是值得的啦! 6000元自己賺!!

POSTGRE SQL 想使用變數去定義一段日期區間, 但遍尋不到像是在 MSSQL 時常用的 DECLARE @count int, @x int, @y nvarchar(10)... 想到一招利用 CTE 方式去定義一個這樣類似變數的作法來實現... 原來的script w...