ニートの言葉

元ニートがやってみたこと・その過程で学んだこと・考えたこと・技術メモあたりを主に書いています。情報革命が起きた後に訪れるであろう「一億総ニート時代」の生き方を考え中です。

【合計600冊以上】無料で読める技術系の電子書籍 2015年版まとめ

おはようございます。こんにちは。こんばんは。
あんどうです。

早いもので年末ですね。
僕は先週の金曜(2015/12/25)で仕事納めをしまして、冬休みを満喫しております。 

さて、今回は冬休みのために無料で読める技術系の電子書籍をまとめました。


これからも詳細を追記・更新していきますので、ぜひブックマークしてくださいませ。
そして、オススメのものがございましたらコメントでお知らせください。 

オライリー 

謎の表紙で有名なオライリーですが、一部の書籍をオープンにしています。

ジャンルごとに見ていきましょう。

Web開発(10冊)

http://www.oreilly.com/web-platform/free/

HTML/CSS/JavaScriptに関してがメインです。

他にもAPIの設計方法、静的サイトの生成ツールに関する本もあるようです。

Web開発を行いたい方はまずはここからという感じでしょうか

IoT(19冊)

http://www.oreilly.com/iot/free/

このカテゴリではさらに以下の分類に分かれています。

  • Framing the IoT and the New Hardware Movement
  • Design & UX
  • Industrial IoT/Manufacturing

デザイン(11冊)

http://www.oreilly.com/design/free/

デザインの基礎からUX、プロダクトデザインなど様々な書籍があります。普段デザインとは無縁の僕としてはデザインの基礎は読んでおきたいですね。

The New Design Fundamentals

DebOps(17冊)

http://www.oreilly.com/webops-perf/free/

DevOpsをご存知でしょうか?(僕は知りませんでした。)

DevOps(デブオプス)は、ソフトウェア開発手法の一つ。 開発 (Development) と運用 (Operations) を組み合わせたかばん語であり、開発担当者と運用担当者が連携して協力する開発手法をさす。 ただし2013年現時点では厳密な定義は存在しておらず、抽象的な概念に留まっている。 

データ解析(22冊)

http://www.oreilly.com/data/free/

この分野の本も多いですね。このジャンルには以下の分類があります。

  • Data Science
  • Business & Industry
  • Big Data Architecture

少し古いバズワードですが、「ビッグデータ」あたりの書籍でしょうか。

まだ詳細を見ていませんが、機械学習関係の本もあるようで読むのが楽しみです。

Apress(23冊)

IT系の電子書籍を販売しているApressですが、一部の本を無料で配布しています。

http://www.apress.com/apressopen

セキュリティ系

www.apress.com

www.apress.com

Android

www.apress.com

www.apress.com

機械学習

www.apress.com

www.apress.com

IoT

www.apress.com

www.apress.com

Microsoft

Microsoftも無料の電子書籍配布に対して積極的ですね。

主にWindowsやWindows Phone、またAzure関連の書籍が配布されています。

その辺りの開発に興味がある方はどうぞ。

公式サイト(31冊)

https://mva.microsoft.com/ebooks

ブログ(約500冊)

Microsoftの社員さんのブログでしょうか?

書籍…と呼んで良いのかは怪しいところですが、大量のPDFファイルが配布されています。

I’m giving away MILLIONS of FREE Microsoft eBooks again! Including: Windows 10, Windows 8.1, Windows 8, Windows 7, Office 2013, Office 365, SharePoint 2013, Dynamics CRM, PowerShell, Exchange Server, Lync 2013, System Center, Azure, Cloud, SQL Server, and

日本語で読めるもの

日本語で読めるものは少ないので、コメントで教えて頂けるとありがたいです。

ケヴィン・ケリー著作選集(3冊)

雑誌『WIRED』の創刊編集長ケヴィン・ケリーによるエッセイです。

ケヴィン・ケリー著作選集 1 - 達人出版会

ケヴィン・ケリー著作選集 2 - 達人出版会

