Python初心者育成講座 〜群馬からPythonistaを〜

PyHorse記念すべき第一回目のイベントが昨日ありました!

IMG_1644

僕自身のスキルは全然だけど、
群馬Pythonへの情熱からここまで押し上げましたw

応募人数が30人!!!!!!!!

初めての怪しいイベントでこの人数は正直びっくりしました。
「群馬産Pythonista」を量産することができて良かったです。
これだけ反響がいいと、
僕自身Pythonを頑張ろうって逆にやる気が出ますよねw

今後もPyHorseを通じて、

  • ヤンググンマーのIT遅れの改善
  • 群馬のIT初心者支援の場所作り
  • 群馬のIT帝国化


を進めて行きたいと思います。
 

Pythonコミュニティ 「PyHorse」を立ち上げました!

「群馬からPythonistaを」

このサイトのタイトルのように,
群馬での生活は非常に退屈で憂鬱なものです.
少しでも群馬をクリエイティブな帝国にしたい.
そんな思いから,群馬にPythonを広めるべく,
「PyHorse」を立ち上げました.

Python + 群馬(Horse) = PyHorse です!

私自身そこまでPythonが出来るわけでもありませんが,
Pythonを始めて知ったときに,初めからこれを学びたかった!
と後悔をしました.
プログラミング言語初心者にとって,
Pythonは非常に学びやすい言語だと思いますので,
同じ後悔を群馬の若者にして欲しくない一心です.

さて,今回その「PyHorse」初のイベント.

Python初心者育成講座

を企画しました.

日時:11月19日(土)8:30 〜 17:00
場所:群馬大学 桐生キャンパス
申し込み:http://pyhorse.connpass.com/event/44406/

です!

このサイトは自分の備忘録的な部分が多いので,
購読者は少ないかと思いますが,
たくさん人が来て,Pythonを一緒に勉強する仲間が欲しいです!

Tkinterモジュールでちょっと困った話

selective searchの実装をいじっていたときに、
描画ツールがねーよみたいな感じで怒られました。

sckitだかnumpyだかのなんかのグラフ描画のときには、
描画に使うパッケージを指示できるみたいで、
僕の場合はTkが使えねーよみたいな感じで怒られました。

以降、Tkに対しての備忘録。

tkinter パッケージ (“Tk インタフェース”) は、
Tk GUI ツールキットに対する標準の Python インタフェースです。
Tk と tkinter はほとんどの Unix プラットフォームの他、
Windows システム上でも利用できます
(Tk 自体は Python の一部ではありません。
Tk は ActiveState で保守されています)。
tkinter が正常にインストールされているかどうかは、
コマンドラインから python -m tkinter を実行することで確認できます。
これはシンプルな Tk インタフェースの
デモンストレーションウィンドウを開きます。

だそうです。

具体的な対処としては、ここ からダウンロードすればおkです。

もしくは、
でもいけます!

写真・画像APIを叩く

後輩君の研究を手伝ってて、
検索クエリに対して画像を引っ張ってくるAPIを叩く必要があったので、
調べたこととか、まとめときたいと思います。
ちなみに、Python3で活用していくことを考えています。

まず、そもそもどんなAPIが公開されているのかの一覧については
こちらのサイトを参考にしました!

Flickr、フォト蔵、Google、Bing等たくさんあるみたいです。
今回のニーズには沿ってませんでしたけど、Tiqavは面白そうだったので、
後でなんかに使ってみたいですねw

さて、今回まず試したのはフォト蔵APIです。
単純に日本語検索したいので、日本語に強そうなフォト蔵を選んでみました!

フォト蔵のAPIはここで公開されてます!
GETでとってくるみたいで、認証なしなので楽チンですね!
ソースコードはあとで上げてみます〜

して、フォト蔵から画像引っ張って来れるようになったんですけど…
フォト蔵について無知な自分が悪かったんですけど、
これ、あくまでフォトなんですねw
「りんご」とかで引っ張ってくると、「The りんご」がでてくることが少ない!

Googleのimage検索のイメージでいたので、思ってたのとちがーう!

ということで、次はGoogleかBingかってところで…

GoogleのimageAPIはサービスを終了しちゃってて、
似たようなことやるとなると、
custum search APIを上手く使う必要があるみたいです!
ここにやりたいことをやってくれていた方の記事があったんですけど、
今回はより簡単そうなBingの方のAPIを叩くことにしました。

Bingの方のやり方は、
こちらを参考(というかほぼそのままでいい感じ!)にさせて頂きました!

これでキジムナーの画像もたくさん引っ張ってこれますね( ^ ^ )/□

備忘録:
Bing Search API2016年12月15日を持って終了するとのアナウンス
Microsoft Azure Cognitive ServiceBing API v5というAPIが 既にリリースされており、いずれこちらのAPIに切り替える必要あり。

pickleでオブジェクトを漬物に!(追記:shelveの方が便利感)

Pythonでオブジェクトをそのまま保存する方法ないかなぁ〜って探してたら、
pickleなるものを発見しました!
保存するとき:

