Skip to content

Commit f8933fa

Browse files
committed
(wiki) Add document for duck typing
1 parent d73d47d commit f8933fa

4 files changed

Lines changed: 53 additions & 3 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
["workbench/dotfiles","object-oriented-design","Repository","Factory","DomainDrivenDesign","Aggregate","references/personal","quarterly/2024-Q1","references/flutter","references/devex","references","quarterly/2023-Q4","rfc/visualization","mermaid","metacognition","improving-productivity/journey","productivity","vim/versus-neovim","vim/builtins","vim","quarterly/2023-Q3","workbench/cheatsheet","mastodon/recommendations","archive","quarterly/2023-Q2","appendix/excelcon-2nd","appendix","rfc","rfc/2616","quarterly/2023-Q1","mastodon","vim-plugin/flutter-tools.nvim","digital-garden","prompt-engineering","vim-plugin/mind.nvim","improving-productivity","cli/diff","cli","dogfooding-driven-development","workbench","wezterm","vim-plugin/telekasten.nvim","vim-plugin","tmuxinator","symbol","neovim","projects/neural-bridge","daily/2023-01-19"]
1+
["workbench/dotfiles","duck-typing","object-oriented-design","Repository","Factory","DomainDrivenDesign","Aggregate","references/personal","quarterly/2024-Q1","references/flutter","references/devex","references","quarterly/2023-Q4","rfc/visualization","mermaid","metacognition","improving-productivity/journey","productivity","vim/versus-neovim","vim/builtins","vim","quarterly/2023-Q3","workbench/cheatsheet","mastodon/recommendations","archive","quarterly/2023-Q2","appendix/excelcon-2nd","appendix","rfc","rfc/2616","quarterly/2023-Q1","mastodon","vim-plugin/flutter-tools.nvim","digital-garden","prompt-engineering","vim-plugin/mind.nvim","improving-productivity","cli/diff","cli","dogfooding-driven-development","workbench","wezterm","vim-plugin/telekasten.nvim","vim-plugin","tmuxinator","symbol","neovim","projects/neural-bridge","daily/2023-01-19"]