ケヴィン・ケリー著作選集 3 - 達人出版会

不要とは思いますが、紙の書籍版もあります

ケヴィン・ケリー著作選集 1

ケヴィン・ケリー著作選集 1

 

 

僕の「IoT」が電子工作の域を出なかった理由

こんにちは。あんどうです。

最近はArduinoRaspberry Piの登場によって様々なものを簡単にインターネットに繋ぐことができるようになりました。

いわゆる、モノのインターネット化(= IoT)です。

IoTとは

モノのインターネット(Internet of Things : IoT)とは従来は主にパソコンやサーバー、プリンタ等のIT関連機器が接続されていたインターネットにそれ以外の様々な"モノ"を接続する技術です。

モノのインターネットとは(IoT:Internet of Things) - モノワイヤレス株式会社

僕が作った「IoT」

僕は普段はWeb系の開発に携わっているのですが、趣味でIoTを始めてみたところすごく簡単に以下のようなものを作れるようになりました。

空調管理機能付きペットモニター

部屋の温度・湿度が確認ができ、スマホからエアコンの操作が出来るペットモニターです。

andoo.hatenablog.com

一人暮らしの高齢者見守りデバイス

祖母が遠くで一人暮らしをしているので、安否をゆるく見守るためのデバイスを作りました。

andoo.hatenablog.com

現地の様子を見ながら操作ができるラジコン

ニコ生のコメント動くラジコンなんかも作ってます。(動画はスマホから操作できるラジコン)

世の中の流れもIoTやモノ作りに向いているものの…

世の中の流れとしても「IoTや3Dプリンタの流行によって、ハードウェア・モノ作りがこれから来る」と言われていますが、個人的にはなんとなくピンと来ませんでした。

 

もう少し正確に表現すると

僕がやっている内容は「IoT」と称しているけれど、電子工作レベルだなぁ

と感じていました。

それはなぜか

IoTの本質は大量のセンサーをばら撒いて、大量のデータを集め、解析し、最適化することだと考えています。

例えば、電力消費のデータを集め、解析することで最適化することで省エネに結びついたり、人の行動のデータを集めることで健康になるようにフィードバックをしたり。

データを集めるためには当然ながら多くの人に使ってもらう必要があります。
つまり、広く普及している状態が必須なのです。

となると、センサーの量産が必要になるわけですが、ぼくは上記のものを作ったとき、量産するということを念頭に置いていませんでした

 

つまり、インターネットに繋がったものを一つだけ作るのであれば、それはただの電子工作(=趣味レベル)であって、IoTとは呼べないなと感じたのです。 

 

もちろん、学習の過程としては正しいのだと思いますが、購入したパーツを組み合わせ・て動かして・満足する、それだとArduinoやRaspberryPiの外の世界には触れられないような気がしていて、壁を感じているところです。

まとめ

以上の内容が、僕が最近感じている問題なのですが、それでは一体どうすれば良いのか?というものも自分なりに考えてみました。

しかし、わからないことだらけですので、アドバイスを頂けるとありがたいです。

今考えている「今後やるべきこと」

まずは量産を前提に、ハードの製造工程を学ぶ必要があります。
(売れるかどうかなどのマーケティングも、もちろん必要になってきます)

 

そのためには

 1.回路図の設計方法

 2.外注をする方法

この辺りを習得するべきなのかなと

 

外注に関しては、中国でPCBAというプリント基板の作成だけでなく、パーツの調達から組み立てまで行ってくれるサービスがあるようですので、そのサービスを使うことでクリアできそうに思います。

(もしかしたら、やりたいことを明文化して投げるだけで回路の設計段階から行ってくれる業者もあるかもしれませんが、この辺りに関しても無知なのでまだよくわかっていません。)

 

回路図の設計方法に関しても同様に無知ですので、関連する勉強会や学習サイト・参考資料などありましたら是非教えてください。というか、どなたか勉強会(オンライン・オフライン問わず)を開催しましょう。

 

追記

この方の記事は非常に参考になりました。

qiita.com

 

追記 その2

