標籤

ASP.NET MVC (29) Visual C# (15) JQuery (10) Plugins (8) JQuery Plugins (6) JavaScript (6) MySQL (5) CSS (4) LinQ (4) Mac OS (4) CentOS (3) Design Pattern (3) Entity Framework (3) IIS (3) Python (3) Windows (3) php (3) Docker (2) LAMP (2) SQL Server (2) WCF (2) .NET (1) .NET Core (1) AWS (1) Browser (1) GIS (1) IE (1) Internet Security (1) Linux (1) Platform (1) React (1) SEO (1) Testing (1) VMware (1) Windows 7 (1) cookie (1) curl (1) laravel (1) phpBB (1) session (1) 中古屋 (1) 透天 (1) 閒言閒語 (1) 面試 (1) 鳥松 (1)

2020年2月1日 星期六

找房看房買房之注意事項 (一)

這篇算是自己在七年內買了兩間房子中所獲取經驗的整理,一部分是紀錄,另一部分則是希望可以幫助有計畫買房子或是換房子的人。此篇包含預算、房屋類型與房屋地點等。


(以下均已我自身狀況所撰寫,筆者本身兩間都是中古屋,對新屋有研究但不能說完全了解,請讀者選取對自己有幫助的部分即可)

預算

自備款
買房子最重要的一個因素就是現金(自備款)的多寡,這直接影響到我們的購屋預算,先以中古屋來說,現今買房自備款約兩成左右,其他的部分是銀行承貸。
現金該如何推估可購買的最高房價呢?我們以自備款200萬為例,最多可以購買的房價為1000萬,因為 [房價 X 0.2 等於 自備款 ] (1000 x 0.2 = 200),如果自備款100萬則最多可以購買500萬的房子。以上只是粗估,實際上成交還需要付房仲服務費以及一些法定的規費等,所以在評估時需要留一些餘裕 。

月付額
 與此項最直接的關係是,能跟銀行貸到多少額度。例如前述說買1000萬房屋自備款200萬,準備跟銀行貸款800萬,但是銀行不會平白無故借我們錢,通常一般上班族是使用月薪去評估,以及個人的信用狀況。
平常要維持良好信用,跟銀行有往來最直接的方式就是使用信用卡,並且每個月都一次付清且不要有循環利息。
月付款與月薪是掛鉤的,通常月付款不能超過月薪的6成,例如月薪4萬,則銀行評估可承受的月付款為 4 * 0.6 = 2萬4 ,以這個數字反推總貸款金額,大約落在700萬左右。
當然這只是估算,實際會根據個人的財力證明而有所差異(如存款、去年繳交之個人所得稅、持有股票,擁有的房產地產等)。

記得筆者當初辦理貸款評估時,承辦人只說了: 「有錢的銀行帳戶都請印一份給我」,實際上就是在索取財力證明。

房屋類型

房屋類型是預算之外的第二種選擇,目前大家比較耳熟能詳的有三種類型:

  • 公寓 : 通常是指四樓~五樓左右的無電梯集合住宅
    • 優點: 房價最便宜,尤其是四樓與五樓,因公設少故使用坪數多。
    • 缺點: 需要爬樓梯,無管委會故公共設施維護不易,需自行處理垃圾、信件。通常沒有車位,另外有可能會遇到比較吵的鄰居。
  • 大樓 : 通常是指七樓以上有電梯有保全的集合住宅
    • 優點: 房價中等,有電梯不須爬樓梯,管理室可幫忙收信收垃圾。
    • 缺點: 因公設大故房屋虛坪大,最容易遇到吵的鄰居(樓上樓下左鄰右舍),如有貸款需考慮管理費。
  • 透天 : 有天有地,通常只有左右鄰居
    • 優點: 不容易遇到鄰居吵。
    • 缺點: 房價偏高,如果不是有管理室一樣要自己處理垃圾跟收信。
  • 別墅 : 有天有地有花園,自己一棟。
    • 優點 : 完全屬於自己的空間絕不會有鄰居吵的問題。
    • 缺點 : 房價最貴且通常不在市中心。

以上這幾種是大致上的分類,而其各自都有小差異或是介於兩類之前的房屋類型。例如我看過所謂五樓公寓有電梯但卻沒有管理室。或是透天也有分不少種類型,如:

  • 騎樓透天 : 如字面上,一樓屋前是騎樓,通常是保留讓行人通過,但大部分住戶會自己拿來停私家車。
  • 社區型透天 : 通常有管委會以及外車無法進入的社區通道,有些停車場會作在地下室。
  • 新加坡式透天 : 泛指車庫占用整個一樓的透天,通常是小地坪透天。 
  • 連棟透天 : 建築物與左右鄰居相連,邊間除外。
  • 雙拼透天 : 每戶都是兩間透天相連,也就是鄰居只存在左邊或右邊。
  • 獨棟透天 : 透天最高等級,與左右不相連,通常是地主自己蓋的產品,跟別墅的區別是不會有前庭後院。

