my_help 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/.DS_Store +0 -0
  3. data/.gitignore +1 -0
  4. data/.rspec +2 -0
  5. data/Gemfile +1 -0
  6. data/README.md +1 -1
  7. data/Rakefile +35 -12
  8. data/exe/{todo_help → my_todo} +1 -1
  9. data/hikis/diff_against_org-mode.hiki +34 -0
  10. data/hikis/tmp.org +20 -0
  11. data/lib/.emacs_help.rb.swp +0 -0
  12. data/lib/daddygongon/my_todo.yml +31 -0
  13. data/lib/emacs_help.rb +15 -0
  14. data/lib/emacs_help.rb~ +137 -0
  15. data/lib/my_help/test.rb +3 -0
  16. data/lib/my_help/version.rb +1 -1
  17. data/lib/my_help.rb +1 -1
  18. data/lib/my_todo/my_todo.rb +7 -0
  19. data/lib/my_todo/my_todo.rb~ +7 -0
  20. data/lib/specific_help.rb +42 -11
  21. data/lib/specific_help.rb~ +193 -0
  22. data/lib/todo.rb +1 -0
  23. data/lib/todo.rb~ +1 -0
  24. data/lor +0 -0
  25. data/my_help.gemspec +4 -2
  26. data/my_help.wiki/Home.md +1 -1
  27. data/my_help.wiki/README_ja.md +1 -1
  28. data/my_help_nasu/.DS_Store +0 -0
  29. data/my_help_nasu/.gitignore +1 -0
  30. data/my_help_nasu/Rakefile +422 -0
  31. data/my_help_nasu/code.hiki +285 -0
  32. data/my_help_nasu/consideration.hiki +8 -0
  33. data/my_help_nasu/features.hiki +185 -0
  34. data/my_help_nasu/figs/my_help_nasu.001.jpeg +0 -0
  35. data/my_help_nasu/figs/my_help_nasu.001.jpg +0 -0
  36. data/my_help_nasu/figs/my_help_nasu1.001.jpg +0 -0
  37. data/my_help_nasu/head2.tex +9 -0
  38. data/my_help_nasu/hiki_help.yml +53 -0
  39. data/my_help_nasu/introduction.hiki +29 -0
  40. data/my_help_nasu/key_bind_mi +1 -0
  41. data/my_help_nasu/latex_dir/.gitignore +1 -0
  42. data/my_help_nasu/latex_dir/Rakefile +420 -0
  43. data/my_help_nasu/latex_dir/code.aux +25 -0
  44. data/my_help_nasu/latex_dir/code.tex +271 -0
  45. data/my_help_nasu/latex_dir/consideration.aux +22 -0
  46. data/my_help_nasu/latex_dir/consideration.tex +9 -0
  47. data/my_help_nasu/latex_dir/features.aux +31 -0
  48. data/my_help_nasu/latex_dir/features.tex +173 -0
  49. data/my_help_nasu/latex_dir/head.tex +9 -0
  50. data/my_help_nasu/latex_dir/hiki_help.yml +53 -0
  51. data/my_help_nasu/latex_dir/introduction.aux +22 -0
  52. data/my_help_nasu/latex_dir/introduction.tex +23 -0
  53. data/my_help_nasu/latex_dir/jlisting.sty +216 -0
  54. data/my_help_nasu/latex_dir/jlisting.tex +216 -0
  55. data/my_help_nasu/latex_dir/latex_dir/head.tex +9 -0
  56. data/my_help_nasu/latex_dir/latex_dir/jlisting.tex +216 -0
  57. data/my_help_nasu/latex_dir/latex_dir/pre.tex +36 -0
  58. data/my_help_nasu/latex_dir/method_bdd.aux +26 -0
  59. data/my_help_nasu/latex_dir/method_bdd.tex +28 -0
  60. data/my_help_nasu/latex_dir/method_cucumber.aux +28 -0
  61. data/my_help_nasu/latex_dir/method_cucumber.log +28 -0
  62. data/my_help_nasu/latex_dir/method_cucumber.tex +205 -0
  63. data/my_help_nasu/latex_dir/method_usage.aux +28 -0
  64. data/my_help_nasu/latex_dir/method_usage.tex +76 -0
  65. data/my_help_nasu/latex_dir/my_help_nasu.aux +12 -0
  66. data/my_help_nasu/latex_dir/my_help_nasu.log +328 -0
  67. data/my_help_nasu/latex_dir/my_help_nasu.pdf +0 -0
  68. data/my_help_nasu/latex_dir/my_help_nasu.synctex.gz +0 -0
  69. data/my_help_nasu/latex_dir/my_help_nasu.tex +74 -0
  70. data/my_help_nasu/latex_dir/my_help_nasu.toc +32 -0
  71. data/my_help_nasu/latex_dir/overview.aux +21 -0
  72. data/my_help_nasu/latex_dir/overview.tex +12 -0
  73. data/my_help_nasu/latex_dir/pre.tex +36 -0
  74. data/my_help_nasu/method_bdd.hiki +24 -0
  75. data/my_help_nasu/method_cucumber.hiki +184 -0
  76. data/my_help_nasu/method_usage.hiki +69 -0
  77. data/my_help_nasu/my_help_nasu/.DS_Store +0 -0
  78. data/my_help_nasu/my_help_nasu/my_help_nasu.001.jpeg +0 -0
  79. data/my_help_nasu/my_help_nasu.hiki +32 -0
  80. data/my_help_nasu/my_help_nasu.key +0 -0
  81. data/my_help_nasu/overview.hiki +11 -0
  82. data/tmp.txt +2 -0
  83. metadata +104 -10
  84. data/lib/daddygongon/git_help.yml +0 -30
  85. data/lib/daddygongon/todo_help.yml +0 -58