力武健次技術士事務所の力武健次様より非常にご丁寧なアドバイスをいただきました。

ご本人様から転載の許可を頂きましたので、追記します。

  • 日本では幸いまだ日本語の書籍や情報が残っている(10年後はわかりませんけど)ので、一度大きな書店の電子工学関連で回路の製作記事の載っている本やムックや雑誌(のバックナンバー)を時間をかけて読み漁ってみる。必要だと思ったら買って隅から隅まで読む。都内ならジュンク堂や丸善がありますから困らないと思います。
  • 安定したプロトタイプはブレッドボードでは作れません。ハンダ付けは必修だと思います。いきなり表面実装から入らなくてもいいので、まずは2.54mmピッチのユニバーサル基板をどう使うかから入っていくといいかもしれません。幸いまだ手ハンダで付けられる部品は売っています。
  • 安定した回路にはバイパスコンデンサやコモンモードフィルタなど、動作を支えるための部品が入っています。これらの役割を学び、プロトタイピングで実証実験をすることが必要でしょう。
  • 量産を考える場合は、できるだけ部品の種類と数を減らしていくことが必要になります。特に機構部品や接点は不良の原因になります。抵抗よりもコンデンサ、コンデンサよりもコイルの方が扱いが難しくなります。半導体にも不良が出ます。
  • 他の方も書かれていますが、量産して何をするかによって、向かう方向は変わってくると思います。商品にするのであれば当然関連法規(PSE法や電波法など)を遵守しなければなりません。
  • 一見動いていても、実はとんでもない動作状況になっていることがあります。各種デジタル/アナログ回路の計測技術は知っておいても損はないでしょう。
  • ソフトウェア的視点からいうと、PCやスマホのようなわけにはいかない(消費電力にすぐに跳ね返る)ので、機能をどう削ぎ落すかが大事になってくると思います。あと、自分でできないことをどうやって他のモジュールに任せるかも重要でしょう。

【技術記事】PHPMailerでGmailのSMTP経由でメールを送信する際にSMTP connect() failed.と出て困った

今回は技術ネタです。

 

経緯 

PHPを使って、メールを送信したかったのですが、PHPで実装されているメーラー?を使うとよく迷惑メールに入れられてしまいます。

 

そこで調べたところ、GmailのSMTP経由で送ると大丈夫っぽかったので、新規でGmailアカウントを作成し、そのアカウントを経由して送信することにしました。

 

外部のSMTPを使って送れるライブラリを調べた

下記の二つが見つかりました。

 

qdmail

PHPMailer

 

初めはqdmailを使おうと思いましたが、随分前に更新が止まっていたのと、PHP5.5だと警告が出るという情報があった上に、軽く試した結果いろいろエラーが出た(詳細はメモし忘れました)ので、PHPMailerを使うことにしました。

 

参考にした情報

Phpmailerでスパム回避!Gmail等のSMTPを経由するPHPのメールフォーム解説 | エス技研

PHPMailer で GMail 送信 – Airwhite Memo

 

直面した問題

上記サイトのソースを参考に動かしてみたのですが、SMTP connect() failed.と表示され、送信できませんでした。

 

上記のサイトを見比べてもらえるとわかるのですが

・ポートが465だったり587だったり

・SSLだったりTLSだったり

この組み合わせを間違っているのが原因なのかなと推測したのですが、違ったようです。

ちなみに 

公式サイトには

ポート 465(SSL)とポート 587(TLS)

と書いてあるので、

・SSLを選択する場合はポート465を

・TLSを選択する場合は587を

選択するべきなようです。

 

解決方法

Gmailにはセキュリティの関係上、外部のサービスを使えないようにするような対策がされていたようです。

 

こちらにアクセスして安全性の低いアプリのアクセスをオンにするを選択してください。

https://www.google.com/settings/security/lesssecureapps

 

反映されるまで時間がかかる可能性も?

これは推測なのですが、この設定が反映されるまで時間がかかるかもしれません。