因為筆者在購買透天花比較多功夫,較無著墨在公寓大樓與別墅此種建築,相信其他房屋類型也都是有自己的小分類與小區隔。


房屋座落位置

決定好預算與房屋類型後,就可以選地點了。以高雄為例,預算1000萬的大樓或是1000萬的透天,以新成屋來說就有差別了,1000萬的大樓可以選擇市區,但是1000萬的透天只能選擇市郊或是郊區了。為甚麼需要先決定預算跟房屋類型才決定房屋地點呢? 因為前兩項是剛性需求,今天預算500萬的狀態下不可能憑空過兩天就變成了1500萬,因為現金與月薪不可能短時間有變動。(當然中樂透就有可能 XD)
所以通常房屋地點是前兩項決定後的妥協。
但市區市郊的定義每個人都不盡相同,筆者只是想借用這些詞表達一個概略的觀念而已。




參考資料
房貸試算服務







































2019年8月9日 星期五

鳥松中古透天找房與看屋過程心得

前言


由於從小居住在高雄也在高雄求學, 畢業退伍後短暫在台中台北租房子工作,

最後還是決定還是回到家鄉定居, 故約莫六年前已經與老婆一起在鳳山買了屋齡18年的國宅,

也一路經歷了返鄉結婚, 生了兩個小孩, 開開心心地過了六年.



其實在目前的國宅是住的很愉快的, 只是從一開始搬進去時,

就不時有少數鄰居會找各種有創意的理由來按門鈴,

例如「白天客廳不能奔跑」「雨天才能洗陽台」「半夜兩點有走路的聲音」

而近期更是頻繁的按門鈴並且使用管委會貼公告的方式來騷擾家人,

著實令人困擾. 畢竟本人也只是普通上班族, 天天提心吊膽不是辦法, 如此萌生搬家的念頭.

每隔一陣子就有管委會的單子會在我家出現


也許是這些煩人的創意理由, 讓我們決定這次一定要找透天類型的房屋,

因預算不高, 想壓在600萬左右買到屋況尚可的物件, 結果真是吃米不知米價,

高雄只剩下連蛋殼都稱不上的地區有這種價格了(例如 旗山, 燕巢, 美濃, 梓官等)

故放棄市區的房子後, 最後鎖定鳥松區域的中古透天.


拜網際網路發達所賜, 線上找房子非常方便, 透過知名連鎖房仲品牌的官網,

或是591, 好房網等平台, 只需輸入搜尋條件(地區, 房屋型態, 售價等)後

即可獲得所有房屋的售出訊息.


由於預算只有600萬, 故搜尋時上限調高到800萬. 這邊提一下,

通常屋主的底價是落在房屋開價的8~9成左右,舉個例子,

假使看到開價500萬的房子, 可以推測屋主底價大約是400~450萬左右,

不是絕對但可以當參考值.

鳥松在800萬內的透天其實不多, 總數不超過30間, 大概是集中在以下四個地方:
A. 松浦北巷與松浦路 (鳥松的山坡上, 位於183縣道東邊)
B. 鳥松仁美 (自成一格的社區, 算鳥松東邊, 快接近九曲堂)
C. 登發商圈(實際這邊已經算是鳥松北邊的仁武, 因為有學區是很搶手的地段)
D. 鳥松夜市與鳥松國小附近 (延松浦路下山後, 183縣道西邊的熱鬧區域)


由於對預算與屋況的要求, 符合條件的屋齡大致上落在25~40年左右,

若以物件數量排序的話, 是 松浦北巷 > 仁美 > 登發 > 鳥松國小,

以下就這四個區域一一說明, 留給後來找透天的人一些參考.


1. 松浦北巷與松浦路


為什麼松浦北巷會有這麼多透天呢?因為這個山區20多年前有很多豪華的別墅建案蓋在這邊,

據我所知由山下到山上共有四個建案:「美麗皇家」「龍陽山莊」「上景山莊」「觀湖山莊」

其中龍陽與上景是真的有看物件的, 其餘有刻意開車經過但沒有物件可看.


美麗皇家 :

美麗皇家是別墅與大樓混合的社區, 社區內公設的設備很不錯,

不過從網路上可以得知管委會部分可能有疑慮, 剛好也沒有物件出售, 就跳過.

美麗皇家是位於山坡上的大樓別墅混合型住宅社區


龍陽山莊:

