2017年11月17日 星期五

git clone hg repository and vice versa

希望大家不會遇到像我這樣的問題, 我很喜歡 git, 希望世界上只剩下 git, 但這是不可能的, rcs, cvs, svn, mercurial 還有很多沒聽過得版本控制軟體都存在世界上。

由於需要使用 mercurial, 我實在用不慣, 找到了可以用 git clone mercurial repository 的方法。需要安裝 git-remote-hg。
git clone hg repository:
Bridge support in git for mercurial and bazaar
https://felipec.wordpress.com/2012/11/13/git-remote-hg-bzr-2/

apt-get install git-remote-hg

git clone "hg::http://username:password@a.b.com/x/y/z"
就這麼簡單, 沒了。
不過在操作 git push 時失敗了, 出現

TypeError: getchangegroup() got an unexpected keyword argument 'heads'
參考了 https://github.com/felipec/git-remote-hg/issues/66
但是搞不定。


另外一個作法:
git-cinnabar

git clone git@github.com:glandium/git-cinnabar.git
將 clone 的目錄加入 PATH
ex:
export PATH=/home/descent/git/git-cinnabar:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

git cinnabar download
make helper

一樣的 clone hg repository 指令:
git clone "hg::http://username:password@a.b.com/x/y/z"
git push 正常。



我體會到一樣的痛苦, 反過來照顧一下需要用 hg clone git repository 的使用者。

hg clone git repository:

apt-get install python-dulwich python-dev
easy_install hg-git

編輯 ~/.hgrc:

[extensions]
hgext.bookmarks =
hggit =

clone git ssh repository
hg clone git+ssh://username@ip_or_domain_name/a_dir/b_dir/u-boot.git

舉例來說, 如果你想要 clone https://github.com/descent/simple_stdcpplib.git, 可以這樣下 hg clone 指令:
hg clone git+https://github.com/descent/simple_compiler.git

hg clone 會把 git repository branch 轉成 hg bookmark

Using TortoiseHg with Git
https://mcmblog.azurewebsites.net/using-tortoisehg-with-git/

the Hg-Git mercurial plugin

2017年11月12日 星期日

injustice mobile: Gods Among Us mobile - raven 烏鴉 角色

injustice mobile 中我最想得到的角色就是烏鴉 raven, 烏鴉到 2.17 版時, 總共有 4 隻, 能力都很特別, 只有「政權烏鴉」的能力算是普通。

fig 1. raven prime

fig 1 的 raven prime 是這 4 隻烏鴉中, 我最想得到的人物, 當然也是其中最難得到的, 在 20171020 開始有了 Sorcery Pack 可以直接購得 raven prime, Sorcery Pack 要價 600000 ; 在這之前, 需要靠 Most Wnated Pack 來得到, 一樣也是要價 600000。


fig 2. Sorcery Pack

fig 3. Most Wnated Pack

而 Most Wnated Pack 的人物是隨機的, 除了烏鴉之外, 還有其他角色, 不見得每次都可以得到烏鴉, 總是要靠點運氣才行, 實際上當然不是靠運氣, 抽中的機率遊戲公司一定是算過了, 讓玩家花大錢得到這人物才是他們的最終目的。

除了烏鴉, Most Wnated Pack 還有個 Containment Doomsday 也不錯, 可以復活 3 次, 但說實在的, 攻擊力不怎麼樣, 在線上對戰遇到這個角色, 我不覺得是個棘手人物。

Sorcery Pack 則是直接就包含了烏鴉, 有足夠的能量積分就趕緊下手吧!

這個人物這麼特別, 當然有其特殊性, 她的能力是在自己的血量降低到 20% 時, 和敵人交換血量, 這實在是很夭壽的設計, 每當遇到烏鴉時, 都要頭大一番, 使用各種策略來擊敗她。而這樣的能力, 可以發動 2 次, 夭壽 X 2 阿!