というのも、動かなかったソースが上記の設定変更してすぐは相変わらず動かなかったのに、半日ほど放置して再度確認すると動くようになっていたからです。

 

この設定が反映まで時間がかかるものなのか、それとも新規で作成したアカウントだったからなのか 原因はわかりませんが…情報として記載しておきます。

 

最後に動作したソースを貼っておきます

準備

この三つを同一フォルダに入れておきます。

・PHPMailerAutoload.php

・class.smtp.php

・class.phpmailer.php

 

ソース

ツイート数のカウントを再現してみた(停止中)

公式では廃止されたツイート数のカウント

ツイート数のカウントが廃止されました。

先月、Twitterの仕様変更でツイート数のカウント表示がでなくなりました。

 

Webサイトを運営している人やブログをやっている人にとっては、自分のページがどれくらいツイートされたのかって気になりますよね。

 

デザイン面の問題も

また、SNSでの共有ボタンのデザイン面でもツイート数だけ表示されず、見栄えが悪い

 

再現してみました

 

ちゃんと表示されました。

デザイン面は今後の課題ですね。

 

データの送信やCSSなどは、ひゃくそんさんのgithubを参考にさせていただきました。

github.com

 

テスト

はてなブログでも動くのかのテストをやってみます。

このボタンを押してツイートしてみてください->

記事下に設置しました。

停止しています。

twitterで特定の単語が含まれるツイートに最速で「いいね」する方法

Twitterを使っていると、特定の単語が含まれたツイートをいち早く知りたかったり
特定のハッシュタグの動向をチェックしたかったりすることがあります。  
 
 
そこで今回は特定のハッシュタグが付けられていたり、特定の単語が含まれるツイートに対して、出来るだけ早く「いいね」をするプログラムを作ってみました。
 
 
 
今回はtwitterAPIのstreamingAPIという、世界中のツイートをリアルタイムに監視するものを使いました。
 
 

ソースコード

var twitter = require('twitter');

//変更すべき設定
var client = new twitter({
    consumer_key: 'consumer_key',
    consumer_secret: 'consumer_secret',
    access_token_key: 'access_token_key',
    access_token_secret: 'access_token_secret'
});
var tag = '検索したいハッシュタグ・単語';
//変更すべき点はここまで

client.stream( 'statuses/filter', { track : tag }, function( stream ) {
    stream.on( 'data', function( data ) {
        var tweetid = data.id_str;
        client.post('favorites/create',{id: tweetid},  function(error, tweet, response){
                      if(error) throw error;
                      console.log(response);
              });
        });
});

githubにも公開しています。

使い方

1. twitterでアプリ作成・tokenなどの準備

こちらのページを参考にしてください。-> 参考

必要な情報は

1.consumer_key
2.consumer_secret
3.access_token_key
4.access_token_secret

以上の四つです。

2. node.jsをインストール

node.jsのインストールはこちら

3. twitterモジュールをインストール

このモジュールを使います

npm install twitter

4.下記の5箇所を修正

ソースコード内にある下記の5箇所を修正します。

  • consumer_key
  • consumer_secret
  • access_token_key
  • access_token_secret
  • var tag = '検索したいハッシュタグ・単語'

5.実行

$node filename.js

で実行します。  

実例

このプログラムを使って、#いいねした人全員フォローする というハッシュタグを監視し続けて、ツイートされた瞬間に「いいね」をするということをやってみました。
 
 
andoo.hatenablog.com  
 

まとめ

ツイッターのStreamingAPIを使うと、リアルタイムにいろいろなツイートを取得することが出来るので、色々な応用ができそうです。
 
使ってみたいけど、使い方がわからないという方がいらっしゃいましたら、気軽に連絡をくださいませー

本当にフォロワーは増えるのか?#いいねした人全員フォローする に「いいね」した結果

Twitterに登録して5年以上

 

5年も経つのに、ツイート数は5000以下と少なく

フォロワーもまだ300未満と少な…くはないけど、なんていうか…もっと友達が欲しい

 

そんな時に見つけたのが、このハッシュタグ

 

 