一樣也是別墅與大樓混合的社區, 社區就剛好座落在美麗皇家旁邊,

這社區總共看了三間, 入口警衛室感覺很嚴謹, 而且住戶有一定的水準背景.

就我與鄰居聊天了解, 有退休老師, 商人, 醫師, 或是中鋼職員等收入穩定工作的職業.

這邊三間都是約80坪的正五樓別墅, 差別只在停三平車或雙平車而已.

房型都是一樓停車場, 二樓客廳廚房, 三樓整層主臥, 四樓兩個房間,

五樓開放空間與房間各一.

第一間開價1000萬, 目測光屋內的裝潢應該有400萬以上, 其實蠻喜歡這間的,

無奈暴預算放棄.

另外兩間感覺都還要花一筆不小的數目整理, 故也不在選擇範圍內.

龍陽山莊警衛嚴謹,住戶素質也不錯


上景山莊:這裏是單純的歐風別墅社區,沒有大樓, 房型是正四樓, 地下室共用車道停車,

一樓客廳廚房, 二樓整層主臥, 三樓兩間房間, 四樓一間和室,

總共共有三間廁所, 大約50幾坪.

其實這社區感覺不錯, 安靜清幽, 價格也有在預算內, 不過最後因我個人的原因而作罷.

上景山莊是單純的歐風別墅社區


觀湖山莊:

一樣是別墅與大樓的混合社區, 這邊別墅都要破1500, 預算只能看大樓, 所以就跳過了.

如果對這裡有興趣的人, 大概就是要注意用水問題, 網路上訊息是說只有地下水沒有自來水.
觀湖山莊擁有豪華別墅區,風景很棒


其實這個地段真的非常安靜, 很適合想要遠離塵囂的人, 不過同時也是缺點, 生

活機能除了一間便利超商, 就得下山到鳥松國小附近了.

所以這裡的房價相對親民, 所謂有捨有得嘛~

2. 鳥松仁美


找仁美基本上是誤打誤撞, 剛好有三件符合預算的物件,

實際走過後發現此區像未開發的鄉下城鎮,基本生活機能不錯,

而且也不在淹水區域, 其實這幾年都有豪華車墅的建案在此開發,

例如10年前的「大塊山湖」、「微風小城」以及近期推出的「大方墅印」,

不過這些建案開價大致上都在1500萬左右, 不在我的考慮範圍內,

與松浦附近比起來仁美這邊還有機會再發展.

(松浦附近的山坡地建地很少, 鳥松都市計畫也不在該區)
仁美近十年有很多豪華別墅建案,圖為大塊山湖的街景


因預算考量, 我主要還是看中古的二手透天, 仁美有看過的三個物件中,

有兩件是同一期的產品, 據悉是寶成建設蓋的.

房型為地下室餐廳廚房, 一樓外車庫, 一樓內有客廳與孝親房, 二樓有兩間房間(無套房),

三樓房間與開放空間各一. 這兩間寶成建設有一間需整理, 另一間則開價太高而作罷.


最後一間是屋主自己約10年前重新整修過的20多年透天, 這間因為實際看屋後,

覺得翻修用料扎實, 而且屋主自己有住過10年, 與鄰居哈拉過後也感覺不錯,

故覆看了兩次後(白天+晚上), 最終選擇了它.
仁美大同路與學堂路周邊生活機能完善


3. 登發商圈


這地區其實房價不低, 原因是生活機能好, 加上有學區(登發國小+大灣國中),

所以應該是家庭成員中有小孩的首選地段,

目前30年內屋況尚可的中古透天大概落在700萬~900萬之間 .


此區域我只看了一間六房的物件.房型是

一樓外停車, 一樓內有客廳廚房, 二三四樓各有兩間房間, 一樣沒有主臥.

(舊式透天好像很常看到這種房型, 浴室都在樓梯間旁邊, 不在房間內)

這個物件不知道怎麼說, 一進去就不太喜歡格局, 樓梯也很小不好走, 加上無尾巷.

只花了不到五分鐘就草草結束看房行程.

登發生活機能完善也有學區,目前是搶手熱門地段

4. 鳥松國小周邊


這區域生活機能也很好, 近183縣道的中古透天偏老舊, 但近澄清湖的清一色是豪宅車墅,

所以最後是沒有看任何一間此區域的房子, 要找這裡大概要等某位大老闆生意週轉不靈,

或是剛好遇到有翻修好的中古透天出售才有機會了, 但相信價格也不會太親民就是.

鳥松國小附近生活機能完善

結論


此次找屋對我們來說其實蠻急的, 總共花不到一個月的時間就決定了, 整體來說運氣不錯.

我們非常喜歡仁美的居住環境, 寧靜的環境中又不失傳統的人情味,

