西尾さんが奥さんに Git を使わせたいらしい
それを口実に妻にgitを覚えさせようとしたら紙の方が便利だと言われて説得しきれなかったので手伝ってください!(ぇ @yoshiori: 校正のために git 使ったけど便利やぁ みんな git で原稿上げてくれればいいのに><
なのでちょっとバージョン管理としてだけでも Git 使うと楽だなぁと思うところを書いてみたい。
あ、西尾さんは多分複数で校正とかする文章の話なんだと思うんだけど、今回は複数で管理とかそういうところはやらずに純粋に一人で文章書くときも Git 使うと便利だよってことを書こうかなぁと思う。
文章を管理するディレクトリを Git 管理下に置く
$ git init
Initialized empty Git repository in /Users/yoshiori/tmp/nishio/.git/
$ emacs nishio.txt //編集する $ git add nishio.txt git add nishio.txt $ git commit -m '文章書き始め' [master (root-commit) 384e4fb] 文章書き始め 1 files changed, 18 insertions(+), 0 deletions(-) create mode 100644 nishio.txt
これで管理下に置かれたので好きに書いていく
っていうときに、特定の文言を置き換えたのだけとりあえずコミットしたい場合
git add -p で指定すると便利
$ git add -p diff --git a/nishio.txt b/nishio.txt index 151febf..e62e0f8 100644 --- a/nishio.txt +++ b/nishio.txt @@ -1,18 +1,32 @@ * 普通の文章も Git で管理すると楽だよって話 -id:nishiohirokazu が奥さんに Git を使わせたいらしい +西尾さんが奥さんに Git を使わせたいらしい // あとで link なのでちょっとバージョン管理としてだけでも Git 使うと楽だなぁと思うところを書いてみたい。 -あ、id:nishiohirokazu は多分複数で校正とかする文章の話なんだと思うんだけど、今回は複数で管理とかそういうところはやらずに純粋に一人で文章書くときも Git 使うと便利だよってことを書こうかなぁと思う。 +あ、西尾さんは多分複数で校正とかする文章の話なんだと思うんだけど、今回は複数で管理とかそういうところはやらずに純粋に一人で文章書くときも Git 使うと便利だよってことを書こうかなぁと思う。 ** 最初の一歩 文章を管理するディレクトリを Git 管理下に置く ->|| +>|sh| $ git init Initialized empty Git repository in /Users/yoshiori/tmp/nishio/.git/ ||< -** で、編集してとりあえず add +** で、編集してとりあえず add してコミット +>|sh| +$ emacs nishio.txt +//編集する +$ git add nishio.txt +git add nishio.txt +$ git commit -m '文章書き始め' + 文章書き始め + 1 files changed, 18 insertions(+), 0 deletions(-) + create mode 100644 nishio.txt +||< + +これで管理下に置かれたので好きに書いていく + +** 文章書いてる途中で特定の文言を置き換えたくなったから置き換えた Stage this hunk [y,n,q,a,d,/,s,e,?]? s
今回はコレだとでかすぎるので s を押して split する
Split into 5 hunks. @@ -1,6 +1,6 @@ * 普通の文章も Git で管理すると楽だよって話 -id:nishiohirokazu が奥さんに Git を使わせたいらしい +西尾さんが奥さんに Git を使わせたいらしい // あとで link なのでちょっとバージョン管理としてだけでも Git 使うと楽だなぁと思うところを書いてみたい。 Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]? y
y を押してこれは反映
@@ -4,8 +4,8 @@ // あとで link なのでちょっとバージョン管理としてだけでも Git 使うと楽だなぁと思うところを書いてみたい。 -あ、id:nishiohirokazu は多分複数で校正とかする文章の話なんだと思うんだけど、今回は複数で管理とかそういうところはやらずに純粋に一人で文章書くときも Git 使うと便利だよってことを書こうかなぁと思う。 +あ、西尾さんは多分複数で校正とかする文章の話なんだと思うんだけど、今回は複数で管理とかそういうところはやらずに純粋に一人で文章書くときも Git 使うと便利だよってことを書こうかなぁと思う。 ** 最初の一歩 文章を管理するディレクトリを Git 管理下に置く Stage this hunk [y,n,q,a,d,/,K,j,J,g,e,?]? y
これも y を押して反映
@@ -8,9 +8,9 @@ ** 最初の一歩 文章を管理するディレクトリを Git 管理下に置く ->|| +>|sh| $ git init Initialized empty Git repository in /Users/yoshiori/tmp/nishio/.git/ ||< Stage this hunk [y,n,q,a,d,/,K,j,J,g,e,?]? n @@ -13,6 +13,6 @@ $ git init Initialized empty Git repository in /Users/yoshiori/tmp/nishio/.git/ ||< -** で、編集してとりあえず add +** で、編集してとりあえず add してコミット Stage this hunk [y,n,q,a,d,/,K,j,J,g,e,?]? n @@ -18 +18,15 @@ +>|sh| +$ emacs nishio.txt +//編集する +$ git add nishio.txt +git add nishio.txt +$ git commit -m '文章書き始め' + 文章書き始め + 1 files changed, 18 insertions(+), 0 deletions(-) + create mode 100644 nishio.txt +||< + +これで管理下に置かれたので好きに書いていく + +** 文章書いてる途中で特定の文言を置き換えたくなったから置き換えた Stage this hunk [y,n,q,a,d,/,K,g,e,?]? n
残りも一応確認して含める必要が無いので n を押す。
これで特定の文言を置き換えたのだけとりあえずコミットすることができる
$ git commit -m 'id 記法をやめる' [master 4e9ccab] id 記法をやめる 1 files changed, 2 insertions(+), 2 deletions(-)
なんか文章の中にも diff を書き始めたらわけわからなくなってきたwww
ので、ここで終了wwww
今度機会があったらもっとまとめて書く
$ git commit -m 'ややこしくなってきたのでまた今度' [master 7982c61] ややこしくなってきたのでまた今度 1 files changed, 147 insertions(+), 2 deletions(-)
$ git diff diff --git a/nishio.txt b/nishio.txt index e5c2a60..7902037 100644 --- a/nishio.txt +++ b/nishio.txt @@ -161,3 +161,10 @@ $ git commit -m 'id 記法をやめる' なんか文章の中にも diff を書き始めたらわけわからなくなってきたwww ので、ここで終了wwww 今度機会があったらもっとまとめて書く + +>|sh| +$ git commit -m 'ややこしくなってきたのでまた今度' +[master 7982c61] ややこしくなってきたのでまた今度 + 1 files changed, 147 insertions(+), 2 deletions(-) +||< +
なんかググっても起動スクリプト修正しろ的なのしか出て来なかったけど、MacBrew で入れた最新の sbt の起動スクリプトみたら
#!/bin/sh test -f ~/.sbtconfig && . ~/.sbtconfig exec java -Xmx512M ${SBT_OPTS} -jar /usr/local/Cellar/sbt/0.11.2/libexec/sbt-launch.jar "$@"
って書いてあったので、
~/.sbtconfig に
SBT_OPTS=-Dfile.encoding=UTF-8
って書いた。
パッケージ管理ソフトで入れた起動スクリプトとか弄っちゃうとアップデートの時とかに嵌りそうなので嫌だよねってことで
こんなこと落ち着いて話す相手もいないし、なんとなく電子書籍周辺についてぼんやり考えてることをまとめてみる。
あ、これは僕個人の意見であって、僕の所属する会社とかやってる仕事とか関係ないですよ。
まずはみんなも大好きだったり大嫌いだったりするスティーブ・ジョブズの言葉を最初に引用しておく
ハリウッドの連中にとってテクノロジーは「買ってくるもの」で、それが創造的なプロセスだとは全然思っていない。突然インターネットが出現して、彼らの商品を盗みはじめた。ナップスター後遺症に悩まされ、つなに糾弾すべき相手を捜し回っている。そして、テクノロジー業界にまで非難をぶつける。
一方テクノロジー業界の側は、彼らの商品にどれだけ手がかかっているか知らないから、違法ダウンロードをどうでもいいことだと思っていて、「うーん、ぼちぼち彼らも新しいビジネスモデルを作る必要があるね」で片付けてしまう。
でも、どっちも間違いなんだ。
これは音楽業界についてのセリフだけど、大事な事は
でも、どっちも間違いなんだ。
ってこと。
どっちかによって考えるんじゃなくて、ちゃんと考えなきゃいけない。
けど、まぁ、僕はテクノロジー側の人間になるから多少はバイアスかかっちゃってるかもしれないけど。
まずは、大人のワンダーランド的なお話がある。
よく聞く発行部数だ。公称発行部数とかいろいろあるけれどそこはまた別の話なので、純粋に発行部数の話をしよう。
簡単に言ってしまえば出版社は 10 万部本を刷れば 10 万部分のお金が一旦は入ってくる。
一旦書店などに卸すからだ。
その後、戻ってくるものも大量にあるかもしれないけど、一旦それだけのお金が動くというのが社会を回している。
その間にある印刷会社や配送会社にとっても馬鹿にできないだろう。
これが電子書籍だと本当に売れたものしかお金が動かない。
1 冊しか売れなかったら本当にその分しか動かない。
今まで 1 冊 で数千万の金額が動いてたのが急に 400 円とかになったら会社としてやっていけないのはすぐに想像できる。
よくデジタルコンテンツ配信で比べられる音楽と書籍のデジタル化について考えてみるとわかるんだけど、
音楽は一度「CD への移行」というのを経験しているのでデジタル化したデータというのはそもそも持っていたんだよね。
本はどうかというと、いままでずーっと紙で来た。
ここ数年ってレベルの最近だとデジタル入稿とかになってきてそれなりに電子化されては来ているけれども、それでもユーザーへは最終的に紙で届けるということしかしてきていないのでそこまで考慮した電子化にはなっていなかった。
もちろん音楽もユーザーに良い音を届けるために、CD からさらに iTunes で配信するためによりよい変換になるようにしてはいるけれども、そもそもデジタル化したものをユーザーに届けるという文化自体が無かった書籍はまだまだ遅れてる。
遅れてるって言うことはどういうことかというと、そのための処理にコストが掛かるってこと。
「なんで電子書籍は実際の本と比べて流通とか印刷とかのコストかかってないのに半額とかにならないんだ!」
っていう人がいっぱいいるけれども、そういうコストがまだ大きい。というのも一因になってるというのも考えなきゃいけない。
まぁ、他にもサーバ管理費とか開発費とか色々コストが掛かってる理由とかは色々あるんだけど。
今のはデジタルデータにするっていう配信側の話だったんだけども、今度はユーザー側の話。
実は特に日本は TSUTAYA のおかげで音楽に関してはユーザーが「データのみ所持する」ってことに慣れていたっていうのがデカイと思ってる。
もちろん、TSUTAYA 以外でもそうなんだけど、音楽はそういったお店や友達とかに借りて、CD-R に焼いたり、MD に入れたり、MP3 に変換して持っていたりっていう「データのみ所持」するって状態がある程度日常になっていた。
学生の頃とかは「今月俺は A の新譜買うから、お前 B の新譜買ったら貸して」とかやって聞きまくってた。
で、TSUTAYA なんだけど実際問題「2 泊 3 日 CD をレンタルしてその期間だけ聞く」って意識で借りてた人のほうが少ないんじゃないだろうか?
「2 泊 3 日 CD をレンタルしてその期間にカセットなり MD なり MP3 にしてデータだけ手に入れよう」という人がほとんどだと思う。
法的にグレーとかそういうお話は置いておいて、実際 TSUTAYA には CD-R や MD 、カセットテープが一緒に売られてた。
つまり物質としてのメディア( CD )ではなく、データをお金を払って手に入れると言うことを「レンタル」という言葉で包みつつ意識せずに経験してきたことになる。
これは結構大きいと思っていて、いきなりデータだけ有料で手に入れましょうというよりもレンタルという方がユーザーがお金を払いやすいんだと思う。
お金を払って物ではなくデータを手に入れると言う事を無意識で経験してたというのは馬鹿にできないなぁと。
で、そういう話で行くと最近は自炊を規制しようという風潮だけど、むしろ自炊は推進すべきだと思う。
自炊の規制っていうのは音楽で言うと TSUTAYA でレンタルしてカセットテープに録音するの禁止みたいなことだ。
せっかくユーザーが本を「データとして所持する」という経験をしようとしているのに、それを規制しようとしているとか馬鹿だとしか言えない。
逆に音楽もそうだけど、本当に気に入ったものは「物」として所持したくなる。
特に音楽 CD を焼くのと違って自炊はカセットテープへのダビングレベルのものだ。
ちゃんと作られた電子書籍と違って文字もすべて画像として取り込んでるから、拡大して読みやすくとかしても限度があるし、縦書き横書きを切り替えたりとか好きなフォントにして読むこともできない。
気に入ってちゃんと読もうとしたら本当の書籍なりちゃんと電子書籍で買うだろう。
データとして所持するようになったら、次にユーザーが思うのは本当に欲しいのは物でもデータでも無いってことに気付くだろう。
iTunes Music Store で一度買ったものが再ダウンロード出来ないという事を知ったときに僕が強烈に思ったのは
「僕が欲しいのはデータじゃないんだ。その曲をいつまでも聞ける権利が欲しいんだ」
だった。
本もそうだろう。本当に欲しいのはその本をいつまでも読める権利だ。
現実の本として想像してみよう。
「本をコピーして配布する人とかが出て、正規に買った人が損した気持ちにならないように、出版社や著者にちゃんとお金が入るように」
という理由でこんな商売をしていて、こんな本を買いたいと思う人がいる?
これの「A 出版社専用書店」を「A 出版アプリ」とかに置き換えたのが現状のほとんどの電子書籍系の現状。
もちろん、他にも色々理由はあるけど「ユーザーが扱いにくい」本であることは間違いない。
「扱いにくい本」だから、ユーザーはもっと「扱いやすい本」を求める。
それが自炊だったり、違法ダウンロードに繋がってるんだけど、それを理解しててもやめない。
DRM は糞です。本当に誰も特をしない巨大な糞です。
ユーザーが扱いにくいものを売ってたらそりゃぁ扱やすい方に流れるのは当たり前だ。
お金を払っても扱いにくいものしか手に入らないのにお金を払う人はいないだろう。そんな事馬鹿でもわかる。
自分で実際の本を買ってきて自炊するのも大変。
扱い易いものは違法ダウンロードしないと手に入らない。
iTunes Music Storeが始まる時にジョブズが
違法ダウンロードと戦う
って 1 曲 1 ドル以下で販売した意味を全然わかってない。
ジョブズを褒め称えるくせにホント自分の環境に置き換えて見ることができない。
Napster が大流行してる時代にそれと戦うためにジョブズは缶ジュースと同じ値段で売ることをした。
P2P でダウンロードしてきてダウンロードを長い時間待って偽物つかまされたりしたりしないで 100 円払えば自分の聞きたい音楽がすぐに聞けるんならそっちを選択する人間のほうが多いだろう。
というか、その金額すら払わない人はただで手に入らないなら聞かない人間だ。そもそもターゲットにしてもしょうがない相手だ。
大多数の人間は 100 円で正規のものが手に入るのならば罪悪感を感じないそちらを選ぶ。
それでも選ばないような人間はターゲットにしてもしょうがない。
すごく簡単なことをジョブズはわかってるから 1 曲 1 ドル以下にするために頑張ったんだ。
さて、今まで書いたことは何も特別なことじゃない。みんなわかりきってることだ。
僕に偉そうに説明されなくたってわかってる。
それなのに「業界の習慣なので」ってセリフで踏み切れない。思考を止める。
でも、「業界の習慣」なんてものはホントはどこにも存在しない。
どこかに丁寧に文書としてまとまってて、みんな厳守しなさいねって書かれているわけじゃない。
習慣なんてものは最初に「xxx っていうのが習慣です」って言った人がいて、それに追従して、さも当たり前のように「xxx は業界の習慣なんです」って言っている人たちが作ってるんだ。
つまり、「僕もそれじゃいけないと思ってるんだけど、習慣なので」なんて言うのは詭弁だ。
その発言をしてる本人がその発言で習慣にしてるんだから。
自分が「王様は裸だ」って言うと大変だから誰かが言ってくれるのを待っている。
それだけだ。
で「王様は裸だ」って言うのが Amazon だったり Apple だったりして全部持ってかれる。
ここまでわかれば Amazon や Apple にデジタルデータ配信や販売を持って行かれる理由は簡単にわかる。
「業界の習慣」がないからだ。
Amazon も Apple も自分でコンテンツを持っていない。だから逆に権利者にお伺いを立てる「業界の習慣」に縛られないからだ。
もちろん、「業界の習慣」って言葉で色々な壁もあっただろう。でも、自分でコンテンツを持ってないから「王様は裸だ」って言える。
でも、コンテンツを持っている側が「王様は裸だ」って言っちゃいけないなんてルールはない。
まぁ、なんかグダグダ書いてきたけど、このままじゃ、良くてガラパゴスの再構築、普通に考えて衰退するだけだよねってこと。
もう一度言っておくけど、以上の意見は僕の所属してる会社とかやってる仕事は何も関係ないですよ。
僕個人としての意見ですよ。
でも、こんな内容でどっかで発表したいんだけど、技術系の勉強会とかだと畑違いだよね??
こういうのってどこの畑なんだろう??
まぁいいや。僕は最近そんな事を考えてますって事で。
http://seiga.nicovideo.jp/book/
色々技術的にも結構楽しげなことやってるので、どっかで発表できたらいいなぁとか思いつつ
とりあえず、7 月の誕生日にチームメンバーにサプライズでもらったケーキの写真をやっとアップできる!!
ということで、今後もどんどん良くしていきますので、ニコニコ静画(電子書籍)をよろしくお願いします。
あ、twitter で #nicobook とかで発言すると大体見てます。
こんなクラス入れておくだけだた。
/** * */ package org.yoshiori; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; /** * @author yoshiori_shoji * */ @WebFilter("/*") public class SetCharacterEncodingFilter implements Filter { /* (non-Javadoc) * @see javax.servlet.Filter#destroy() */ @Override public void destroy() { } /* (non-Javadoc) * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) */ @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("UTF-8"); chain.doFilter(request, response); } /* (non-Javadoc) * @see javax.servlet.Filter#init(javax.servlet.FilterConfig) */ @Override public void init(FilterConfig config) throws ServletException { } }
コンテンツ委員なしんちゃんに
「なんぞwww」と微妙なコメントでお勧め(?)いただいていますが,
デブサミで「【13-A-6】ひよこクラブ ver.Engineer」やります!!