#いいねした人全員フォローする

 

 

これは…!

これならフォロワーが増やせる!

 

 

手軽に「いいね」する方法を考える

ということで、このハッシュタグがついた全てのツイートに「いいね」をする方法を考えてみました。

 

普通に検索して、出てきたツイートに対して「いいね」をすれば良いだけの話なのですが

いちいち検索するのはめんどくさい

 

 

ということで

 

全てのツイートを「いいね」するプログラムを作ってみました

(プログラムのソースは後日公開します)

 公開しました。 

andoo.hatenablog.com

 

 

やってみた

朝10時に開始

開始時のフォロワーは296、いいね数は166です。

さて、この数字がどう変化していくのか。

 

夕方:17時頃 プログラム停止

夕方に様子を見ると、いいね数がキリの良い250になっていたので終了

この時点ですでにフォロワーは増えていますが、まだ増えるかもしれないのでもう少し様子を見てみましょう。 

 

夜:20時くらい 

順調に(?)増えていました。

 

結果

プログラムが「いいね」した数

84 いいね

 

増えたフォロワー

20人

 

フォロー率

20/84 * 100 = 24%

 

感想

今回「いいね」したツイートの中には

・同じ人が何度もこのハッシュタグを付けてツイート

・引用リツイート

このようなパターンでも反応してしまうため、正確な人数を計測することはできていません。

 

実際のフォロー率は50%くらいではないかと思います

 

もっと放置されると思っていたので、意外と多いですね。

 

しかも、個別にリプライをくれた方もいました。

 ご丁寧にありがとうございます。よろしくお願いします。

 

フォロワーを増やしたい人は是非このハッシュタグに「いいね」してみてください。

 

それでは

 

 

ドローン初心者におすすめ!1万円以下のカメラ付きドローンf182CSのレビュー

https://www.instagram.com/p/_Inb5fwsQW/

ドローンが届きました

最近何かと話題のドローンですが、Holy Stoneのf182CSという商品がamazonのタイムセールで7000円弱だったので衝動買いしてしまいました。 

商品名にも「ドローン」と名付けられていますが、プログラムで操作できるような高級品ではなく、実際はただのカメラ付きラジコンヘリです。

今回の内容

 

商品を開けてみる

外箱はボロボロ

amazonの段ボールに入っていたにも関わらず、外箱はボロボロの状態で届きました。

説明書もボロボロ

説明書。ギリギリ理解できるレベルの日本語で書かれています。

しかも最初からすんごい折れてます。

この雑さ…嫌いじゃない。

本体

エイリアンのイラストが書かれています。

羽の所に書いてあるWARNINGがちょっとカッコイイ。

意外と大きい

そして軽いです。

予備の羽

壊れやすいのでしょうか?予備の羽が入ってました。ありがたいですね。

そしてWARNINGがカッコイイ。

コントローラー

操作部分は発泡スチロール?スポンジ?に包まれてました。

丁寧であるべきところは丁寧。

予備バッテリーが一つ

バッテリー1つで10分程度の飛行が可能らしいので、合計20分遊べるということですね。あと4つくらい欲しい。

箱が入ってました。

箱の中身

中身はACアダプターでした。

マイクロSDカード付き

2GBのマイクロSDカードが付属していました。(少し飛び出ているところ)

カメラ部分 その1

カメラは角度を変えることが出来るようです。

一番上(真正面)を向けるとこんな感じ。

カメラ部分 その2

一番下を向けてもこの程度。斜め下までしか見れそうにない?

少なくとも、真下を見下ろす形での撮影は無理そうです。(下の部分を削れば真下も見れるかも)

LED

飛行中に見失わないようにでしょうか?

感想

室内でかるく飛ばしてみましたが、操作が難しすぎて泣きました。
後日、広い公園で遊んでみてその時に動画を撮影しようと思います。

カメラの画質は良くないみたいですので、おまけ程度と捉える必要がありそうですが、1万円以下で買えるので、ドローンの入門機としては悪くないかもしれません。

 

それでは