2010年4月21日 星期三

Build Failed with Link Error (開發iPhone過程中遇到Link error 的解決方法)

由於專案需要,從農曆年後開始接觸 iPhone程式的開發
開發過程中正巧遇到一個很奇怪的 bug 一直編不成功
試著從紅色驚嘆號來追看看兇手到底藏在哪邊

結果xcode的debug只告訴我
Link /Users/administrator/...
 ".objc_class_name_NSManageObject", referenced from:
.objc_class_name_Camera in Camera.o
ld: symbol(s) not found

上google查了的結果真的少的可憐...
不過很明顯是Link出了問題

後來搞清楚是某個.m檔 有import <CoreData/CoreData.h>
但是整個專案的Frameworks裡面沒有加進去啦

解決方法:

step1.


step2. (我就是少了CoreData這一味啦)

2010年4月15日 星期四

How to update file's version automatically in MFC (如何在MFC專案中自動更新版號)

最近工作上被argue在軟體的版本編號方式要長得像這樣:
X.YY (build ZZ)
而我原本在wiki上面參考來的編法是這樣的:
a.b.yy.mmdd
不過customer永遠是對的,那就來改一下吧
只是這樣一來,我的程式資訊需要紀錄我build的情況
光有svn再到project 的rc檔裡面慢慢改實在很沒效率

幸好網路上有找到相關資源,而且一試就成功 (it works like a charm!)
我這邊簡單中文筆記一下~
1. 首先找到專案資料夾下的 "ProjectName.rc",用文字編輯器打開

2. 接著在同樣的路徑下應該還會有個 res檔案夾 打開裡面有個 "ProjectName.rc2" ,
同樣也是用文字編輯器打開

3. 把"ProjectName.rc"裡頭的這個部份通通剪下來
//////////////////////////////////
//
//Version
//

VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGMASK 0x3fl
#ifdef _DEBUG
...
...
BEGIN
VALUE "Translation", 0x409, 1200
END
END

然後貼到"ProjectName.rc2" "Add manually edited resources here..."註解之後
不過"ProjectName.rc2"在編輯完,記得在最後一行按個Enter(回車鍵)讓他換個行
不然編譯時就會出現 fatal error RC1004: unexpected end or file found 的錯誤訊息
害我走了好多冤枉路阿...

4. 回頭在"ProjectName.rc"裡面 找到
#ifdef APSTUDIO_INVOKED
#include "targetver.h"
#endif
#include "afxres.h"
#include "res\ProjectName.rc2" //<-- add this line
然後將rc與rc2兩個檔案儲存

5. 快完成了~接下來在專案的header files資料夾下新增一個VersionNo.h的檔頭
#define FILEVER 1,0,0,1
#define PRODUCTVER 1,0,0,1
#define STRFILEVER "1, 0, 0, 1\\0"
#define STRPRODUCTVER "1, 0, 0, 1\\0"
兩個反斜線是為了我要抓後面的build number,網路上參考資料只有一條

6. 然後我們需要新增一個marco (tool->Marcos->New Marco Project)
Module1的project名稱可以一自己喜好更換,建立好雙擊那個module會開啟一個Marco 的IDE

7. 過來就是複製貼上囉~
Imports EnvDTE
Imports System.Diagnostics

Public Module BuildDone '<--------------- Your module name




Function GetProjectDir(ByVal FullName)

Dim proj_path