有幾種方式可以擊敗她:
  • 直接攻擊讓她的血量直接歸零, 說起來簡單, 做起來很難, 若不是等級差距很大, 幾乎很難達成, 通常要用特殊攻擊來完成一次大量的傷害才有機會。後來得知摔跤手班恩的特殊用法之後, 烏鴉可以用摔跤手班恩來對付, 已經不會那麼棘手了。
  • 讓她吸 2 次血, 不過你得保證還有足夠的人物可以攻擊敵人隊伍。通常我會派出暗夜小隊來用這招, 搭配可以補血的裝備, 通常還蠻容易對付烏鴉的, 暗夜小隊本身就有補血的能力, 在搭配裝備, 可以大量補血, 不只對付烏鴉, 在線上對戰上, 也是我勝率最高的組合, 有機會再來談談線上對戰的組合。
  • 派出血量很少的人物和其對戰, 這樣就算被吸血, 烏鴉得到的血量也很少, 但要小心不要還沒被交換血量之前就被打死了。
當然有時候我也會派出烏鴉, 使用換血的賤招來對付敵人, 還蠻好用的, 在 survivor mode 也可以使用, 不過我的烏鴉只有 elite I/50 level, 不算太強, 但最主要靠的是換血能力, 不要一次被打死就好了, 但是 survivor mode 後面的敵人能力太誇張, 幾乎一擊就可以幹掉 elite I/50 level 的烏鴉, 所以還是很難靠烏鴉全破 survivor mode。

fig 4 .政權烏鴉
fig 4. 的政權烏鴉, 能力如圖, 不怎麼樣, 是所有烏鴉中能力最弱的, 我沒怎麼在用這隻角色, 也不會特別想用這隻角色。

fig 5. 重生烏鴉
也是從挑戰賽得到, 參加挑戰賽的條件沒有少年泰坦那麼嚴苛, 算是容易取得的角色, 能力是吸取敵人的能量, 也算是好用的招式, 通常在吸收敵人能量之後, 就可以順勢放出第二攻擊, 然後在躲回待命區, 繼續等待機會吸取敵人的能量。

fig 6. 少年泰坦
挑戰賽可以得到, 但是參加挑戰賽的條件很嚴苛, 要有 Killer Frost, Hawkgirl, Scorpion, 這 3 個人物才能挑戰, 而這 3 個人物不是那麼容易得到, 在我挑戰時, 我沒有 KillerFrost, 是用能量積分跳過關卡挑戰成功的。

她的能力是烏鴉、重生烏鴉的綜合版本, 可以吸取血量以及能量, 但缺點是隨機發動的, 可能這次的攻擊不會發動這項能力, 那 ... 就等著挨打吧!

通常我是集到 2 格能力後, 一次擊出第二攻擊, 有機會一次斃命敵人。在線上挑戰賽中, 還算是好用的招式。

製作公司似乎知道烏鴉的能力之強, 在突破戰的關卡中, 我從來沒看過可以升級烏鴉的條件, 所以我的烏鴉停留在排名 7 的狀態/當前級別是 50, 而我有些人物都已經在排名 10 的狀態, 當前級別是 60。

烏鴉是個好角色, 能獲得的時候請好好把握機會得到她。


2017年11月3日 星期五

[敗家] iGloba】酷掃小白機智慧型多功能掃地機器人(C02)

20170507 訂購於 momo, 20170508 收到, iGloba】酷掃小白機智慧型多功能掃地機器人(C02), 4920 nt
掃地機器人的價錢從 5000 ~ 30000, 我不想買最貴的, 也不想買最便宜的, 取個折衷, 買個 CP 高的就好。從 3000 ~ 1000 的範圍區間就找到酷掃小白機智慧型多功能掃地機器人 (C02) 了。

從 momo 看到 iGloba】酷掃小白機智慧型多功能掃地機器人(C02), 價錢也是找到中最便宜的 (剛好有折扣), 就這台了。