所謂「千金買屋, 萬金買鄰」, 買房過程除了挑房子的外型地點環境以外,

鄰居也是佔生活中非常重要的一環.


另外由於此次選擇鳥松, 有針對都市計畫 與 未來的高雄捷運路網做一些研究,

未來如果黃線完工(預計2029年通車)的話, 其實帶動的效應也是很可觀,

仁美這個地點其實是很有發展性的. 而都市計畫也有針對仁美的一大片鳳梨田去做規劃,

未來應該會有更多參與的建案與吸引其他居民進駐.

如果各位看倌有鎖定在鳥松購屋置產的, 個人推薦在房價尚未上揚之前,

也可以考慮看看物美價廉的鳥松仁美唷~


參考資料

[仁美都市計畫相關]
  1. 變更鳥松(仁美地區)都市計畫 - 高雄市政府都市發展局
  2. 黃線 - 高雄市政府捷運工程局

[找房網站]
  1. 591中古屋
  2. 樂屋網
  3. 永慶房屋
  4. 信義房屋





















































2018年5月1日 星期二

啟動docker時出現「Cannot start service :driver failed programming external connectivity on endpoint xxx, Bind for 0.0.0.0:80 failed: port is already allocated 」

啟動docker時出現「Cannot start service :driver failed programming external connectivity on endpoint xxx, Bind for 0.0.0.0:80 failed: port is already allocated 」

解決紀錄:

出現錯誤時先把docker關閉
✗ docker-compose down


再次啟動docker
✗ docker-compose up


發現還是一樣的錯誤訊息
ERROR: for dockerdevenv_php_1  Cannot start service xxx: driver failed programming external connectivity on endpoint xxx (3fb2445adf3cf07061d859f478293b90af21f793b1b01ba5f23203f145d7342f): Bind for 0.0.0.0:80 failed: port is already allocated


想找出是什麼process佔住80 port, 所以關閉docker後輸入下列指令「lsof -nP +c 15 | grep LISTEN」







恩, 用kill -9結束process



再次啟動docker, 成功~












2017年9月28日 星期四

[測試] IE在Windows的前端測試環境



Web開發後的測試是比較頭痛的問題, 有時前端套用的framework(例如Vue.js or Angular.js),

甚至CSS語法 或 pure javascript語法, 都會有IE不相容或不支援的狀況.

為了可以提早在測試先發現這些Bug,

微軟有提供IE & Edge 版本的虛擬環境(VM)讓開發人員方便測試,


目前提供的瀏覽器版本有

  • IE8 on Win7 (x86)
  • IE9 on Win7 (x86)
  • IE10 on Win7 (x86)
  • IE11 on Win7 (x86)
  • IE11 on Win81 (x86)
  • MSEdge on Win10 (x64) Stable (15.15063)
  • MSEdge on Win10 (x64) Preview (16.16257)


目前提供的虛擬環境版本有

  • VirtualBox
  • Vagrant
  • HyperV (Windows)
  • VPC (Windows)
  • VMware (Windows, Mac)
  • Parallels (Mac)

下載網頁, 點我. 可以選擇自己需要的IE版本與虛擬環境


下載後為*.zip檔案, 解壓縮後可以掛到自己的VM, 打開畫面如下(以IE11 in Parallels)




等待安裝完成後, 就可以開始使用IE測試囉~






Reference











2017年4月26日 星期三

curl 指令如何使用 cookie

curl 是可以取得網頁內容的指令

語法是

➜  ~ curl  "https://www.google.com"

如果想要保持連線狀態的話就必須透過cookie來達成,

curl可以使用檔案方式來讀寫cookie, 語法為-c

➜  ~ curl -c googlecookie "http://www.google.com.tw/"

使用並讀取該cookie的語法為-b

➜  ~ curl -b googlecookie "http://www.google.com.tw/"/"

可用cat觀看cookie保存的資訊:
➜  ~ cat googlecookie   
                             
# Netscape HTTP Cookie File
# http://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
#HttpOnly_.google.com.tw TRUE / FALSE 1509019185 NID 102=K7YGg2AnB0sRuEW2fBj-YlogUpgBellyQFZZ7efgcUFJRjbDE1jLm9ky-aji2F4KEDtCxY6_Pxdu7xBtiKxtgBaCT7nz7gsOzUiMPTVJ0lZHajlOUjVkimkg4YPJrWJ5


如果想要多帶參數, 可以使用-d, 想帶referer網址可以使用--referer

➜  ~ curl -c googlecookie "http://www.google.com.tw/" -d "A=a" -d "B=b" --referer "http://www.google.com.tw/"



Reference:


HTTP Cookies
curl: how to send cookies via command line?