こんな感じにすると、sample.pickleの中にhogeがバイナリで保存されます.
読み込むとき:

こんな感じにすると、hogeの中に’hello’が格納されて復元できてるはずです。
pickle(ピクル)はピクルス的な、漬ける的なイメージで記憶しておこう。
 
追記:
複数のオブジェクトを保存しておきたいとき、
pickleだとリストを作って保存しなきゃいけなくて結構面倒だなぁ〜って思った。
そんなときには、shelveモジュールを使うといいらしい!
保存するとき:

こんな感じにすると、
{‘pi’ : a
‘kotori’ : b}
のような感じの辞書形式でhoge.dbに保存される。
読み込むとき:

こんな感じにすると、
変数aに3.1415、変数bに’wonderful rush’が復元される。

鯖缶4

apt,yum についての小話

いろんなディストリビューションを最近いじっていたので,
それに関連してちょっとした小話でも.

今回はaptとyumの違いについてまとめます.

apt : 内部で dpkg を呼び出す.Debian系のLinuxで多く使われる.
yum : yum は内部で rpm を呼び出す.RedHat系のLinuxで多く使われる.

Vine LinuxはRedHat 系だが、rpm と apt を採用している変態らしい.
ちなみに、wgetはURLのファイルをダウンロードをします.

鯖缶3

もらったPCのスペックが知りたい時によく使ったコマンドをメモっとく.

・メモリの容量を知りたい時


・HDDの容量を知りたい時


・HDDを増設(2TB以上の場合)


・HDDを増設(2TB未満の場合)
 

Cent OS 7 メモ

ダウンロード時メモ:
・ソフトウェアの選択は特にせずにミニマムで、後でパッケージ追加していく感じがいい。
・ネットワークをonにしておくこと。

ダウンロード後メモ:
・とりあえずアップデート
- yumの設定

・一般ユーザにsudo権限を付与
- 一般ユーザims67chにsudo権限を付与する場合


・screenコマンド設定

・後からデスクトップ環境をインストール
- GNOME Desktopの場合

- X Window Systemの場合

・ssh接続(とりあえず鍵認証なし)

・ssh接続エラッた時(クライアント側)
- 上の接続してると、DHCP固定にしてないと次回ログイン時にエラーする。
その時のクライアント側での対処法。

・X11 Forwarding設定
- サーバー側
- クライアント側
 

iOSアプリ開発(Swift) Part 1

就活中でなかなか更新できなぁ〜い!
というか、朝起きれず、しかしやること・やりたいこと多し。
なんとか時間を有効に使って、上手く並行してやっていきたいなぁ〜と思って、
ストップウォッチでタスクを管理しようと思いました。

ストップウォッチにする理由:
・○時から✖️時までに〜やるとかにすると固すぎて続かない
→ストップウォッチだったら好きな時に開始・再開・終了ができる
・ちょっと多めにやりたい時にアラームよりもいい

こんな感じの理由から、ストップウォッチをタスク毎に用意しておいて、
タスク毎に開始・再開・終了が管理できるアプリが欲しい!って思ったので、作ることに。
開発環境:

・IDE:Xcode 7.3
・言語:Swift 2.0

iPhoneアプリは作るの初めてなので、何からやっていいのか分かりませんでした。
とりあえず、まずはストップウォッチを1つ作ろうと思い調べたら…
こんな動画を発見!!!
https://www.youtube.com/watch?v=lv0jeCwq5GY Bickさんって人のYouTubeの動画です!
この動画を見よう見まねでやってみました!
分かりやすく説明してくれてるので、誰でも作れると思います!

動画ではsecでカウントしてましたが、hourまで使うので、
秒でカウントするようにアレンジしてみました!

少しずつ慣れて行きたいですねぇ〜

Android 開発 (Mac)Part 1

Android 開発のメモです.
環境はMac OS X です.

開発準備:

1.http://developer.android.com/intl/ja/sdk/index.htmlからAndroid Studioをインストールします.

2.Android Studioのインストーラーを起動中,
スクリーンショット 2016-03-17 16.07.18
↑みたいなJava Development Kit (JDK)のパスが聞かれます.
パス入れるバーの下のMac OS X x64のリンク先に,
Android Studioに対応したJDKのバージョンのダウンロードサイトがあります.

3.一旦Android Studioのインストーラー無視して,
JDKのダウンロードを開始します.

4.インストールが終わったら,再びAndroid Studioのインストールに戻ります.
パスの下にあるDetectボタンを押すと,JDKのパスを勝手に入れてくれます.

5.特別こだわりがない場合は,Standardを選んでインストールを開始しましょう!

メモ:
java -version
Java SEのバージョン確認するコマンド

6.Android Studioのインストールが終わったら,とりあえずCofigureからバージョンとかが確認することができます.Check for Updateしましょう.

ここまででとりあえず,開発環境は終わり.
お疲れ様でした!次回はプロジェクトを作成しましょう!