momo 的購物網站要填身份證, 對台灣電商的資安我一向沒信心, 不敢填, 結果客服通知信用卡刷卡時身份認證失敗, momo 會用會員填的身份證做信用卡認證, 最後改用貨到付款, 但是不是要便利商店的貨到付款, 所以得有人在家中收包裹/付款才行。



沒什麼使用經驗, 把 2 個刷毛裝上 (有磁性, 不難裝), 充電後, 就可以開始工作了。該有的都有, 遇到摟梯不會跌下去, 遇到障礙物自己會轉彎, 可以輕鬆的把床舖底下掃個乾淨, 這個價錢, 這樣的功能可以了。

一段時間後, 打開集塵盒, 倒出這些灰塵雜務即可, 看到滿滿的灰塵, 還真有成就感, 幹得好, 真的有在掃!



邊邊的角落掃地機器人掃不到, 留下了以下的痕跡, 我認為掃地機器人是輔佐的性質, 還是需要人工打掃, 但已經省下不少人工打掃的功夫。

而樓梯當然也是掃地機器人無法勝任的地方, 還是要靠人工打掃。



有時候會看到 F2 的錯誤訊息, 這是地板可能有突起物所引起, c02 會自動停機, 發出 F2 的錯誤訊息。

照理說, 當 C02 快沒電力時, 它會自己回去充電, 但我有遇過找不到充電座的樣子, 結果沒有回去充電。



2017年10月29日 星期日

[娃場] 20170916 獨角獸派對

fig 1. 放課後的攤位, 左邊的是偽娘, 那隻娃是鏡音連, 是男娃, 攤主只是把他換上女生衣服, 身體是男娃, 有人以為是 ss 胸。 fig 2. 粉紅色鞋子 20170916 購於神樂坊, 390nt

20170916 獨角獸派對, 這是娃場, 也就是販售 DD/BJD 相關的服飾市場, 門票 80nt, 在高雄四維二路 104 號 3 樓, 地點不是很好找, 在一棟大樓的 3 樓, 比起北部, 規模小很多, 來看看有沒什麼物品可以下手。

我難得參加娃場, 看到滿滿的同好相當開心, 當然一個也不認識, 噢! 有認識一位, 上次購買其牛仔連身裙, 這次遇見了, 再好好的聊了一次。從單車到關節球型娃娃, 這是不同的收藏品。從角落開始逛起吧!

這種實體商品展示有個好處, 大部分都能試穿, 看看哪些配件套在自己的娃上, 視覺效果如何, 感覺對了, 就下手買回, 感覺不對, 就放回原位。所以把娃帶到會場是很重要的, 這樣的機會除了實體商店, 就剩下這些娃展了。

娃展通常要門票, 我對於買東西還要門票的概念不是很習慣, 不過這就是娃圈的生態, 其實取名娃市集似乎比較正名。

試了好幾件衣服, 沒有太大的驚豔, 鞋子也沒找到合適的, 但是很感謝所有攤主的耐心, 不厭其煩的讓我試穿, 這次敗在 L 胸太大, 衣服不是太合身, 整體造型怪怪的。

除了買東西外, 還可以看看所有同好的娃, 是長見識的好時機, 欣賞別人的娃, 和其他人交流情報, 都是實體聚會不可多得的好處。畢竟娃圈太封閉, 資訊真的不好找, 目前的我對於關節球型娃娃只處於「略懂」的地步。能找到願意交流資訊的娃友, 可以大幅度的增進關節球型娃娃的相關情報。

之前好久不見的「放課後」也有參展, 他們已經轉移據點, 移到新的地點, 就等他們正式開幕了。fig 1. 就是其攤位, 惡搞鏡音連, 把他打扮成偽娘, 聽說沒人看出來, 以為是 SS 胸的身體。

最後在大合照區擺上自己的娃, 來個大合照, 這是第一次跟團拍照, 看到這麼多娃令人興奮。和其他娃友聊聊娃圈的話題, 又有了不少收穫。