@@ -0,0 +1,26 @@
1
+ \relax
2
+ \@writefile{toc}{\contentsline {subsection}{\numberline {2.1}RSpecとBDDについて}{7}}
3
+ \@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces RSpecとCucumberのRed-Green-Refactoringサイクル間の関係.}}{8}}
4
+ \newlabel{default}{{1}{8}}
5
+ \@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces RSpecとCucumberの手順.}}{8}}
6
+ \newlabel{default}{{2}{8}}
7
+ \@setckpt{method_bdd}{
8
+ \setcounter{page}{10}
9
+ \setcounter{equation}{0}
10
+ \setcounter{enumi}{0}
11
+ \setcounter{enumii}{0}
12
+ \setcounter{enumiii}{0}
13
+ \setcounter{enumiv}{0}
14
+ \setcounter{footnote}{0}
15
+ \setcounter{mpfootnote}{0}
16
+ \setcounter{part}{0}
17
+ \setcounter{section}{2}
18
+ \setcounter{subsection}{1}
19
+ \setcounter{subsubsection}{0}
20
+ \setcounter{paragraph}{0}
21
+ \setcounter{subparagraph}{0}
22
+ \setcounter{figure}{2}
23
+ \setcounter{table}{0}
24
+ \setcounter{lstnumber}{1}
25
+ \setcounter{lstlisting}{0}
26
+ }
@@ -0,0 +1,28 @@
1
+
2
+ \subsection{RSpecとBDDについて}
3
+ ビヘイビア駆動開発(Behaviour-Driven Development : BDD)は,テスト駆動開発(Test-Driven Development : TDD)の工程への理解を深め,それをうまく説明しようとして始まりました.TDDの持つ単語のイメージが構造のテストを中心とするべしというのに対して,BDDはソフトの振る舞いに中心をおきなさいという意図があります.この違いが,初めに考えるべきテストの性質を変化させ,構造ではなく振る舞いを中心にテストを構築するという意識をもたせてくれます.
4
+
5
+ さらに,ソフトの中で,オブジェクト同士がコミュニケーションをとるように,実世界において開発チームやテストチーム,あるいはドキュメントチーム間のコミュニケーションの取り方をシステムで提供しようというのがBDDのフレームワークです.CucumberとRSpecはこれを実現する一つのシステムとして提供されています.
6
+
7
+ RSpecとCucumberの関係を図に示しました.これは,RSpec本から書き写した図です[1, pp.9].RSpecでテストを書くと一つ一つのfunctionあるいはmethodレベルでRed, Green, Refactoringを行うべしという意図があります.一方で,もっと大きな枠組み,つまりシステムレベルでもこれらのステップは必要です.ところが,それをRSpecで書くのには無理があります.このレベルのテスト記述をしやすくするのが,Cucumberです.そこでもRed, Green, Refactoringが必要で,そこでサイクルが回ることを意図しています.
8
+
9
+ \begin{figure}[htbp]\begin{center}
10
+ \includegraphics[width=10cm,bb= 0 0 737 453]{../figs/./my_help_nasu.001.jpg}
11
+ \caption{RSpecとCucumberのRed-Green-Refactoringサイクル間の関係.}
12
+ \label{default}\end{center}\end{figure}
13
+ BDDの基本的な考え方は次の通りまとめられています.
14
+
15
+ \begin{quotation}
16
+ BDDの目的は,ソフトウェアが使われる状況を説明するための言語を単純化することで,ソフトウェア開発チームのコミュニケーションを後押しすることです.つまり,あるコンテキストで(Given),あるイベントが発生すると(When),ある結果が期待されます(Then).BDDにおけるGiven, When, Thenの3つの単語は,アプリケーションやオブジェクトを,それらの振る舞いに関係なく表現するために使われる単純な単語です.ビジネスアナリスト,テスト担当者,開発者は皆,それらをすぐに理解します.これらの単語はCucumberの言語に直接埋め込まれています[1, pp.3-6].
17
+
18
+ \end{quotation}
19
+ 手順を書き直すと次の通りです.
20
+
21
+ \begin{figure}[htbp]\begin{center}
22
+ \includegraphics[width=10cm,bb= 0 0 737 453]{../figs/./my_help_nasu1.001.jpg}
23
+ \caption{RSpecとCucumberの手順.}
24
+ \label{default}\end{center}\end{figure}
25
+ まずCucumberで一つのシナリオに焦点を当てて,その振る舞いを記述するfeatureを書きます.一つずつつぶしていくのがこつです.一つのfeatureが書けたら、次に,それぞれfeatureを実現するステップに分けて仕様を決めて行きます.これはTDDのred green refactoringの前に行う作業,「仕様をきめる」に対応しています.このプロセスが終了したら,RSpecに行きます.
26
+ RSpecでは実際にテストコードを書き,ここでもred, green, refactoringを行います.
27
+ RSpecが成功したら,Cucumberのrefactoringを行います.
28
+
@@ -0,0 +1,28 @@
1
+ \relax
2
+ \@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Cucumberについて}{10}}
3
+ \@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1}概要}{10}}
4
+ \@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2}features}{10}}
5
+ \@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.3}Cucumber,RSpecインストール}{11}}
6
+ \@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces }}{12}}
7
+ \newlabel{default}{{1}{12}}
8
+ \@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.4}ディレクトリー構造と使用手順}{12}}
9
+ \@setckpt{method_cucumber}{
10
+ \setcounter{page}{15}
11
+ \setcounter{equation}{0}
12
+ \setcounter{enumi}{2}
13
+ \setcounter{enumii}{0}
14
+ \setcounter{enumiii}{0}
15
+ \setcounter{enumiv}{0}
16
+ \setcounter{footnote}{0}
17
+ \setcounter{mpfootnote}{0}
18
+ \setcounter{part}{0}
19
+ \setcounter{section}{2}
20
+ \setcounter{subsection}{2}
21
+ \setcounter{subsubsection}{4}
22
+ \setcounter{paragraph}{0}
23
+ \setcounter{subparagraph}{0}
24
+ \setcounter{figure}{2}
25
+ \setcounter{table}{1}
26
+ \setcounter{lstnumber}{17}
27
+ \setcounter{lstlisting}{0}
28
+ }
@@ -0,0 +1,28 @@
1
+ This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016) (preloaded format=platex 2017.1.26) 8 FEB 2017 06:33
2
+ entering extended mode
3
+ restricted \write18 enabled.
4
+ file:line:error style messages enabled.
5
+ %&-line parsing enabled.
6
+ **method_cucumber.tex
7
+ (./method_cucumber.tex
8
+ pLaTeX2e <2016/11/29> (based on LaTeX2e <2017/01/01>)
9
+ Babel <3.9r> and hyphenation patterns for 83 language(s) loaded.
10
+ ./method_cucumber.tex:2: Undefined control sequence.
11
+ l.2 \subsection
12
+ {Cucumberについて}
13
+ ?
14
+ ./method_cucumber.tex:2: Emergency stop.
15
+ l.2 \subsection
16
+ {Cucumberについて}
17
+ End of file on the terminal!
18
+
19
+
20
+ Here is how much of TeX's memory you used:
21
+ 4 strings out of 493683
22
+ 74 string characters out of 6149653
23
+ 53892 words of memory out of 5000000
24
+ 3671 multiletter control sequences out of 15000+600000
25
+ 7511 words of font info for 31 fonts, out of 8000000 for 9000
26
+ 929 hyphenation exceptions out of 8191
27
+ 5i,0n,3p,51b,8s stack positions out of 5000i,500n,10000p,200000b,80000s
28
+ No pages of output.
@@ -0,0 +1,205 @@
1
+
2
+ \subsection{Cucumberについて}
3
+ \subsubsection{概要}
4
+ Cucumberが提供するBDDの内容をまとめると
5
+
6
+ \begin{quotation}
7
+ BDDはフルスタックのアジャイル開発技法です.BDDはATDP(Acceptance Test-Driven Planning)と呼ばれるAcceptance TDDの一種を含め,エクストリームプログラミングからヒントを得ています.ATDPでは,顧客受け入れテストを導入し,それを主体にコードの開発を進めて行きます.それらは顧客と開発チームによる共同作業の結果であることが理想的です.開発チームによってテストが書かれた後,顧客がレビューと承認を行うこともあります.いずれにしても,それらのテストは顧客と向き合うものなので,顧客が理解できる言語とフォーマットで表現されていなければなりません.Cucumberを利用すれば,そのための言語とフォーマットを手に入れることができます.Cucumberは,アプリケーションの機能とサンプルシナリオを説明するテキストを読み取り,そのシナリオの手順に従って開発中のコードとのやり取りを自動化します[1, 7pp.].
8
+
9
+ \end{quotation}
10
+ と記されている.
11
+
12
+ \subsubsection{features}
13
+ Cucumberでは先の引用にある通り、振る舞いをシナリオとしてまず記述します.
14
+ 次に,英語のfeaturesのひな形を示します.
15
+ \begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
16
+ % cat ./featrues/sample_e.feature
17
+ Feature: Description of feature
18
+
19
+ Scenario: Description of scenario
20
+ Given I want to explain scenario
21
+ Then I investigate
22
+ When I know the meaning
23
+ \end{lstlisting}
24
+ ファイルの先頭で,
25
+ \begin{quote}\begin{verbatim}
26
+ # language: ja
27
+ \end{verbatim}\end{quote}
28
+ と記すと日本語でのkeywordが認識されます.下記にmy\_todoに対するfeaturesファイルの具体例を示します.
29
+ \begin{lstlisting}[style=customCsh,basicstyle={\scriptsize\ttfamily}]
30
+ # language: ja
31
+
32
+ 機能: todoの更新を行う
33
+ todoは更新していくものであり,新しく書いたり終わったものを消したいので
34
+ バックアップをとって,過去のtodoを残しておく
35
+
36
+ シナリオ: コマンドを入力してtodoを更新していく
37
+ 前提 todoを編集したい
38
+ もし "my_todo --edit"と入力する
39
+ ならば editが開かれる
40
+ かつ 自分のtodoを書き込む
41
+
42
+ シナリオ: コマンドを入力してバックアップをとる
43
+ 前提 todoの編集が終わった
44
+ もし "my_todo --store [item]"と入力する
45
+ ならば itemのバックアップを取る
46
+ \end{lstlisting}
47
+ このようにFeature, Scenario, Given, Then, Whenなどのcucumberが解釈する大文字で始まる
48
+ keywordsに対して,それぞれ機能,シナリオ,前提,もし,ならばなどの単語があてられています.
49
+ この機能により,より自然な日本語でfeaturesを書くことができ,
50
+ 顧客にもわかりやすく,開発者も書きやすくなっています。
51
+
52
+ featureファイルで用意されているkeywordは
53
+ \begin{quote}\begin{verbatim}
54
+ cucumber --i18n LANG
55
+ \end{verbatim}\end{quote}
56
+ によって表示される.LANG=ja, enに対しては下記の通りになっています.
57
+
58
+ \begin{table}[htbp]\begin{center}
59
+ \caption{}
60
+ \begin{tabular}{llll}
61
+ \hline
62
+ keyword &ja(japanese) &en(english) \\ \hline
63
+ feature & "フィーチャ", "機能" &"Feature", "Business Need", \\
64
+ & &"Ability" \\
65
+ background &"背景" &"Background" \\
66
+ scenario &"シナリオ" &"Scenario" \\
67
+ &"シナリオアウトライン", &"Scenario Outline", \\
68
+ scenario\_outline &"シナリオテンプレート","テンプレ", & "Scenario Template" \\
69
+ &"シナリオテンプレ" & \\
70
+ examples &"例", "サンプル" &"Examples", "Scenarios" \\
71
+ given &"* ", "前提" &"* ", "Given " \\
72
+ when &"* ", "もし" &"* ", "When " \\
73
+ then &"* ", "ならば" &"* ", "Then " \\
74
+ and &"* ", "かつ" &"* ", "And " \\
75
+ but &"* ", "しかし", "但し", "ただし" &"* ", "But " \\
76
+ given (code) &"前提" &"Given" \\
77
+ when (code) &"もし" &"When" \\
78
+ then (code) &"ならば" &"Then" \\
79
+ and (code) &"かつ" &"And" \\
80
+ but (code) &"しかし", "但し","ただし" &"But" \\
81
+ \hline
82
+ \end{tabular}
83
+ \label{default}
84
+ \end{center}\end{table}
85
+ %for inserting separate lines, use \hline, \cline{2-3} etc.
86
+
87
+ \subsubsection{Cucumber,RSpecインストール}
88
+ まずrspecをgemでinstallする.
89
+
90
+ \begin{enumerate}
91
+ \item gem install rspec --version 2.0.0
92
+ \item rspec --help
93
+ \end{enumerate}
94
+ と入力して
95
+ \begin{lstlisting}[style=customCsh,basicstyle={\scriptsize\ttfamily}]
96
+ /Users/nasubi/nasu% rspec --help
97
+ Usage: rspec [options] [files or directories]
98
+ \end{lstlisting}
99
+ のような表示がされていればinstallができている.次に,cucumberをinstallする
100
+
101
+ \begin{enumerate}
102
+ \item gem install cucumber --version 0.9.2
103
+ \item cucumber --help
104
+ \end{enumerate}
105
+ と入力して
106
+ \begin{lstlisting}[style=customCsh,basicstyle={\scriptsize\ttfamily}]
107
+ cucumber --help
108
+ Usage: cucumber [options] [ [FILE|DIR|URL][:LINE[:LINE]*] ]+
109
+ \end{lstlisting}
110
+ のような表示がされていればinstallできている.
111
+
112
+ \subsubsection{ディレクトリー構造と使用手順}
113
+ cucumberはRubygemsの提供する基本directory構造での作業を前提としています.
114
+ その構造を表示すると次のようになります.
115
+ \begin{quote}\begin{verbatim}
116
+ bob% tree .
117
+ .
118
+ ├── Gemfile
119
+ ├── Rakefile
120
+ ├── features
121
+ │ ├── hogehoge.feature
122
+ │ ├── step_definitions
123
+ │ │ └── hogehoge_step.rb
124
+ │ ├── support
125
+ │ ├── env.rb
126
+ ├── lib
127
+ │ ├── daddygongon
128
+ │ │ ├── emacs_help.yml
129
+ │ │ ├── my_todo.yml
130
+ ├── pkg
131
+ ├── spec
132
+ │ ├── my_help_spec.rb
133
+ │ ├── my_todo
134
+ │ │ ├── todo_spec.rb
135
+ │ ├── spec_helper.rb
136
+ │ └── support
137
+ │ └── aruba.rb
138
+ \end{verbatim}\end{quote}
139
+ カレントディレクトリ(.)の中にfeaturesというサブディレクトリを作成します.
140
+ そのfeaturesの中に書きたいシナリオを書いた,hogehoge.featureを作成します.
141
+ featureの具体例は上記に示してします.
142
+
143
+ 次にシェルを開いて,カレントディレクトリで,
144
+ \begin{quote}\begin{verbatim}
145
+ cucumber features hogehoge.feature
146
+ \end{verbatim}\end{quote}
147
+ と入力します.そうすると以下のような出力が得られます.
148
+ \begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
149
+ Feature: Description of feature
150
+
151
+ Scenario: Description of scenario # features/hogehoge.feature:3
152
+ Given I want to explain scenario # features/hogehoge.feature:4
153
+ Then I investigate # features/hogehoge.feature:5
154
+ When I know the meaning # features/hogehoge.feature:6
155
+
156
+ 1 scenario (1 undefined)
157
+ 3 steps (3 undefined)
158
+ 0m0.066s
159
+
160
+ You can implement step definitions for undefined steps with these snippets:
161
+
162
+ Given(/^I want to explain scenario$/) do
163
+ pending # Write code here that turns the phrase above into concrete actions
164
+ end
165
+
166
+ Then(/^I investigate$/) do
167
+ pending # Write code here that turns the phrase above into concrete actions
168
+ end
169
+
170
+ When(/^I know the meaning$/) do
171
+ pending # Write code here that turns the phrase above into concrete actions
172
+ end
173
+
174
+ \end{lstlisting}
175
+ ここではステップ定義に使用することができるコードブロックが表示されています.
176
+ ステップ定義はステップを作成するための方法です.このサンプルでは,Giver(), When(), Then()の
177
+ 3つのメソッドを使ってステップを記述します.
178
+ これらのメソッドはそれぞれ\/\/で囲まれたRegexp(正規表現)とブロックを受け取ります.
179
+ Cucumberはシナリオの最初のステップを読み取り,そのステップにマッチする正規表現を持つステップ定義を探します.
180
+ その中の対応するステップ定義のブロックを実行します.
181
+
182
+ これはfeaturesディレクトリの下にstep\_definitionsディレクトリーにあることになっています.
183
+ このシナリオを成功させるには,Cucumberが読み込めるファイルにステップ定義を保存する必要があります[1, pp15.].
184
+ その内容は次の通りcucumberから自動生成されます.
185
+ \begin{lstlisting}[style=customRuby,basicstyle={\scriptsize\ttfamily}]
186
+
187
+ Given(/^I want to explain scenario$/) do
188
+ pending # Write code here that turns the phrase above into concrete actio\
189
+ ns
190
+ end
191
+
192
+ Then(/^I investigate$/) do
193
+ pending # Write code here that turns the phrase above into concrete actio\
194
+ ns
195
+ end
196
+
197
+ When(/^I know the meaning$/) do
198
+ pending # Write code here that turns the phrase above into concrete actio\
199
+ ns
200
+ end
201
+
202
+ \end{lstlisting}
203
+ pendingを削除して,そこにあれば良いなと思うコードを記述していきます.
204
+ ここまでがCucumberの使用方法のテンプレートです.
205
+
@@ -0,0 +1,28 @@
1
+ \relax
2
+ \@writefile{toc}{\contentsline {subsection}{\numberline {2.3}my\_helpについて}{15}}
3
+ \@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1}使用法}{15}}
4
+ \@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.2}my\_helpのインストール}{15}}
5
+ \@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.3}githubに行ってdaddygongonのmy\_helpをforkする}{15}}
6
+ \@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.4}my\_helpの更新}{16}}
7
+ \@writefile{toc}{\contentsline {paragraph}{gitを用いてmy\_helpを新しくする.}{16}}
8
+ \@writefile{toc}{\contentsline {paragraph}{次にとってきた.ymlを\nobreakspace {}/.my\_helpにcpする.}{16}}
9
+ \@setckpt{method_usage}{
10
+ \setcounter{page}{17}
11
+ \setcounter{equation}{0}
12
+ \setcounter{enumi}{2}
13
+ \setcounter{enumii}{0}
14
+ \setcounter{enumiii}{0}
15
+ \setcounter{enumiv}{0}
16
+ \setcounter{footnote}{0}
17
+ \setcounter{mpfootnote}{0}
18
+ \setcounter{part}{0}
19
+ \setcounter{section}{2}
20
+ \setcounter{subsection}{3}
21
+ \setcounter{subsubsection}{4}
22
+ \setcounter{paragraph}{0}
23
+ \setcounter{subparagraph}{0}
24
+ \setcounter{figure}{2}
25
+ \setcounter{table}{1}
26
+ \setcounter{lstnumber}{17}
27
+ \setcounter{lstlisting}{0}
28
+ }
@@ -0,0 +1,76 @@
1
+
2
+ \subsection{my\_helpについて}
3
+ \subsubsection{使用法}
4
+ my\_helpは本研究室の西谷が開発したものです.
5
+
6
+ 以下はmy\_helpのREADMEです[2].
7
+
8
+ CUI(CLI)ヘルプのUsage出力を真似て,user独自のhelpを作成・提供するgem.
9
+
10
+ \begin{enumerate}
11
+ \item 問題点
12
+ \end{enumerate}
13
+ CUIやshell, 何かのプログラミング言語などを習得しようとする初心者は,
14
+ commandや文法を覚えるのに苦労します.少しのkey(とっかかり)があると
15
+ 思い出すんですが,うろ覚えでは間違えて路頭に迷います.問題点は,
16
+ - manは基本的に英語
17
+ - manualでは重たい
18
+ - いつもおなじことをwebで検索して
19
+ - 同じとこ見ている
20
+ - memoしても,どこへ置いたか忘れる
21
+
22
+ などです.
23
+
24
+ \begin{enumerate}
25
+ \item 特徴
26
+ \end{enumerate}
27
+ これらをgem環境として提供しようというのが,このgemの目的です.
28
+ 仕様としては,
29
+ - userが自分にあったmanを作成
30
+ - 雛形を提供
31
+ \begin{quote}\begin{verbatim}
32
+ - おなじformat, looks, 操作, 階層構造
33
+ \end{verbatim}\end{quote}
34
+ - すぐに手が届く
35
+ - それらを追加・修正・削除できる
36
+
37
+ hikiでやろうとしていることの半分くらいはこのあたりのことなの
38
+ かもしれません.memoソフトでは,検索が必要となりますが,my\_helpは
39
+ key(記憶のとっかかり)を提供することが目的です.
40
+
41
+ \subsubsection{my\_helpのインストール}
42
+ \subsubsection{githubに行ってdaddygongonのmy\_helpをforkする}
43
+ \begin{enumerate}
44
+ \item git clone git@github.com:daddygongon/my\_help.git
45
+ \item cd my\_help
46
+ \item rake to\_yml
47
+ \item rake clean\_exe
48
+ \item [sudo] bundle exec exe/my\_help -m
49
+ \item source ~/.zshrc or source ~/.cshrc
50
+ \item my\_help -l
51
+ \item rake add\_yml
52
+ \end{enumerate}
53
+ \subsubsection{my\_helpの更新}
54
+ \paragraph{gitを用いてmy\_helpを新しくする.}
55
+ \begin{enumerate}
56
+ \item git remote -vをする(remoteの確認).
57
+ \item (upstreamがなければ)git remote add upstream git@github.com:gitname/my\_help.git
58
+ \item git add -A
59
+ \item git commit -m 'hogehoge'
60
+ \item git push upstream master(ここで自分のmy\_helpをupstreamに送っとく)
61
+ \item git pull origin master(新しいmy\_helpを取ってくる)
62
+ \end{enumerate}
63
+ \paragraph{次にとってきた.ymlを~/.my\_helpにcpする.}
64
+ \begin{enumerate}
65
+ \item cd my\_helpでmy\_helpに移動.
66
+ \item cp hogehoge.yml ~/.my\_help
67
+ \end{enumerate}
68
+ それを動かすために
69
+ (sudo)bundle exec ruby exe/my\_help -mをする.
70
+
71
+ ここで過去にsudoをした人はpermissionがrootになっているので,sudoをつけないとerrorが出る.
72
+
73
+ (sudoで実行していたら権限がrootに移行される)
74
+
75
+ 新しいターミナルを開いて動くかチェックする.
76
+
@@ -0,0 +1,12 @@
1
+ \relax
2
+ \@input{overview.aux}
3
+ \@input{introduction.aux}
4
+ \@writefile{toc}{\contentsline {section}{\numberline {2}先行研究,方法}{6}}
5
+ \@input{method_bdd.aux}
6
+ \@input{method_cucumber.aux}
7
+ \@input{method_usage.aux}
8
+ \@input{code.aux}
9
+ \@input{features.aux}
10
+ \@input{consideration.aux}
11
+ \@writefile{toc}{\contentsline {section}{\numberline {5}謝辞}{28}}
12
+ \@writefile{toc}{\contentsline {section}{\numberline {6}参考文献}{28}}