プログラミング エンジニア全般

kindle(電子書籍)で技術書を買ってソースコードをコピペしようと考えている方に向けた注意点

スポンサーリンク

こんにちは!

エンジニアの皆さんは技術書を買って学習する際、紙の本を使用していますか?
それとも電子書籍を使用していますか?

僕の場合は紙の本を買うことが多いですが、たまにkindleで電子書籍を買って学習しています。

電子書籍でしか手に入らない本(無料のものなど)もあったりして、購入しようと思ったことはあるんじゃないでしょうか。

有名なkindleですが、kindleの電子書籍を使ってプログラミング学習する際、ソースコードの貼り付け時に注意すべき点があります。

※MacのPC版kindleを使用しています。その他の環境では同様の事象が出るかは分かりません。

今回は以下の電子書籍を参考にさせていただき、説明します。

[天田士郎]のJavaScriptエンジニアのためのNode.js入門
JavaScriptエンジニアのためのNode.js入門 Kindle版 (天田士郎)

ソースコードをコピペする際の残念な点

僕が確認した限り、ソースコードをコピペする際の注意点は以下です。

 

注意点

✔︎ 引用タグが自動的に付与されてしまう
✔︎ なぜか改行がされない
✔︎ 不要なスペースが入ることがある

kindleの元のソースコードがこちらです。(実際はインデントが適用されています。)

var http = require('http');  ①

var server = http.createServer(function(req, res){②

res.writeHead(200, {'ContentType': 'text/plain'});  ③
res.writeHead(200, {'ContentType': 'text/plain'});  ③
res.write('Hello World');
res.end();
});

server.listen(1234);  ④
console.log('サーバを起動しました');  ⑤

参考:JavaScriptエンジニアのためのNode.js入門 Kindle版 (天田士郎)

Node.jsでHello World を表示させるためのコードです。(説明のために①②などが含まれていますが、貼り付けてから削除すれば問題ないですよね。)

これをVScodeに貼り付けてみるとこうなります。

var http = require('http');  ①var server = http.createServer(function(req, res){②    res.writeHead(200, {'ContentType': 'text/plain'});  ③    res.write('Hello World');    res.end();});server.listen(1234);  ④console.log('サーバを起動しました');  ⑤

shiroamada. JavaScript Enjinia No Tameno Nodejs Nyumon (Japanese Edition) (Kindle の位置No.77-81). Kindle 版.

 

引用タグが自動的に付与されてしまう

埋め込みソースコードの3行目を見ると、元の文にはなかった文字列が追加されているのが分かります。

これは引用タグというもので、ソースコードの貼り付けに限らず、kindle内の文章をコピペしようとすると、自動的に付与される仕様です。

ブログやSNS等に貼り付ける際にはありがたいですが、自己学習する際にはない方がいいですよね。

改行がされない

kindleのソースコードと比較していただければ、一目瞭然ですね。
改行がされず、全て1行にまとめられてしまいました。

なので、貼り付けた後はコードを整形する作業が発生します。。。泣

上記の例ではコードが短いので、そこまで気にならないですが、数十行のコードだとストレスに感じる方もいるかもしれません。

不要なスペースが入ることがある

上記の例では少し分かりづらいのですが、不要なスペースが入ることがあります。

kindleの見た目はスペース1つに見えても、実際は2つだったり、スペースが入っていないと思ったら、入っていたり。

その度にソースの整形が必要になってしまいます。

まとめ

「紙の本をやめて、電子書籍(kindle)を買えば、全ソースを模写する必要がなくなって、勉強の効率化ができる!」と思った方に向けて注意点を書きました。

この事実を知って時は期待を裏切られた気分になりました。笑

世の中そう甘くないということですかね。

最後まで読んでいただき、ありがとうございました!

スポンサーリンク

-プログラミング, エンジニア全般
-

© 2020 エンジニア×モチベアップ Powered by AFFINGER5