第一次跟風參加團拍
會後到神樂坊, 看看有什麼東西可以購買, 東挑西選的敗了一雙粉紅鞋子, 和自己孤陋寡聞, 後來得知有個名詞叫做 one-off, 就真的只有一個, 例如 one-off 的衣服, 就是只有一件。雖然很有特色, 但這樣服裝製作師父賺得可能不多, 畢竟只賣出一件, 可能是以打名聲為主的策略。

和這位妝師聊過之後感覺很專業, 手上還有另外一顆 ddh-07 的頭, 打算請這位妝師打理一番, facebook: 嵐* Lan Make up Doll, 可以參考其作品。

2017年10月18日 星期三

compiler [7] - code generator - funcall call, pass argument

倦怠期中, 無限取材休刊
這陣子有點懶懶的, 突然失去寫技術文章的熱情, 我花了一些時間重溫 c++ virtual function, 卻提不起勁把這些東西整理成一篇文章, 可能真有些倦怠感, 沒意外的話這篇應該會是倦怠期最後一篇的技術文章。不只這樣, 連正在進行的組譯器我也提不起勁繼續下去, 而好不容易理清的 elf section 我竟然也沒動力整理寫下來, 所以才跑去寫俄羅斯方塊。也許該暫停一下這些東西, 轉換一下學習方向。

倦怠期間沒什麼在學習, 看了 jojo 動畫、王牌大律師, 這樣的生活蠻開心的, 也很舒服, 但不知怎麼的, 就是覺得哪裡怪怪的 ... 「學如逆水行舟不進則退」如果一天下來都沒進步, 這樣的生活令我惶恐, 不過適度的放鬆也是必要的, 我懷疑我放鬆過了頭。

在四則運算告一個段後之後, 本來應該是 if/else, 不過 if/else 不是太難, 就先跳過, 來看看 c function 的呼叫應該怎麼產生對應的組合語言。本篇文章介紹怎麼產生 c function 參數傳遞的組合語言。也許有人知道用 stack 用來傳遞參數, 由右而左的順序放進 stack, 除了這些, 還需要其他的知識才能產生對應的組合語言。

把 char c, 傳給 fun1(int a) 時, c 需要做什麼特別的事情嗎?

依照慣例, 先來一個很簡短的 c 程式, 是簡單的 c 函式呼叫, 來看 gcc 會輸出什麼樣的組合語言?

f.c 是 source code, list 1 則是 gcc 輸出的 x86 32bit 組合語言。

fc.c
 1 
 2 char func678(char c)
 3 {
 4   return c;
 5 }
 6 int main(int argc, char *argv[])
 7 {
 8   char func678(char c);
 9   func678(5);
10   return 0;
11 }

list 1. gcc -m32 -S fc.c => fc.s
 1  .file "fc.c"
 2  .text
 3  .globl func678
 4  .type func678, @function
 5 func678:
 6  pushl %ebp
 7  movl %esp, %ebp
 8  subl $4, %esp
 9  movl 8(%ebp), %eax
10  movb %al, -4(%ebp)
11  movzbl -4(%ebp), %eax
12  leave
13  ret
14  .size func678, .-func678
15  .globl main
16  .type main, @function
17 main:
18  pushl %ebp
19  movl %esp, %ebp
20  pushl $5
21  call func678
22  addl $4, %esp
23  movl $0, %eax
24  leave
25  ret
26  .size main, .-main
27  .ident "GCC: (GNU) 5.4.0"
28  .section .note.GNU-stack,"",@progbits

function 參數的傳遞比想像中複雜, 當 function 沒有 prototype 時或是使用 K&R style 的宣告或是 ... 這種參數 - ex: printf(const char *format, ...), 會發動 integer promtion, 這很好理解, 可以參考《“对于那些没有原型的函数,传递给函数的实参将进行缺省参数提升”是什么意思?》, 請不要小看中文世界的知識量, 你的問題說不定並沒特別需要到英文世界找答案, 知乎上的回答很有水準, 有這樣的平台, 是中文使用者的福氣, 讓我們別輸懂英文的人太多, 但請不要把這些話理解成我覺得英文不重要, 英文的重要性是已經到不需要特別指出來了。