โ€Žsrc/_data/wiki_datasets.jsonโ€Ž

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
"id": "workbench/dotfiles",
55
"group": 1
66
},
7+
{
8+
"id": "duck-typing",
9+
"group": 1
10+
},
711
{
812
"id": "object-oriented-design",
913
"group": 1
@@ -329,6 +333,16 @@
329333
"target": "workbench/dotfiles",
330334
"value": 100
331335
},
336+
{
337+
"source": "#oop",
338+
"target": "duck-typing",
339+
"value": 100
340+
},
341+
{
342+
"source": "#software-engineering",
343+
"target": "duck-typing",
344+
"value": 100
345+
},
332346
{
333347
"source": "#oop",
334348
"target": "object-oriented-design",
@@ -339,6 +353,11 @@
339353
"target": "object-oriented-design",
340354
"value": 100
341355
},
356+
{
357+
"source": "object-oriented-design",
358+
"target": "duck-typing",
359+
"value": 1
360+
},
342361
{
343362
"source": "#software-engineering",
344363
"target": "DomainDrivenDesign",

โ€Žsrc/_wiki/duck-typing.mdโ€Ž

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
title: Duck typing
3+
date: 2024-06-11
4+
layout: wiki
5+
tags: oop software-engineering
6+
---
7+
8+
9+
## Reference
10+
11+
### Practical Object Oriented Design in Ruby - Sandi Metz
12+
13+
<%= book_quote do %>
14+
"Duck typing์€ ํŠน์ • ํด๋ž˜์Šค์— ์ข…์†๋˜์ง€ ์•Š์€ ํผ๋ธ”๋ฆญ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. ์—ฌ๋Ÿฌ ํด๋ž˜์Šค๋ฅผ ๊ฐ€๋กœ์ง€๋ฅด๋Š” ์ด๋Ÿฐ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํด๋ž˜์Šค์— ๋Œ€ํ•œ ๊ฐ’๋น„์‹ผ ์˜์กด์„ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ๋ถ€๋“œ๋Ÿฌ์šด ์˜์กด์œผ๋กœ ๋Œ€์น˜์‹œํ‚จ๋‹ค." - p97
15+
<% end %>
16+
17+
<%= book_quote do %>
18+
"๊ฐ์ฒด์ง€ํ–ฅ ๋””์ž์ธ์€ ๊ตฌ์ฒด์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋น„์šฉ ๊ทธ๋ฆฌ๊ณ  ์ถ”์ƒ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋น„์šฉ ์‚ฌ์ด์˜ ๊ธด์žฅ์—์„œ ๊ฒฐ์ฝ” ์ž์œ ๋กœ์šธ ์ˆ˜ ์—†๋‹ค. (์ค‘๋žต) ์˜ค๋ฆฌ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ๋Š” ๊ตฌ์ฒด์ ์ธ ๊ฒƒ์—์„œ ์ถ”์ƒ์ ์ธ ๊ฒƒ์œผ๋กœ ๋ฐ”๋€๋‹ค." - p107
19+
<% end %>
20+
21+
<%= book_quote do %>
22+
"๋™์  ํƒ€์ž…์€ ์ปดํŒŒ์ผ ์ˆœ๊ฐ„์˜ ํƒ€์ž… ํ™•์ธ๊ณผ ์ƒ๋‹นํ•œ ์ˆ˜์ค€์˜ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ์„ ๋งž๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ์ „์ž๋Š” ๋น„์‹ผ ๋Œ€๊ฐ€๋ฅผ ์น˜๋ฃจ๊ณ  ๋‚ฎ์€ ์ด์ต์„ ์–ป๋Š” ์ œ์•ฝ์‚ฌํ•ญ์ด๋ฉฐ, ํ›„์ž๋Š” compile/make ๊ณผ์ •์„ ์ƒ๋žตํ•˜๋ฉด์„œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ด๋“์ด๋‹ค. ์ด๊ฑด ๋‚จ๋Š” ๊ฒŒ ๋งŽ์€ ๊ตํ™˜์ด๋‹ค. ์˜ค๋ฆฌ ํƒ€์ž…์€ ์ •์  ํƒ€์ž… ์œ„์—์„œ ๋งŒ๋“ค์–ด์ง„๋‹ค. ์˜ค๋ฆฌ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋™์  ํƒ€์ž…์„ ๋ฐ›์•„๋“ค์—ฌ์•ผ๋งŒ ํ•œ๋‹ค." - p117
23+
<% end %>
24+
25+
<%= book_quote do %>
26+
"๋ฉ”์‹œ์ง€๋Š” ํผ๋ธ”๋ฆญ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋”ฐ๋ผ ๊ฐ์ฒด๋“ค ์‚ฌ์ด๋ฅผ ์˜ค๊ฐ„๋‹ค. ์˜ค๋ฆฌ ํƒ€์ž…์€ ์ด ํผ๋ธ”๋ฆญ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๋ถ„๋ฆฌํ•ด๋‚ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  '๊ฐ์ฒด๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€'๊ฐ€ ์•„๋‹ˆ๋ผ '๊ฐ์ฒด๊ฐ€ ๋ฌด์—‡์„ ํ•˜๋Š”์ง€'์— ๋”ฐ๋ผ ๊ฐ€์ƒ์˜ ํƒ€์ž…์„ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค." - p117
27+
<% end %>
28+
29+
<%= book_quote do %>
30+
"์˜ค๋ฆฌํƒ€์ž…์€ ์˜ค๋ฆฌํƒ€์ž…์ด ์—†์—ˆ๋‹ค๋ฉด ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ–ˆ์„ ์ถ”์ƒํ™”๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ์ด ์ถ”์ƒํ™”์— ์˜์กดํ• ๋•Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์œ„ํ—˜์„ฑ์€ ์ค„์–ด๋“ค๊ณ  ์œ ์—ฐ์„ฑ์€ ์ฆ๊ฐ€ํ•œ๋‹ค. ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์ด ์ค„์–ด๋“ค๊ณ  ์‰ฝ๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค." - p118
31+
<% end %>
32+

โ€Žsrc/_wiki/object-oriented-design.mdโ€Ž

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,12 @@ tags: oop software-engineering
88

99
## ๊ด€๋ จ ์šฉ์–ด
1010

11+
* [[duck-typing]]{์˜ค๋ฆฌ ํƒ€์ž…(Duck typing)}
1112

1213
## Reference
1314

1415
### Practical Object Oriented Design in Ruby - Sandi Metz
1516

16-
<br/>
17-
1817
<%= book_quote do %>
1918
"๊ฐ์ฒด ์ง€ํ–ฅ ๋””์ž์ธ์€ ์„ธ์ƒ์„ ์ด๋ฏธ ์ •ํ•ด์ง„ ์ ˆ์ฐจ๋“ค์˜ ๋ฌถ์Œ์œผ๋กœ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ , ๊ฐ์ฒด๊ฐ€ ์„œ๋กœ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฉ”์‹œ์ง€๋“ค์˜ ์—ฐ์‡„๋กœ ํŒŒ์•…ํ•  ๊ฒƒ์„ ์š”๊ตฌํ•œ๋‹ค." - p1
2019
<% end %>

0 commit comments

Comments
ย (0)