2017年2月6日 星期一

PHP MySQL 出現 「Fatal error: Call to undefined method mysqli_stmt::get_result()」

Fatal error: Call to undefined method mysqli_stmt::get_result()

原因是PHP透過MySQLi使用prepare statement, 必須要安裝mysqlnd driver

Mac環境似乎預設就有載入,


Reference:

1. mysqli_stmt::get_result

2. StackOverflow: Call to undefined method mysqli_stmt::get_result

3. MySQL Native Driver





2016年11月22日 星期二

[PHP] Laravel syntax error, unexpected '[' in guzzlehttp/guzzle/src/functions.php on line ...


這幾天重新安裝Laravel時, 發現apache出現PHP錯誤

syntax error, unexpected '[' in guzzlehttp/guzzle/src/functions.php on line



看訊息一開始以為是guzzle http client有錯誤,

查詢後發現原來[]語法代表陣列是PHP5.4之後的版本才支援,

如果是使用PHP5.3或更早版本則會出現語法錯誤(Parse error).

解決方式是將PHP升級至5.4或者更新版本即可.


Reference:

1. i have error in laravel on function /vendor/guzzlehttp/psr7/src/functions.php on line 77 [duplicate]





2016年10月20日 星期四

[閒聊] 我從沒聽說過這間"蘋果"公司, 可以請你跟我多說一點嘛?


I have never heard of this 'Apple' company. 

Can you tell me more about them?


昨天在網路上查找資料, 看到了一個有趣的問答




純粹博君一笑...


















2016年9月13日 星期二

[PHP] PHP的Session外部儲存機制探討

PHP中存取Session可直接對$_SESSION變數做操作,

預設Session會儲存在伺服器中的檔案下, 可以由php.ini中的session.save_path去設定.

在只有單一台Web Server沒有什麼問題, 如果遇到多台Web Server作負載平衡的狀況,

就需要將Session放到外部單一儲存體, 例如MySQL, Redis, Memcached等.


如果PHP是新專案就較好解決, 不少現成的class(Session物件)可以使用,

若是維護PHP舊專案, 且代碼均直接使用$_SESSION變數時,

我們就只能從session.save_handler去下手.

github上也有不少透過save_handler的操作去解決Session儲存體方案, 例如:

1. MySQL

2. Redis

3. MongoDB

其實就是透過註冊以下六個事件(open; close; ...)來指定Session操作時的對應動作

session_set_save_handler('open','close', 'read','write', 'destroy','gc')

分別為開啟; 關閉; 讀取; 寫入; 消滅; 垃圾回收 六種方法.




在套用之前先了解Session的外部儲存讀取及寫入機制是如何運作的,

首先先定義六種事件, 基本上就是單純的echo輸出:



測試Session讀取:

Session讀取結果:



測試Session寫入:
Session寫入結果:



從結果發現, 無論是單獨讀取還是單獨寫入, Session都會呼叫read, write 兩個操作事件,

所以在介接外部儲存體時需要注意讀寫效能問題.

另外註冊的destroy()事件在呼叫session_destroy()方法時就會觸發執行.

而註冊的gc()事件則是由php.ini設定機率(例如1%)去觸發執行.






以上完整範例原始碼放在github

Reference:
http://php.net/manual/en/class.sessionhandler.php




2016年7月14日 星期四

[Design Pattern] 如何在Hello World中濫用(套用) Design Pattern

前幾天看到一篇「The Abuse of Design Patterns in writing a Hello World Program」文章中,示範了如何在最簡單的Hello World程式上,一步步套用不需要的Design Pattern,雖然看著有趣,但我認為對於想了解Design Patterns的人來說,還是有參考的價值的.

原文中的故事很有趣如下:
“One comment I saw in a news group just after patterns started to become more popular was someone claiming that in a particular program they tried to use all 23 GoF patterns. They said they had failed, because they were only able to use 20. They hoped the client would call them again to come back again so maybe they could squeeze in the other 3.

Trying to use all the patterns is a bad thing, because you will end up with synthetic designs—speculative designs that have flexibility that no one needs. These days software is too complex. We can’t afford to speculate what else it should do. We need to really focus on what it needs.” – Erich Gamma

上述大意是說有個團隊想要在程式中套用GoF四人幫所有的23種Design Patterns,但是最後失敗了,因為只套用了其中20種,他們希望客戶最後還會請他們將最後3種Design Patterns也套用上去.
使用所有的Pattern不是個好主意,最終會使軟體架構變得太複雜,而且設計了永遠用不到的彈性,其實只要專注在當下產品所需要才是正道.



由於原文是使用Java當作範例,這邊我除了將它改寫為C#外,也加了一些改變:


1. 首先最基本的Hello World:



2. 定義 觀察者模式(Observer Pattern) 的主題與訂閱者



3. 實作主題與訂閱者的類別











4. 命令模式(Command Pattern) 的介面與實作



5. 抽象工廠模式(Abstract Factory) 的介面與實作



6. 單例模式 (Singleton),這邊使用Double checked locking,濫用得徹底一點 XD


7. 讓這複雜的Hello World動起來吧:



8.執行結果,這麼精美的一行...


原文有做了一些結論:


  1. 對於單純了Hello World程式來說太複雜了
  2. 我們加了一些根本就用不到的程式彈性
  3. 整個系統的分析與設計浪費太多時間
  4. 造成了類別爆炸(class explosion)
  5. 違反KISS原則(Keep it simple, stupid!)
  6. 這不是原始程式的目的,原始程式只是在命令列印出一行Hello World,現在這個程式碼離這個目.











Reference:
The Abuse of Design Patterns in writing a Hello World Program






2016年7月10日 星期日

[MySQL] Mac 啟動 MySQL 出現「ERROR! MySQL server PID file could not be found! ERROR! The server quit without updating PID file」


今天啟動MySQL服務時出現警告:


ERROR! MySQL server PID file could not be found!
ERROR! The server quit without updating PID file (/usr/local/mysql/data/XXX.pid).

回想一下因為更新brew更動到/usr/local/的目錄權限, 使用chown將目錄權限改回即可運作:


sudo chown _mysql /usr/local/var/mysql/*





Reference:



2016年6月21日 星期二

Mac OS 安裝 .NET Core 與執行 HelloWorld

.NET Core 不需要Mono也可以在MacOS & Linux中執行, 趁著空擋來玩看看, 以下是所有安裝及執行的過程:

1. 更新brew

➜  ~ brew update


2. 透過brew安裝openssl

➜  ~ brew install openssl


3. link openssl

➜  ~ brew link --force openssl


4. 移除之前的版本, 執行sh檔案內容請參考
(https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/uninstall/dotnet-uninstall-pkgs.sh), 這邊我選擇使用vim新增一個sh檔案並把內容複製到檔案內.

➜  ~ vim dotnet-uninstall-pkgs.sh


5.賦予可執行權限

➜  ~ chmod +x dotnet-uninstall-pkgs.sh 


6. 執行
➜  ~ sudo sh dotnet-uninstall-pkgs.sh

Deleting install root - /usr/local/share/dotnet
rm: /usr/local/share/dotnet: No such file or directory
rm: /etc/paths.d/dotnet: No such file or directory

dotnet packages removal succeeded.


7. 下載pkg檔案並且安裝
https://go.microsoft.com/fwlink/?LinkID=798400







8. 建立Helloword專案
➜  mkdir hwapp
➜  cd hwapp

➜  hwapp dotnet new



9. 恢復project.json

➜  hwapp dotnet restore



10. 編譯並執行

➜  hwapp dotnet run




真的有輸出「Hello World」!, 既然如此順便看看編譯後的專案結構與專案原始碼


看起來與原本Windows一樣有bin & obj 資料夾, 原始碼看起來也是與原本.NET環境下相同, 順便看看bin資料夾下有什麼東東...


真的有hwapp.dll檔案~

雖然覺得微軟進入的比較晚, 但也算是重大突破了!



Reference:
https://www.microsoft.com/net/core#macosx


2016年6月20日 星期一

phpBB 安裝流程

PHPBB 是一個開源的論壇, 可以透過簡單的設定就架設於LAMP環境中. 官方網站

以下紀錄安裝過程.

1.先至PHPBB竹貓星球觀看最新版本號, 並確認完整安裝包的下載連結

  • 確認版本 (http://www.phpbb-tw.net/phpbb/viewforum.php?f=6)
  • 3.1.9 (http://phpbb-tw.net/phpbb/viewtopic.php?t=57918)
  • 安裝說明(http://phpbb-tw.net/phpbb/viewtopic.php?t=57024)


2. 使用wget抓取
[root@dev temp]# wget http://phpbb-tw.net/phpbb/download/phpBB-3.1.9.zip


3. MySQL設定 (以下依照實際狀況設定)

  • 建立資料庫phpbbDB
  • 建立使用者phpbbUser
  • 設定密碼phpbbPassword
  • 給定使用者指定資料庫權限


4.解壓縮剛剛下載的檔案
[root@dev temp]# unzip phpBB-3.1.9.zip

5.將解壓完後的資料夾移動至web的根目錄(根據實際狀況可能會不同)
[root@dev temp]# mv phpBB /var/www/html/

6. 改變資料夾權限
[root@dev phpBB]# chmod 777 -R config.php
[root@dev phpBB]# chmod 777 -R cache/
[root@dev phpBB]# chmod 777 -R files/
[root@dev phpBB]# chmod 777 -R store/
[root@dev phpBB]# chmod 777 -R images/avatars/upload/

7. 透過網頁install設定phpBB
直接使用瀏覽器瀏覽http://localhost即可開始進行Web安裝步驟




Reference:





2016年6月15日 星期三

CentOS 6.7 LAMP 安裝過程

最近拿了手邊空的機器複習一下如何安裝LAMP在CentOS6.7上, 安裝紀錄過程有點簡陋請見諒.



1. LAMP

[安裝Apache]
[root@localhost ~]# sudo yum install httpd

[root@localhost ~]# sudo service httpd start

觀看防火牆狀態
[root@localhost ~]# /etc/init.d/iptables status

加入80 port規則
[root@localhost ~]# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

重啟防火牆
[root@localhost ~]# /etc/init.d/iptables restart


[安裝MySQL]
[root@localhost ~]# sudo yum install mysql-server

[root@localhost ~]# sudo service mysqld start

設定root密碼
[root@localhost ~]# /usr/bin/mysql_secure_installation
- Set root password? [Y/n]
- Remove anonymous users? [Y/n]
- Remove test database and access to it? [Y/n]
- Reload privilege tables now? [Y/n]


[安裝PHP]
[root@localhost ~]# sudo yum install php php-mysql


[安裝Webmin]
[root@localhost ~]# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.801-1.noarch.rpm
[root@localhost ~]# yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty
[root@localhost ~]# rpm -U webmin-1.801-1.noarch.rpm

加入 10000 port 規則
[root@localhost ~]# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT






[Reference]
https://www.atlantic.net/community/howto/install-lamp-centos-6/
http://os.51cto.com/art/201103/249398.htm
http://www.webmin.com/rpm.html



2016年5月5日 星期四

[心得] 高應大資管碩專班面試


以下為參加高雄應用科技大學 資訊管理系碩士在職專班 的面試內容, 將有印象的部分分享出來給有需要的人參考囉.

1. 自我介紹
- 我想不管是哪位考生都需要回答這題, 這題也是100%面試的必考題, 可事前先充分準備, 因為面試時間只有約5分鐘~10分鐘, 掌握在1分~1分半是比較適當的, 內容建議簡單扼要, 重點儘量放在工作經驗上, 畢竟碩專班的招生對象是在職生, 工作經驗會是面試官比較有興趣的部分.
至於「我的家庭真可愛幸福美滿又安康」能省略就儘量省略囉, 簡短扼要, 不要將寶貴的面試時間浪費囉.


2. 為什麼不同工作的間隔較短
- 因為我本身每一份工作的工作時間都不超過3年, 面試官應該是想要瞭解工作上是否有遇到什麼問題, 我是以本身的工作特性與人格特質去作回答.


3. 目前的工作內容
- 這題應該是面試官想了解你在公司內部扮演的角色是什麼, 是企業主; 中高階主管; 基層小主管, 或是基層員工. 不要過分渲染或是講一些非自身工作內容的事情, 面試官都是面試過無數學生身經百戰的教授, 太誇張的話一定會在接下來的問題中露出馬腳的喔.
*此題也算是面試很容易被問到的問題, 可事先花時間準備.


4. 目前工作時間狀況
- 面試官應該是想了解如果真的錄取你之後, 能不能兼顧工作與課業, 例如天天加班到晚上8點以後, 基本上要上課就很不容易, 也許教授錄取你的意願可能會降低.


5. 目前公司的規模?
- 面試官應該是想了解你的公司大小, 公司在業界的知名度與影響力.


6. 目前工作待遇如何?
- 面試官應該是想了解工作內容與工作待遇是否符合邏輯, 例如工作內容是管理職結果待遇過低, 會造成有違常理的回答.


7. 有想要創業嗎?
- 這題應該沒有標準答案, 教授可能想知道我們的職涯規劃為何 .


[面試結果]
正取


[總結]
在業界打滾多年後, 或多或少可以磨練出應對的能力, 例如下面連結中所提出的問題可當作面試問題的準備:

【在職專班】口試 VS 為何要考在職專班?


提供一個準備口試的心法:「如果你是教授, 為什麼會問這些問題? 你會希望學生怎麼回答呢?」






2016年3月2日 星期三

MySQL 新增table 顯示「Error: Tablespace for table xxx exists. Please DISCARD the tablespace before IMPORT」


前幾天要把某一張MySQL 的xxx table刪除後重新建立,建立時出現:


Error: Tablespace for table xxx exists. Please DISCARD the tablespace before IMPORT


上網google一下,發現是table的.idb檔案還殘留在系統中。

依照stackoverfkow的方法刪除idb檔案後,還是不能create,顯示有foreign key constraint ,原來是當初有人設定foreign key在xxx表的某個欄位,只好找出來把它刪掉,終於成功create table了。

可能當初就是加了foreign key後,沒有先刪除foreign key就直接刪除table所以造成table的.idb檔案殘留吧。




[Reference]:

1.Error: Tablespace for table xxx exists. Please DISCARD the tablespace before IMPORT


2.How do I see all foreign keys to a table or column?







2015年5月29日 星期五

AWS CentOS LAMP 安裝過程 (Amazon EC2)


現在申請AWS帳號有送免費一年使用EC2,順便學習如何安裝LAMP在CentOS上,以下是安裝的操作紀錄.

以下狀態為已經在AWS EC2開好機器並且已經裝好CentOS6, 使用ssh登入主機:

0. 更新yum
[root@ip-172-31-3-168 conf]# yum install vim-X11 vim-common vim-enhanced vim-minimal

1. 安裝wget
[root@ip-172-31-3-168 temp]# yum install wget


2. 安裝webmin
[root@ip-172-31-3-168 temp]# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.750-1.noarch.rpm
[root@ip-172-31-3-168 temp]# yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty
[root@ip-172-31-3-168 temp]# rpm -U webmin-1.750-1.noarch.rpm

如何開啟 port 10000防火牆    如何更改webmin的root密碼


3. 安裝apache
    [root@ip-172-31-3-168 temp]# yum install httpd

    啟動httpd
    [root@ip-172-31-3-168 temp]# /etc/init.d/httpd start


4. 安裝php
    [root@ip-172-31-3-168 temp]# yum install php

5. 安裝mySQL
    [root@ip-172-31-3-168 temp]# yum install mysql-server

    啟動mySQL
    [root@ip-172-31-3-168 temp]# /etc/init.d/mysqld start

    設定mySQL
    [root@ip-172-31-3-168 temp]# sudo mysql_secure_installation

6. 安裝phpmyadmin
    [root@ip-172-31-3-168 temp]# rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

7. 記得開啟AWS & iptable 的防火牆 80 port


8. 以上都完成之後, 訪問:
A. apache預設頁面      => http://your-ip/
B. mysql web 頁面         => http://your-ip/phpmyadmin
C webmin頁面               => https://your-ip:10000



















PS.
關閉iptable
[root@ip-172-31-3-168 conf]# service iptables stop

觀察目前網路連線
[root@ip-172-31-3-168 conf]# netstat -cpatn

避免主機被透過ssh暴力攻擊, 可以安裝deny host.
[root@ip-172-31-3-168 ~]# yum install denyhosts

開啟10000 port
/etc/sysconfig/iptables 檔案中增加下行
-A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT
並且執行「/etc/init.d/iptables restart」重啟防火牆

phpmyadmin

yum install phpmyadmin
預設只開放127.0.0.1, 如果要修改需編輯
[root@ip-172-31-15-14 ~]# vim /etc/httpd/conf.d/phpMyAdmin.conf



[Reference]:
1. Webmin website
3. Connect to Amazon EC2 file directory using Filezilla and SFTP
4. How to Install and Configure phpMyAdmin on CentOS 6
5. Block SSH Server Attacks (Brute Force Attacks) Using DenyHosts
6. How to create Linux instance on Amazon AWS/EC2
7. Amazon EC2 Document




2015年5月21日 星期四

在Mac OS 安裝Docker


Linux & MacOS 不同的是
Linux 預設已經有執行 Docker daemon & Docker Host
MacOS 則是執行在Boot2Docker提供的Linux virtual machine上








1. 安裝Virtual Box
https://www.virtualbox.org/

2. 安裝docker
➜  ~  brew install docker


3. 安裝boot2docker
➜  ~  brew install boot2docker


4. 初始化boot2docker
➜  ~  boot2docker -v init


5. 啟動boot2docker
➜  ~  boot2docker up

*記得要在command執行三段export指令或是寫入bash中

6. 使用docker info指令
➜  ~  docker info


7. 使用[docker run -d -P --name web nginx]命令執行nginx image, 第一次執行因為沒有image所以直接下載

8. 使用[docker ps]命令看目前正在執行的image:

9. 使用[docker port web]命令查詢目前web的listen port是多少, 下圖為32769:

10. 由於Mac是透過boot2docker, 使用[boot2docker ip]命令查詢boot2docker VM的IP位址.


瀏覽 [http://192.168.59.103:32769/] 即可看到nginx的預設頁面









Reference:

Install Docker on Mac OS X

How to Use Docker on OS X: The Missing Guide