fc.s L20 那行是 integer promotion 嗎? 因為有 fc.c L8 那行 (有 function prototype), 所以上述規則並不是用在這個情況, 由於 push 4 byte 長度的 5 (list 1 L20), 應該可以輸出 pushb $5, 這樣只要 push 一個 byte 就好, 而 pushl $5, 看起來很像做了 integer promotion, 把 5 傳給 char c 提升到 int。

真相是怎麼樣呢?

為了找到答案, 我參閱了:

  1. c11 spec
  2. C 語言參考手冊
  3. C 編譯器剖析
  4. Linux C 编程一站式学习
  5. C 語言程序設計 - 現代方法
  6. 標準 C 語言指南: p166, p307。

並在
發問, 結合這些回答以及找到的資料再加上 c11 spec 6.5.2.2 function call 查到的

c11 spec 6.5.2.2
If the expression that denotes the called function has a type that does
include a prototype, the arguments are implicitly converted,
as if by assignment, to the types of the corresponding parameters,
taking the type of each parameter to be the unqualified version
of its declared type. The ellipsis notation in a function prototype
declarator causes argument type conversion to stop after
the last declared parameter. The default argument
promotions are performed on trailing arguments

我得出了結論:
把 5 傳給 char c, 相當於 char c=5, 這會用到 assign 那條轉換規則, 參考《第 15 章 数据类型详解/3. 类型转换 3.3. 由赋值产生的类型转换 (implicit conversion)》, 5 的 type 是 int (不是 short, 也不是 unsinged int), 所以會做 implicit conversion (所以若傳入 300, 就爆了, 翻出來的組合語言會傳入 44, 300 = 0x12c, 0x2c = 44), 而 function 的參數傳遞則是 facebook 討論區說的 ABI, 需要用 4 byte alignment 方式傳入。

節錄: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/LowLevelABI/130-IA-32_Function_Calling_Conventions/IA32.html

The caller places arguments in the parameter area in reverse order, in 4-byte chunks. That is, the rightmost argument has the highest address.

Figure 2  Argument assignment with arguments of the fundamental data types


由於這些巧合, 看起來就像 integer promotion。

知道了這些之後, 就知道該如何輸出函式參數傳遞的組合語言了。

我一開始並不知道這些規則, 而是在寫到這部份時, 自然就會有這些疑問, 我要根據哪些規則產生對應的程式碼呢? 才開始找尋問題的答案。比想像中難得多。

最後再回到沒有 prototype 時, 看看有什麼不同。

no_prototype.c
 1 
 6 int main(int argc, char *argv[])
 7 {
 9   func678(300);
10   return 0;
11 }

no_prototype.s
 1  .file "c.c"
 2  .text
 3  .globl main
 4  .type main, @function
 5 main:
 6  leal 4(%esp), %ecx
 7  andl $-16, %esp
 8  pushl -4(%ecx)
 9  pushl %ebp
10  movl %esp, %ebp
11  pushl %ebx
12  pushl %ecx
13  call __x86.get_pc_thunk.ax
14  addl $_GLOBAL_OFFSET_TABLE_, %eax
15  subl $12, %esp
16  pushl $300
17  movl %eax, %ebx
18  call func678@PLT
19  addl $16, %esp
20  movl $0, %eax
21  leal -8(%ebp), %esp
22  popl %ecx
23  popl %ebx
24  popl %ebp
25  leal -4(%ecx), %esp
26  ret
27  .size main, .-main
28  .section .text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat
29  .globl __x86.get_pc_thunk.ax
30  .hidden __x86.get_pc_thunk.ax
31  .type __x86.get_pc_thunk.ax, @function
32 __x86.get_pc_thunk.ax:
33  movl (%esp), %eax
34  ret
35  .ident "GCC: (Debian 7.2.0-8) 7.2.0"
36  .section .note.GNU-stack,"",@progbits