proj_path = Split(StrReverse(FullName), "\", -1, 1)



Dim count

count = UBound(proj_path)



Dim full_path

full_path = ""

Dim i



For i = 1 To count

full_path = full_path & "\" & proj_path(i)

Next



GetProjectDir = StrReverse(full_path)



End Function



Sub ReplaceText(ByVal objSel As TextSelection, _

ByVal count As Integer, ByVal incrementby As Integer, _

ByVal Type As Integer)



'selection represents the TextSelection object

'count represents the position of the version number

'to be incremented

'incrementally represents a number that will be added

'to the existing version number



Dim strTemp As String

Dim i



strTemp = ""

objSel.EndOfLine()



If Type = 0 Then

For i = 1 To count

If strTemp.StartsWith(",") = True Then

Exit For

Else

objSel.CharLeft(True, 1)

strTemp = objSel.Text

End If

Next

strTemp = strTemp.Remove(0, 1)

strTemp = strTemp + incrementby

objSel.Text = "," & strTemp

Else

For i = 1 To count

If strTemp.StartsWith("\") = True Then

Exit For

Else

objSel.CharLeft(True, 1)

strTemp = objSel.Text

End If

Next

strTemp = strTemp.Remove(0, 1)

strTemp = strTemp.Remove(strTemp.Length - 1, 1)

strTemp = strTemp + incrementby

objSel.Text = "\" & strTemp & """"

End If



End Sub



Dim WithEvents bldevents As BuildEvents

Dim applicationObject As EnvDTE.DTE



Sub BuildDoneEvents()

Dim addInInstance As EnvDTE.AddIn



applicationObject = CType(Application, EnvDTE.DTE)

bldevents = CType(applicationObject.Events. _

BuildEvents, EnvDTE.BuildEvents)

End Sub



Private Sub bldevents_OnBuildDone(ByVal _

Scope As EnvDTE.vsBuildScope, _

ByVal Action As EnvDTE. _

vsBuildAction) Handles _

bldevents.OnBuildDone

'This event will be triggered after every build

'of a project



'Obtain the full path of the active project

Dim full_path

full_path = GetProjectDir(DTE.ActiveDocument.Path)



full_path = full_path & "VersionNo.h" '<----------Your header name



'Open the VersionNo.h file

Dim doc As Document

DTE.ItemOperations.OpenFile(full_path)



Dim objDoc As TextDocument

'Obtain the TextSelection object

objDoc = DTE.ActiveDocument.Object("TextDocument")



Dim objSel As TextSelection = _

DTE.ActiveDocument.Selection



objSel.StartOfDocument()



'Increment the version information

ReplaceText(objSel, 5, 1, 0)

objSel.LineDown()

objSel.StartOfLine()

ReplaceText(objSel, 5, 1, 0)

objSel.LineDown()

objSel.StartOfLine()

ReplaceText(objSel, 5, 1, 100)

objSel.LineDown()

objSel.StartOfLine()

ReplaceText(objSel, 5, 1, 100)



ActiveDocument.Save()

ActiveDocument.Close()

End Sub





End Module



8. save之後回到原本VC介面 在Marco Explorer裡面對我們的module右鍵按下選擇run check 一下VersionNo.h ,成功的話會發現數字隨著build次數增加 嗯~至於如何在程式當中取得version 可以使用VS_FIXEDFILEINFO ,VerQueryValue ,GetFileVersionInfoSize ,GetFileVersionInfo 幾個配合,並透過 HIWORD(fixed_file_info->dwFileVersionMS)
LOWORD(fixed_file_info->dwFileVersionMS)
HIWORD(fixed_file_info->dwFileVersionLS)
LOWORD(fixed_file_info->dwFileVersionLS)
來取得version number ,還有很多詳細的作法網路上很好找到

AfxExtractSubString 可以取得特定位置的字串
ex: AfxExtractSubString(str, FullString, 1, '\\');
這邊的例子是將字串以 "\" (反斜線)切割, 取位置1的字串
也就是說, 如果我的FullString=1, 0, 0, 1\7 ,那我就會取到 7


2009年10月6日 星期二

很多的"不得不..."

很久沒回來看看我長滿雜草的網誌了
這段期間發生了好多事情
有些如過眼煙雲,稍縱即逝
有些刻骨銘心,至今回想仍嚼然有味
於是好好的來整理一下吧~
我想這是我第一個"不得不"做的事情

"不得不"的狂暴寫論文
如果用"飛快"還不足以形容兩年研究所生涯的時間之快
那...可能是我都把時間的感知機能給關閉了吧
不過為這兩年畫下的句點的過程可說是驚險刺激
原以為早早謀畫的論文主題能夠讓我最後這段畢業時光輕鬆點
不過好大的一個陷阱跟千層派一樣,掉進一個還有一個
真的要對我身旁的人好好說聲謝謝
謝謝他們忍受我的無病呻吟,躁鬱情緒
更謝謝幾個好友,學長以及最親的人還適時的打氣與討論
我才能夠及時而順利的畢業 (當然老闆肯簽名也是必然的條件:P)

"不得不"的Oral exam
我不會忘記口試當天的世紀日蝕奇景
跟舜哥兩人還偷閒,用實驗室1.4吋的磁碟片觀賞日蝕
清楚的日蝕景觀讓我們兩個都感覺滿驚奇的
恩~口試過程中最擔心的李強爺爺,問題犀利不過人真的很和善阿
(希望魚羊鮮豆的咖啡跟起司條有合口委的胃口)
哈~還有我意外發現的西式盒餐 Daily Deli 都供奉給口委
(中西式混搭的還不賴,口味清淡,質感高,店員又正,強力推薦!! XD)
雖然我還是不太滿意自己present的結果
不過委員們的分數滿會安慰人的

"不得不"的最後一役
然後我也不會忘記那個一延再延的conference ISCIT 2009
那是我在畢業之前最後想完成的一件事居然也是一波三折
從一開始的5/8截稿到5/22又到6/22最後...7/11
(喂~嘛幫幫忙,我都押寶在這個conference上了,眼睜睜看著其他也不錯
的conference都截稿了,不要這樣玩我吧...)
還害我白趕了好幾天的稿...人都快掛了
恩~我可能就是愛自找麻煩吧:P
想轟轟烈烈的從碩士班畢業就多來 WikiCFP 找自己甲意的onference吧
(conference資訊主要都是資工領域的,尤其又以communication跟ai為大宗)

"不得不"的逃兵韓國行
剛剛提到的conference還有一個讓我相當頭大的事情
就是會議日期正巧撞上入伍的第一天...
想跟國防部請假都不行,只好再把入伍日子往後推囉~
不過這趟韓國行真的是把我口袋都燒出個洞囉
撇開機票因為時間上的一些考量買到8800多元
首爾住的地方我也挑了個夠便宜的Bebop House(一個晚上23000W約630元)
可是conference註冊跟我要了US$400,
還有仁川海埔新生地那鳥不生蛋的地方,
最便宜的五星級飯店兩個晚上打完折要價18萬韓圜(約5000元)
可憐的是我前往韓國時已不復學生身分
所以討不到一毛錢阿~嗚嗚

這是第二次來韓國
他們有跟郝斌斌一樣的口號
"一年一條地鐵通車" O.O
全新的9號線挺舒適的,跟內湖線一樣都有新車車的味道
周末先跟朋友去了首爾大公園 還有 首爾跑馬場
很有趣的是我的韓國朋友們從來沒來過這些地方
所以她們每次都很期待我們台灣朋友過去旅遊順便一起去觀光
(就像你問我台南有哪裡好玩的,我也是一頭霧水啦:P)

很鮮豔的花圃配上大熱天 O.O

動物園門口的獨照(mark挺不賴的吧 ^^)

人山人海的賽馬場
我發現阿~每場賽馬時間間隔不長
但是場場賭注都累積上億台幣
我們賭100韓圜是不是有點像在鬧場阿XD

周末與朋友道別後,我跑到江邊的테크노마트 (TM21:TechnoMart)
據朋友的描述這邊比起龍山的電子街,
對於語言不通的外國人來說比較不易被敲竹槓
ㄏㄏ~至於我的戰利品嘛
cowon s9 入手 (螢幕是3.3" AMOLED, 解析度480x272 全觸控面板並支援藍芽耳機)
此外老闆還問我需不需要可以收看DMB數位電視的版本
我心想~雖然這功能回台灣就廢掉了,不過很想體驗一下人家數位電視的魅力阿
後來我在飯店看了一整晚的連續劇:P

搭了一個半小時的地鐵來到仁川的松島
下榻的飯店就在仁川地鐵線仁川大學站的對面
斜對角還有外型搶眼的투모로우시티(Tomorrow City)
BENIKEA premier Songdo Metro Hotel目前還獨自聳立在一片曠野間
稍顯孤獨但是可遠眺即將完工的仁川大橋,仁川大學以及仁川城市慶典的會場
北邊有中央公園,NEATT大樓,貴到不行的希爾頓飯店
和這次會議的舉行的地點 Convensia (外型跟雪梨歌劇院有點相似:P)

28mm廣角怎麼拍就是沒辦法全部入鏡,可能要到對街吧

然後很開心在晚宴上與北海道大學來的Jaeseong聊了很多東西
此外,整個會議期間只有遇到中央做音視訊處理的張寶基老師跟他的學生
ㄏㄏ~雖然偶爾會有點孤單的感覺,不過卻也最放得開去認識其他人

恩~已經寫了滿多了,
之後再找時間陸陸續續把心得感想補齊吧
我要說這上班時間寫網誌真的是很痛苦的一件事情XD

2009年4月1日 星期三

理性與感性

我從以前就一直覺得人是一種很脆弱的生物,
至少我自己是很脆弱的,
那種脆弱是因為環境的聲音,因為複雜的思緒
有意無意的快將心中所信仰的小小火苗給吹熄了
究其原因,那是與生俱來的感性蒙蔽所致
這也讓我會不由自主的去多吸收一些理性知識及價值觀

最近雖然忙著準備畢業的論文
但是看到成大學生論壇邀請了幾個大師要來演講
不禁又讓我雀躍起來,好像在沙漠看到綠洲的旅人一樣
我參加了朱學恆跟詹宏志的兩場演講
一個是談學習,一個是談生涯
看似迥異的人生課題卻隱含著相同的訊息
大師都告訴我們要透過理性的思考,邏輯的判斷
要靠自己的力量去解決,絕不要相信廉價的答案
如果盲從媒體或某某大師的觀點是沒有任何價值的
因為這世界沒有甚麼標準答案
我覺得這是一個觀念改變的起點

然後詹宏志講了一句很有趣的話:
人最有價值的地方就是頭皮,任何事情只要硬著頭皮就一定做得到
承接著上述理性思考的觀點
讓頭皮沉浸在困惑與沒有答案的雲霧之中
經過不斷的反覆思考可以將我們天性的衝動萃煉出更完美的決定
即使過程上跌跌撞撞
但我想我們絕不會因此感到後悔
因為沒人知道結果是"全世界都錯了"而我才是唯一對的人

上面太文謅謅了
下面介紹一點輕鬆的

壞愛情是一部賺人熱淚的韓劇阿
(廖哥跟我強力推薦~)
劇中女主角一開始就愛上了一個有婦之夫
結果男生隱瞞到最後不得不坦白
也造就了接下來女主角多舛的命運
撇開韓國的傳統文化觀念不談
這有婦之夫娶的是一個企業家的女兒
為了事業為了家人所欠下的債務
他只能壓抑著情感循著理性做事
不過說難聽一點真的一點男人的氣概都沒有
我是不知道他自己心裡後不後悔做那些決定啦
不過我不覺得他有認真想過問題要怎麼解決就是了

人生道路的選擇就是在找尋理性與感性的平衡點!

2008年12月19日 星期五

來自地獄廚房的自製pita

每年聖誕節總是會有意想不到的收穫
今年也不例外,而且分量驚人~哈
來個大合照吧!!!


如果用郵寄過來的話可能會哭出來吧~
裡面有楓糖餅乾,加拿大純正楓糖,還有一大包Pita
Sunny跟我講說這是有名的"口袋餅"
為什麼較口袋餅呢?
因為烤完剪開來裡面可以塞自己想要的餡料啦!

恩~不過我發現家中的材料實在是匱乏的可以
(只有我爸媽在家吃飯...)
咦~有過期的起司片(加熱應該就沒關係了吧)
還有雞蛋跟我爸媽吃剩下的煎紅鮭...
ㄏㄏ~管他三七二十一的通通加一起就對了

來自地獄廚房的料理五分鐘就搞定了
原本紅鮭就有鹹味,加上起司也有味道所以我就沒加鹽巴
後來想說沾點番茄醬口感發現更不錯說^^

有地獄廚房的美食可以自我調劑還滿不錯的
不過眼前還有地獄論文等著我開始動筆咧
地獄般的日子即將開始---to be continued !

2008年12月9日 星期二

韓國 首爾 自助行 Day7

有了前一天的經驗我很有膽識的朝著下一個目標前進
搭著地鐵昏昏欲睡的坐到3號線的盡頭(真的很遠...)
走出4號出口我搭上2000號公車跟司機講說要到Ubi park
滿順利的我在Ubi park前的站牌下車
但附近的景象跟我想像中比較不一樣
砂石車來來往往,放眼望去很多工地正在施工
惟獨Ubi park的展館矗立在荒野之上略顯孤獨

Update:2013/09
原本www.Ubi-park.co.kr的官網似乎已經關閉了.
不過坡州(paju)市有更大的計畫 - UNJEONG U-City
這邊前往Ubi-park (유비파크) 有韓文的交通資訊

方法一: 也是我2008年搭乘的方法
地鐵3號線大化站(대화역), 4號出口下車, 轉乘8, 900, 919, 2000號公車, 大約25分鐘抵達

































方法二: 搭乘京義線(경의선) 在 雲井站(운정역)下車, 從1號出口到Ubi-park只要500公尺





















入冬的季節拜訪此地並沒有太多的遊客
入口一群幼稚園小朋友輪流與小王子的塑像合影
湖邊的走道有一兩個運動的民眾
我想我大概是唯一的遊客了

這是在湖邊看到的顛倒屋
我沒有走近看,所以也不知道能不能進去

遠看Ubi park的景色

我繞了整個公園一圈才進去參觀主要的展館
接待小姐很熱心的將我安插在一個韓國參訪團體之中
一起接受聽都聽不懂的韓語導覽XD
與前一天在DMC的制度很像的是參訪人員都有RFID
每個區域都有很縝密的安排跟管制
走進簡介的紅色大圓球,會先升到二樓然後觀賞360度的影片
以一個年輕郵差到數十年後的退休老人銜接著過去與未來
搭配著激昂的音樂很扼要的點出他們對於未來的展望
影片一結束,另一側的門緩緩掀起,準備進入他們的時光屋囉~

下一個空間展示著他們坡州(Paju)的城市規劃
腳下有一整片的坡州市模型,
地板天花板有不下十台的投影機,還有一整面的投影布幕
然後一邊播放坡州市的宣傳影片一邊在模型上投射各種燈光
真是有錢而且很有心的政府阿~

接著就是參觀他們的G&G street (good and great)
跟DMC一樣有數位公車站牌有VR的模擬系統

然後就參觀U-House
像廚房的互動餐桌他們也是採用上面投影到桌面的方式
(跟Microsoft的技術一樣~)
烤箱跟流理臺有LCD面板,當RFID靠近會有卡通人物顯示進行互動

像臥室的部分就有數位學習的東西,其他韓文聽不懂就不知道再做甚麼了:P
不過室內都很有設計感,像是浴室有個用投影機投影的浴缸
手一伸過去會有水波上面的花瓣還會飄開
洗手台背後也是有LCD螢幕會與使用者互動
(跟成大touch center的魔鏡很像~)

接著客廳有一朵聲控的詭異機器花,可以進行對話
然後還有一面牆都是螢幕,當人走在螢幕面前
觀賞的節目就會跟過去,而且做得還滿靈敏的

過來觀賞了一部3D影片大概也是介紹對於Ubiquitous的願景
ㄏ~很讓我印象深刻的是,影片一撥完整面牆壁就收起來
我們就像在卡通或是電影裡面的長官隔著一整面玻璃
站在二樓看著下面一個個操作員的座位
跟一大片的控制畫面~很像在鋼彈的情節裡面吧^^

最後又再看了一部介紹影片
讓我覺得韓國人在多媒體這方面的技術跟創意真的實力驚人
不過在Ubi park這邊讓我比較失望的是
介紹時間比較短促,很像在進行城市的推銷,也沒有時間實際操作
裡面的東西豐富度也不如DMC那邊的多
害我大老遠坐這麼久的車... >"<

下午有到梨花女大晃晃吃了雞蛋糕
也是很壯觀的校園景色

然後跟學姊會合就一起搭車前往廣州市要去拜訪愍善家了
到那邊已經滿晚的了,而且鄉下地方天氣真的比較冷
很不好意思的還在人家家裡用晚餐 (烤牛肉불고기很好吃啊!!!)
晚餐過後還坐人家的車去洗汗蒸幕

說到汗蒸幕也挺有趣的
我一個男生領著一套運動服到了男生澡堂都不知道怎麼開始
哈~不知道就參考一下旁邊的人嘛
媽呀~脫個精光耶,大家卻都好像很稀鬆平常一樣
我還是很害羞的一個人躲在角落坐在小板凳上洗澡
(我很怕彎腰撿肥皂的~)
洗完換好運動服在吹頭髮的時候
看到旁邊一個男生吹完頭髮換吹下面讓我覺得很好笑...
接著就到另外樓層去給他"蒸"一下啦
大廳裡大家睡成一片,很難想像他們很常會在這邊過夜
一旁有不同溫度不同藥效的汗蒸幕
很類似三溫暖啦~不過我們有喝食醯(식혜)吃雞蛋戴牛角毛巾
然後跟朋友聊天聊到很晚才走,是一個滿有趣的體驗

韓國 首爾 自助行 Day6

待在韓國的第六天
我很熟練的搭著地鐵在首爾跑來跑去
預定一早要去參觀Ubiquitous Dream Hall
結果天不從人願,它居然搬家了!!!
門口除了貼著一張看不懂的字條
裡頭一片黑漆漆的把我擋在門外

我不死心的跑去隔壁大廳入口處的小姐
然後她用破破的英文跟我講說搬到哪裡
ㄝ~甚麼Saejeol地鐵六號出口再搭計程車
謝過之後,我懵懵懂懂的搭車過去
(已經快繞了首爾西北邊一圈了...)
一出車站~我嚇到了!!!
遠處有山橋下有流水
一望無際的樓房跟溪邊散步的鴨子
這...這附近會有展示館!?
我趕緊攔了一台計程車開口問了一下
沒想到計程車司機一聽到我講英文就說:
No~No English,No No ...
然後又慌張的關上車窗揚長而去

這下可好啦~
我硬著頭皮打電話向韓國觀光公社求助
(我想他們一定覺得這個人想逛的景點還真冷門阿)
不過服務小姐還滿好心的
找到了相關資訊之後還回撥給我
告訴我想去的展館應該是叫DMC的地方
也告訴我只要再多搭兩個站就會到了

折騰了老半天我總算到了Susaek(水色)
然後搭7711號公車過了兩站就到了DMC囉


沿途走了一圈,左邊是大集團蓋的住宅大樓
右邊一整片是各大集團的辦公大樓,LG,MBC,SBS...
儼然就是台北的內湖科技園區

而且中餐時間一個個員工掛著牌子在外面閒晃
看到我一個人背著背包不免投以好奇的眼光XD
好不容易在我快逛完DMC一圈才找到它的展館
展館一共分成4個樓層,會有服務人員接待跟管制
每個參訪的人都會配戴一個RFID識別證
裡面會記錄個人的姓名及工作單位之類的資料

一樓多是海報簡介與樣品擺設,我就大略看過
他們有提出分散以及集中的混合式網路傳輸模式來
應用在異質的網路環境當中...等等
二樓開始比較精彩,
在展館中所有的DEMO都需要先刷過RFID才會開始
像DIGITAL MELODY這裡面
左手邊的空氣豎琴很明顯是靠上下紅外線的傳接收來感應的
地板是投影出來的樂器遊戲
腳踩到哪個區域(陰影)對應到的樂器就會發出聲音
最右邊一堆人圍著的檯子上有幾個RFID的tag
把tag聚在一起就會辨識出不同聲部不同樂器的效果
就很像在玩交響樂一樣~(DEMO的歌曲很好聽...)

另外一邊的MUSIC table也滿有趣的
桌上也是有很多圓盤可以組合
然後我們可以像DJ一樣給他刮盤,調整音量等等...
看起來他桌子下方有投影機外還有一些紅外線camera
才可能辨識tag跟它的動作

哈~來到3樓看到了人家的口號,覺得不拍不行阿

大廳也滿有設計感的,靠著聲控的方式可以讓電子元件發亮

然後有視訊會議阿,紅外線鍵盤,瞳孔辨識的門禁系統,遠端醫療
還有電通玻璃,跟一整面牆的螢幕來闡述他們對未來的構想
下面這個是情緒感知的躺椅
躺上去會研判一些數據然後給予適合的音樂跟燈光
(我知道現在看起來還有點唬爛XD)

他們VR的應用也滿多的
從城市導覽,購物,駕駛訓練
操作介面從方向盤,立體眼鏡到一整面的旋轉螢幕花招也滿多的

最後我偷溜到4樓跟另外一個團體(印度吧~)
一起看了一部4D動畫 - 畫帖夢
不僅劇情,音樂很有水準,觀眾席坐位還會跟人互動
噴氣,灑水,腳下亂飄的塑膠條(我想這就是第4個D吧XD)
印象令我非常深刻,難怪韓國的線上遊戲阿動畫事業完全不輸日本

下午我就很優閒的散步在弘大附近
順便逛了一下希望市場的那個小公園

弘大的正門很氣派喔

很像婚紗店的卡拉OK (坐在窗邊唱歌還真是害羞阿~)

內容回應