Pythonの学習に使った書籍のレビュー【ソフトウェア開発編】
わけあってPythonでソフト開発することになってしまって早数ヶ月...
Pythonをより深く知るために読んでいる(読んでみた)書籍をまとめてみます.
基本的な文法(変数,if文など)や特定の専門領域(データ分析,GUIなど)が含まれている書籍もありますが,あくまでも「Pythonでよりよいコードを書く,ソフトウェアを開発するためにはどうすべきか」という視点で評価します.
星★の数でオススメ度を表していきます(MAXは★★★です).まだまだPythonは勉強中なので随時更新していければと思います.
パーフェクトPython (オススメ度★★)
パーフェクトJava(同じシリーズのJava版)がなかなか細かいところまで踏み込んでいてよかったので購入. が,基本的な文法やPythonでこんなことができるよといった応用の概論に終始してしまって,物足りない感が否めません.マルチスレッドなどは記載なし. 簡単なアプリの作り方はあるので,言語を問わずプログラミング自体の経験が浅い人やとりあえずPythonでアプリを作ってみたい人にはいいかも.
改訂版もあるみたい.
入門Python3 (オススメ度★★)
はい,オライリーです.よくも悪くもオライリー.
タイトルに「入門」とある通りで,上のパーフェクトPythonと同じような位置付けかな?
- 作者:Bill Lubanovic
- 発売日: 2015/12/01
- メディア: 単行本(ソフトカバー)
実践Python3 (オススメ度★)
こちらもオライリー.
Pythonでのデザインパターンを勉強したくて買ったけど後悔した(笑)
やっぱり衝動買いはダメだな
パターンに関する基礎的な説明もないし,サンプルプログラムが作り込まれすぎていてなにがなんやらわけわからん.
「どこでこのパターン使ってんの???」って感じで終始頭が混乱.サンプルプログラムは著者のWebページからダウンロードする必要があるのもめんどくさい(ごめんなさい).
上級者になってから読むといいのかな...? 読まない気がする.
Effective Python (オススメ度★★★)
またまたオライリーですが,これはなかなかよかったです. Tipという形で紹介されていて「こういう風に書けばいいのか,リファクタリングすればいいのか」というのが具体的でわかりやすかったです. また,コード例も変に凝ったものもなく,読みやすかったです.
Effective Python ―Pythonプログラムを改良する59項目
- 作者:Brett Slatkin
- 発売日: 2016/01/23
- メディア: 大型本
Pythonではじめるソフトウェアアーキテクチャ (オススメ度★★★)
こちらもよかった!! タイトルに「ソフトウェアアーキテクチャ」とあるので当然といえば当然ですが,しっかり「どうやってソフトウェアを組むか」 ちょろっとした文法や組み込み関数や有名ライブラリの使い方はググればそれなりに出てきますが,ソフトウェアの作り方はなかなかネットでは見つけられない中,貴重な情報源です.特に単体テストやマルチスレッドに関する章が役に立ちました.
- 作者:Pillai,Anand Balachandran
- 発売日: 2019/02/22
- メディア: 単行本
IntelliJでMavenプロジェクトが認識されずに困った
環境
IntelliJ IDEA COMMUNITY 2020.1
ですが,これの一つ前の2019.3(だったかな?)でも同様の現象発生
症状
”Mavenプロジェクトが認識されない”と書きましたが,具体的には次のような症状がありました.
- Javaコードに明らかな文法エラーがある(例
;
のあとに適当な文字列)にもかかわらず,赤波線が出ない - クラスを追加しようと右クリックしても
New
のあとファイルしか表示されず,Javaクラスが追加できない(すでにあるクラスもアイコンがおかしい) main/java
やtest/java
のディレクトリアイコンに青や緑の色がつかない- 自力で↑のディレクトリをマークするとJavaコードは認識されるが,
pom.xml
に記載されているライブラリが認識されず赤波線が大量出現
解決方法
次のステップを踏んで無事解決〜 (ステップ0は不要かもしれません)
- ステップ0: IntelliJの起動画面の左側に出てくるプロジェクト履歴から該当プロジェクトを削除(❌ボタンをクリック)
- ステップ1: Mavenプロジェクトの
.idea
ディレクトリを削除 - ステップ2: IntelliJの起動画面からプロジェクトをimportする
キモはステップ1ですね. ここの情報がとても参考になりました!
intellij-support.jetbrains.com
それでも動かないときは...Mavenプラグインを確認せよ!
はい,私の場合はこれでも解決しませんでした.まだライブラリがないと言われて怒られます.
そんなときは,MavenのプラグインがInteliJで有効になっていることを確かめます. 実は,3rdパーティ製のMavenプラグインを入れていたみたいで,そのためかもともとデフォルトで入っているMavenプラグインがOFFになっていたみたいです.
Preferences → Build, Execution, Deployment → Build ToolsでMavenが出てくればOK.
管理されてないpomがあるぜぃ(意訳)
「なんか知らないpomファイルがあるよ」って右下にポップアップが...!! もちろん,管理下に入れてもらいました.
それでもって,まだ解決しないのでもう一度.idea
を消して...を半分キレながらやっていたら...
ようやく認識されるようになりました!!
はあ〜貴重なプライベートの開発時間をこういう問題で取られるのはホントにムカつきますね...
【新型コロナ対策】リモートワークでもちゃんと仕事をするために工夫してみたこと5選
こんな長期間リモートワークって前人未踏では...?
新型コロナウイルス(COVID-19)が猛威を振るう今日この頃,ありがたいことにここ2週間ほどリモートワークをさせていただいております.
が,なんとなーく,たるーんとなっちゃうんですよね... 単に周りの目がないからというよりはこの先コロナどうなるんだろうという不安もだいぶ溜まってきている(いわゆるコロナ疲れ)のもあると思いますが,これはいかん,ということで,自制心を保って仕事をちゃんとするために試行錯誤してみました.
1. だるだる休日モードで仕事をしない
オンライン会議は音声だけだし〜ってことでパジャマやスウェットのままにするのではなく,そのまま出勤しても大丈夫な服に着替えています. ワンルームでデスクに向かっていてもベッドが視界に入ってきてしまうのですが,きちんとベッドメイキングをしてデスクに向かいます.もちろん,デスクの上も不要なものが残らないように片付けますよ.
なんか,すごい「しゃかいじんとしてあたりまえ」感が出てますけど,ええ...
2. BGMをかける
しーんとした雰囲気がマズイのかということでBGM作戦! YouTubeでジャズ系のBGMを流してみました. 「JAZZ × カフェ」とか「ジャズ × 作業」とかで出てくるものがお気に入りです. ただ,インターネット回線があまり太くないので,ファイルのアップロードに時間がかかるとか業務に支障が出た時はやめています.
ちなみに,ラジオはダメでした.簡単な事務作業とかだと大丈夫ですが,頭を使って考える仕事のお伴には向きません.頭脳のリソースが持って行かれます.同様に音楽(歌)もダメでした.音声が入ってないのがよさげです.ただずっと同じようなものを聴いていても飽きてくるので仕事の内容によって変えたりするのもよさそう.
[2020/4/12 追記] あんまり聞いたことのない歌手の洋楽(=なに歌ってるのかよくわかんねえ)だといい感じのBGMになりました!
3. いろんなお仕事ハックをやってみる
いっそのこと「別に集中できないってのはオフィスでもあることじゃん!リモートワークのせいじゃないもん!」って開き直ってみるのも手です.この際,どうすれば自分はもっと集中できるようになるのか徹底的に実験してやりましょう.
スタンディングワーク
職場で一人だけスタンディングワークをやるって結構勇気いりますよね?自宅ならそんな心配も無用!ということでスタンディングワーク(立って仕事をする)してみました.
結果は...デスクの高さが専用ではないのでやっぱりタイピングがしにくかったです.ずっと座りっぱなしもよくないですが,通常のデスクでは変に体に負担がかかってしまいそうな気がしました.気分はすっきりすることが多かったので,短時間の進捗報告や事務作業をするときに立つようにしています.
ポロモード
ポロモードって呼ばれる時間管理方法があるのですが,ご存知でしょうか? 25分の集中タイムのあと5分間の休憩をとるっていうやつです.4回の集中タイム後には25分の長めの休憩をとります. やっぱり業務時間内に25分の休憩をとるっているのがちょっと...ということで,この時間はメールチェックや事務作業,調べ物などにあてることにしました.
気分が乗ってきたところで休憩タイム突入だったり,ピロ〜ンとチャットが入って30分会話が続く(遊びじゃないですよ)だったりとうまくいかないこともしばしば.そういうときは思い切ってタイマーをリセットすることも必要ですね.でも,それぞれの時間があと◯分と可視化できるのはいいことだと気づきました.ちなみにスマホのアプリがたくさんあるので気に入ったものを使っています.
4. リモートワークだからできるランチ&おやつや息抜きを用意する
はい,きました.食べ物作戦です. 自宅の周辺にしかないお店のランチ(ファストフードチェーンだけどね)や無駄に手の込んだランチ,職場で食べるには少し勇気のいるおやつ(袋ポテチとか...)で気分をあげたりしています. 家のすぐそばに野良猫が出没するスポットがあるので「今日はアイツいるかな〜」なんて具合に少し散歩に出たりするのもいい息抜きになっています.
5. 定時でスパッと仕事を切り上げる
1.の逆ですが,終電を気にすることなくだらだら仕事を続けてしまうのもよくありません.ずるずる仕事をしても効率が悪くなるだけなので最近はなるべく残業せずに仕事を切り上げるようにしていたのですが,リモートワークをしてからは惰性で仕事を続けてしまうことが多くなりました. やはり適度にリフレッシュする時間をとらないと,次の日のパフォーマンスはよくありません.そんな日は上で書いたようなことをやっても焼け石に水なんですよね. 通勤によって物理的に移動することが儀式的な意味を果たしていたんだな...と気づきました.
まとめ
リモートワーク体験談をネットメディアで目にすることも多くなってきました.リビングしか作業場所がないなど場所の確保で苦労されている方もいるようです. 自宅にはディスプレイや大きめのPCデスク,新人のころにボーナスをはたいて購入したアーロンチェアがあるので仕事をする環境としてハード面は良い感じに整っているのだと思います.あとはソフト面を工夫してしっかり仕事をしていこうと思います.
とは言いながらも高さ調整可能なデスクが欲しくなってきたな...
新型コロナショックによる暴落でサラリーマン投資家としてやっていくこと
”コロナショック”到来,ピンチはチャンス
今週,新型コロナ(COVID-19)の影響を受けて各国の市場が暴落しました. 米国市場にいたっては,リーマンショック以降最大の下落を記録しています.
個人的な話で恐縮ですが,2016年あたりから投資を始めた私としては初の暴落です. 時折調整は挟みながらも基本的に右肩上がりの相場の中,次の暴落でポジションを増やそうとずっと考えていました. なので,そこまで下落にショックは受けていません.「ついに,その時が来たか...」って感じです.コロナの報道がされ始めた1月末頃から下落の予想をしつつも特に売却はしなかったのも,そういうマインドがあったからかもしれません. ただ,わかっていたとはいえ,やはり資産の減少を数値で見せられると少し動揺してしまいました.
今思えば,利益が出ていたものだけでも売って,また買い戻せばよかったかなと.
が,とにかく,ここで悲観的になって売却するのは禁じ手です. これからやっていくことは,また相場が回復することを信じて投資を続けていく(=ポジションを増やしていく)ことだけです.
これからポジションをどう増やしていくか?
計画通りポジションは増やします.ですが,先行きが不透明なので,ここで一気に全財産投入!!みたいなことはやりません.運が良ければすぐに億万長者コースかもしれませんが笑 これまで対岸の火事感があったヨーロッパ,アメリカでも感染拡大が見られていますから,今後も株価が継続的に下落することは十分に考えられるでしょう.下落したといっても過去数年のレンジで見ればまだまだ高値圏です.「2番底」「落ちてくるナイフはつかむな」なんて言葉もありますしね. 毎月の購入額を増やそうとは考えていますが,あくまでもこれまでと同じように定期的に購入するというスタイルで続けていくつもりです.
確定拠出年金のスイッチングも忘れない
これまでと違う行動としては,確定拠出年金のスイッチングもこれを機に始めることでしょうか? 実は入社したときはあまりリスクを取らないポートフォリオだったのですが,数年前に購入商品を見直して現在はほぼ100%を海外株式の商品に充てています.その見直し時に,それまで運用していた商品は定期貯金(的な商品)にスイッチングしてそのままキープしていました.その資金を海外株式の商品にスイッチングしていきます.これも今後どれだけ影響が続くかわからないので1年間に分散して毎月スイッチングしたいと思います.
まとめ:基本はこれまで通り購入を続けていくだけ
COVID-19とは長い闘いになりそうです.残念ながら経済への悪影響は今後も続いていくでしょう. 実際,新型肺炎の影響で倒産せざるをえない企業も出てきてしまいました.不安面もありますが,仕込みのチャンスでもあります. たしかに,このような時期に株を買いあさったり,「仕込みのチャンス!!」みたいに思うのは不謹慎,利己的だ,という考えもあるとは思います.が,これまでと同じように購入を続けているだけだと思えば罪悪感も薄れるのではないでしょうか.
家事のお供にノイキャンヘッドホンBose Noise Cancelling Headphones 700が超絶オススメ
2019年発売のBOSEのノイズキャンセリングヘッドホンBose Noise Cancelling Headphones 700を使って,ゴキゲンに家事をしています,というお話.
それまではBOSEの何世代か前のノイキャンヘッドホンを使っていたのですが,もう6年くらい使っていたこともあり,買い換えました.
700のここに惚れた
「惚れた」というのは少々オーバーな気もしますが...
BOSEの新モデル
単なるBOSEリピーターです,すみません. 電車等での遮音については旧モデルで満足していたので,それを下回ることはないだろう,と. SONYとか他メーカのヘッドホンと比較するほど経済的な余裕もなく,初めて買ったノイキャンがBOSEだった,ただそれだけです,ええ.
Bluetooth5.0で無線接続可能
iPhoneを買い換えたらオーディオ端子がないモデルになったのですが,端子のコネクタのつけ外しが意外と面倒で... はい,無線でノイキャンってBOSEからもとっくに出てるのは知っていたんです.QuietControl 30 wireless headphonesとか.
でも,「首にかける」っていうのが個人的にイマイチだったのと,カナル型が苦手なこと,そして「イヤホンよりヘッドホンの方が耳を包み込んでくれてキャンセリング性能が高そう」というホントかどうか微妙な理由で,イヤホン型の購入には踏み切れていませんでした.
そんなメンドくさい私の希望を叶えてくれたのがこの700です!笑
マイク付きで電話応答もOK
ハンズフリーってやつです.なんとこれまでハンズフリー対応のイヤホンを試したことがなかったので,初めて700で電話通話したときはちょっと感動物でした笑 AlexaやGoogleアシスタントの音声コントロールにも対応しているそうです.
2デバイスまでペアリングOK
Bluetooth5.0対応なのでマルチペアリング(2台まで)できます.自分はMacBookとiPhoneをペアリングしてます. まだ試せていませんが,マルチポイント(MacBookで再生している曲を流しながらiPhoneの電話着信を待ち受けるとか)もできるんじゃないかと思っています.
最近の利用シーン
で,このヘッドホンを使ってよくやっているのが,家事をしながらの英語の勉強です.英単語CDやニュース聞いたりしてます.
食器洗っているだけの時間とか洗濯物干しているだけの時間とかもったいないなーって... 特に食器洗うときは水を流すので,普通のイヤホンだと水量に負けてしまう. そこで,ノイキャンヘッドホン.
実は「家事をしながら」には有線接続の旧モデルでもトライしたのですが,やっぱりコードが邪魔で挫折.食器を洗っているときにコードがぴろ〜んって前に出てきてしまっていました. ところが,700で無線接続になったことで,端子コネクタの付け替えもいらないし,簡単に習慣化できました.
家事をしながらの電話応答もよくやります.休日に親から電話がかかってきても「まあ洗濯干しながらだし,いいか」って感じでちょっとやさしくなれます笑.こちらの発声はクリアだと言われます.食事しながら電話するのも楽しいですね.
洗濯物を浴室に干すことがあるのですが,少し音源のデバイスから見通しが悪い場所に移動しても(ドアは開けていますが),音が飛んだりすることはないです.
買う前に気をつけること
デメリットというか,購入にあたっての注意点もないことはないです.
会話までは打ち消せない
仕事中になぜかデカイ声で雑談とか打ち合わせしだす人,ほーんと迷惑なのでノイキャンイヤホンつけてみたのですが... 残念ながらこういうのは消せませんでした.この700はノイズキャンセリングのレベルを10段階で調整できるのですが,MAXレベルでもダメでした. まあ,人の話声まで消すと困ることもありそうですしね. 工事作業の騒音とかも無理でした.
音質にこだわる人は...?らしい
個人的にはまったく気になっていないのですが,レビューを検索してみてみると低音域がどうこうというのはチラチラ見かけました. 音楽よりも音声(ナレーションとか)を聞いているというのもあるかもしれません.
長時間使用には重いかも?
結構ずっしり感はあるので,ずーっと装着していると頭が重くなってきます.あと,どうしても持ち運びには向かないです.
お値段がそこそこします
気軽にちょっと試してみようかな〜で手に入る値段ではない(はず)です, 年末に某大手電機販売店で購入しましたが,メーカー希望価格から3,000円引きでした.
まとめ
諭吉さんを何枚もはたいた分の使い方ができるよう,しっかり活用していきます!