no_prototype.s L16 的 300 出現了, 不會被截斷為 44。

2017年10月10日 星期二

[娃店] 20170930 白日夢森林


fig 1. 一平方精美背包: 1480 ntfig 2. 一平方精美背包: 1650 nt fig 3. 高跟長靴 1200 nt

20178 月就想拜訪這間娃店, 不過在交通上有些不便, 一直到 20170930 才有一個完整的時間來造訪。

20170930 這天早上 11:20 從中山捷運站搭車到木柵站, 還真的蠻遠的, 再搭乘 251 公車到永安街站下車, 往左前方看過去, 就可以看到大大的白日夢森林字樣, 就是它了, 我們進去吧!

永安街站
一進門隨意亂晃時, 一匹駿馬吸引了我的目光, 馬也有 bjd 的版本阿? 「當然囉!」店長得意的說道。不過這匹馬是非賣品, 純展示用的, 店長隨後還展示了兔子版本的 bjd 讓我觀賞, 小小的兩隻, 大開眼界。

店面算是蠻大的, 分為前後 2 區, 後面那區有店長自己的娃, 還有個照相區, 不是只有單純的風景圖, 還有一個實體的大沙發, 可惜我不方便帶娃來, 只好拍拍空場景過癮。也有桌椅可以讓買家安置自己的娃, 火力展示一番。

店長感覺是個開朗的人, 憑著自己的熱血, 努力的開了這家娃店, 這是很不容易的事情, 娃圈是小眾市場, 經營不易。

娃體本身是以預購的方式來販賣, 所以是有「檔期」的, 其他配件也很豐富, 服飾、頭髮、鞋子、項鍊、包包等 ... 應有盡有, 挑個東西好過中秋佳節。

有些是來自南部店家的商品, 例如: 偶夢、格子貓 ...

一開始我就被 fig 1, fig 2 的背包所吸引, 製作的相當精緻, 是台灣人做的哦! 網站是: 一平方, 看到台灣同好可以製作這麼精美的配件, 很開心, 我們也是有不輸給日本、中國、韓國的配件製作人員, 看了一下價錢, 嗯 ... 果然是很配合該產品的售價, 我心中稍稍猶豫了一下。

背包、項鍊等配件不像服飾、鞋子之類好賣, 畢竟只是輔助之用, 服裝才是最主力的裝扮, 所以在受歡迎程度上是比較吃虧的, 但這 2 個背包實在吸引我, 雖然不便宜, 我還是下手了, 就算不給 3 分娃用, 當一般文創收藏品, 也是很不錯的。

fig 3 的高跟長靴並不是設計給 DD 穿的, 但試了一下之後, DD 也是可以穿的, 不過膝蓋腿圍的部份有點大, 我猶豫了很久, 不急, 才剛來, 慢慢晃, 我可以仔細的挑選想要的配件、服制。

和服令我大開眼界, 那麼大一包的服裝就只是一件和服, 看來和服是一個很複雜的衣服, 我比較少注意和服, 而店長也有介紹 2 件式的版本, 穿脫就容易些了。

和店長聊了不少娃的知識, 也看到店長自己的收藏, 這是實體店面的線下交流, 和網路世界的線上交流有些不同, 畢竟面對面的相處, 總是多了點人情味, 店長也推薦了不少配件, 還有一個新的背包也很漂亮, 不過入手 2 個就已經讓我吃不消了, 讓給喜歡的人吧!



20171001 是白日夢森林的週年慶, 有一些折扣活動, 大家上吧! 能開這樣的店撐過一年真是不容易, 目前還在苦心經營, 讓我們多多支持這樣的實體店家, 讓他們可以永續經營。

2017年10月3日 星期二

[敗家] dd body III M 胸 - 普肌娃體


20170907 訂購於 ruten, 20170911 收到, 8500nt。除了 DD 普肌 M 胸身體之外, 還包含 DDH-07 和 2 對眼睛, 算是撿到便宜。



普肌 M 胸身體日圓定價 28000円。普肌在包裝上會寫ノーマル, 英文是 normal, 普通、通常的意思。自己到日本買時請注意, 不要買錯了。

由於之前已經有了一顆上妝的 DDH-07, 就差一個身體, 只要再購入一個身體, 我就有第二隻 DD。這次剛好在二手市場購入這個娃體, 完全符合我想要的:
  • 普肌
  • M 胸
  • DD 3 代素體
  • 非一體身
一體身可以參考「DD 亞絲娜二版」以下字樣:
一体型ボディパーツ採用
在胸部偏下的地方有個關節, 一體身就沒有那個關節, 一體身娃體在穿泳裝 (露出肚臍) 時會比較好看, 缺點是可動性會降低, 我比較想要可動性較好的版本。而白肌或是半白肌個人沒什麼偏愛, 覺得普肌就很好看了。

這隻是自組娃, 所需費用是: 8500+1600 = 10100, 比起第一隻的 Candy 21000, 足足省下一半費用。



我已經不是一開始什麼都不知道的玩家了, 雖然也不算熟悉娃圈的一切, 但對於 DD 本身有了「略懂」的理解, 而且有了第一隻娃後, 也不用急著買第二隻娃, 我靜靜的等待二手市場的物品, 慢慢蒐集自己想要的東西。

購入 DD 娃後, 陸續的費用非常花錢, 我很懷疑是不是玩娃的朋友都很辛苦度日, 我省錢的方法是從二手市場購入物品, 通常有機會撿便宜, 但因為物美價廉, 所以動作得快, 我好幾次都搶輸了。

不過有時候多少還是有花大錢的時候, 看上某個物品就是愛不釋手, 這就糟糕了, 不拿幾張紙消災是不行的, figure 1. 的鞋子和牛仔裙就是這樣的情形。

figure 1. 鞋子: 20170806 購於可汀, 1880nt;牛仔裙: 1000, 購於娃友
由於有了 L 集中胸, 我想購買的是 M 胸, 看過圖片, 胸型也算好看, 大小也適中, 買衣服也不用在特別考慮只有 L 集中胸可穿的版本, 有了彈性, 大概又會增加敗家的機率。


figure 2 
figure 2 的鞋子在: Home >> BJD Shoes >> SD16 Girl >> GS000020
是 dollheart 的產品, 定價 46.9 us, 但是我不知道幣別是什麼? 不過就算是美金, 在可汀購入還是比較貴的, 不過在可汀可以試穿, 我才能確認 DD 是不是可以穿, 視覺效果如何? 這是網路商店辦不到的。

DD 娃有限定的版本, 就是 volks 推出的版本, 我從之前出的限量娃看到現在, 只有「雪初音」比較吸引我, 其他就還好。現在的我比較偏向自己組娃, 但要組出好的娃倒是沒有那麼容易, 得花不少心力。頭部的妝是最難的部份, 我運氣好, 剛好收了這個妝師自己打造的版本, 而且我也沒什麼要求, 自己覺得好看就行, 當然價錢也是要考慮的, 5000 左右的我基本上就要考慮再三了。

雖然偏向自組娃, 但遇到喜歡的官服該怎麼辦, 我通常喜愛官服更勝於娃體娃頭本身, 但限量娃最有價值的就是娃頭, 不過每個人喜愛的都不同, 有人不喜歡官服, 有人不需要娃體, 就這樣, 在二手市場上各取所需, 我就是這樣買到初音和雪初音的官服, 也才有了初音的造型, 當然和官方的有所不同, 但是勉強滿足自己喜歡的造型。