はやく人間になりたい

学んだことの雑記帳です。

デザイン勉強

ノンデザイナーズ・デザインブックを読みました。自分のデザインセンスのなさにうんざりしているので、少しでも理論やテクニックを学んで次に活かしたいです。

洗練されたデザインに共通する以下の4原則について知りました。

  1. コントラスト Contrast
    異なる項目にはっきり差異をつける。
    ボールドや色合い、囲みなど。

  2. 反復 Repetition
    デザイン上のなにかの特徴を作品全体を通して繰り返す。
    名刺などでも太字の反復入れると目の動きを誘導しやすい。

  3. 整列 Alignment
    すべての項目を意識的に配置し、視覚的に関連させる。
    中央寄せは穏やかな印象を与えるが野暮ったい。

  4. 近接 Proximity
    関連する項目をまとめてグループ化する。

頭文字をとるとCRAP...

まとめ

無意識的にやっている内容だが、実例を見ながら解説を受けることで効果の程や重要性を実感することができた。
なんとなくのデザインに対して、一貫したルールをもたせるだけで一定の効果があるようなので気をつけていきたい。特に、文字の寄せはこれまであまり意識せずに使っており、中央寄せも多用してしまっていた。

AutoHotkeyでホットキーを設定してみた

タイピングをしているとキー配置の遠さにうんざりしたり、かゆいところに手が届かない歯がゆさを感じることがあります。そのための対処法として「AutoHotkey」というソフトをおすすめされたので使用してみました。

www.autohotkey.com

かなり有名なソフトのようで調べたら使い方やWikiなどが多く存在していました*1 。
スクリプトを作成することでキーマップの変更やホットキーの追加に限らず、様々なことができるようです。

私は、普段あまり使用しない無変換キーに以下の操作を割り当ててみました!

  • 無変換 + F   →  Enter
  • 無変換 + D  →   End
  • 無変換 + S  →   Home
  • 無変換 + ;   →   BackSpace
  • 無変換 + :   →   Delete
  • 無変換 + J  →   ←
  • 無変換 + K  →   ↓
  • 無変換 + I   →    ↑
  • 無変換 + L  →   →
インストール

それでは、実際にホットキーを設定してみます。
まずはソフトのインストールです。
インストールが完了すると、AutoHotkeyのアプリが追加されます。こちらから操作方法やキーマップの割当などを確認することができるので一度目を通しておいたほうが良いです。

 

スクリプトファイルの作成

処理をしていすることになるスクリプトファイルを作成していきます。
右クリックのコンテキストメニューの新規作成にAutoHotkey Scriptという項目が追加されているので、任意のフォルダでこれを選択します。

f:id:sin392:20190814210938p:plain
拡張子 .ahkスクリプトファイルが作成されました。
この中に、任意の処理を書き込んでいくことになります。
ファイルは右クリックからのEdit Scriptを選択するとテキストエディタで編集できます。

自分の場合は、スクリプト内に以下の記述を追加しました。

vk1D & F::Send,{Enter}
vk1D & vkBB::Send,{BackSpace}
vk1D & vkBA::Send,{Delete}
vk1D & I::Send,{Blind}{Up}
vk1D & J::Send,{Blind}{Left}
vk1D & K::Send,{Blind}{Down}
vk1D & L::Send,{Blind}{Right}
vk1D & S::Send,{Blind}{Home}
vk1D & D::Send,{Blind}{End}

::の左側に組み合わせたいキーを&でつないで書いています。v
k1Dは無変換、vkBBは; 、vkBAは: に対応しています。

実行

作成したスクリプトファイルをダブルクリックして実行すれば設定したホットキーが反映されます。毎回の起動時に起動するのは面倒なのでショートカットをスタートアップフォルダに置いておくと良いかと思います。

 

まとめ

AutoHotkey」を使用してホットキーを追加した。

*1:古い記事では仕様変更前の内容も多いです。

seabornのヒートマップが見切れる

seabornのヒートマップを使用した際に、以下のように図の上下が見切れてしまう現象が発生しました。

http://user-images.githubusercontent.com/3466341/60834759-6a75a180-a18f-11e9-81fc-8dc659e4f0e6.png

GitHubより)

 

annotによる値の表示も切れてしまうのでなんとかしようとsquare=Trueや図のサイズの変更も試しましたが、だめでした。

 

最終的には、GitHubのissueをのぞいた際に同様の不具合が報告されているのを発見しました。原因はmatplotlibの3.1.1に由来するものとのことで、3.1.2では修正されるそうです。

とはいえ、3.1.2はまだリリースされていないのでひとまずmatplotlibを3.1.0にすることで対処しました。

f:id:sin392:20190811234856p:plain

別のデータですが、問題なく表示することができました!

まとめ

snsのヒートマップの上下が切れる原因はmatplotlibのバージョンによる不具合であり、ダウングレードによって解決できました。

また、次のバージョンでは修正される予定です。

伊豆旅行に行って来ました

タイトルの通りです。中学時代の友人2人と伊豆の熱川〜下田の方までちょっとした小旅行。

f:id:sin392:20190810223919j:image

はじめに向かったのは熱川。

到着後に一眼レフのSDカードを忘れていたことに気付きました…(°_°)

 

f:id:sin392:20190810224055j:image 
f:id:sin392:20190810224113j:image

バナナワニ園に行きました。親子連れのお客さんが多かったです。暑さによる夏バテか、ワニ達は少しぐったり気味でした。

f:id:sin392:20190810224415j:image
f:id:sin392:20190810224059j:image
f:id:sin392:20190810224107j:image
植物園はかなりの湿気と暑さでした…食虫植物やオオハスなどの珍しい植物を間近で観察できて大満足。このオオハスは30kgのお子さんは上に乗る体験が出来るそうです!乗ってみたかった…笑

f:id:sin392:20190810224743j:image

私の大好きなオジギソウもありました。いいですよねオジギソウ…幼い頃には自宅のオジギソウを毎朝つついて遊んでいました。

改めてみても、植物がこれだけ俊敏に動作できるという事に驚かされます。

オジギソウの"おじぎ"は下垂というのだそうですが、受けた刺激により葉の付け根の細胞内外でカリウムイオンの移動が起こり細胞のアクチンがバラバラになることで水分が流出して起こる現象らしいです。アクチンというのは人間の筋肉にも存在する細胞ですね。

やっぱり植物は面白い…

f:id:sin392:20190810225603j:image

次に食事処を探しがてら海岸の方まで歩いて行ったのですが、とても波が強く一部エリアでは遊泳禁止となっていました(食事処は全く見つからず…)。

 

食事は食べ損ねたものの熱川を満喫した一行は下田へ。道中、横目に通り過ぎる白浜などの海水浴場は海水客でいっぱいでした。水着を持ってこなかったことが悔やまれる…

 

f:id:sin392:20190810230259j:image

f:id:sin392:20190810230048j:image
f:id:sin392:20190810230045j:image

下田はペリー来航の地として有名であり、ゆかりの施設や記念館が存在します。中でもペリーが小路を歩いたとされる「ペリーロード」は川沿いにアンティークショップや古民家カフェ、蔵カフェなどが軒を連ね、大変異国情緒にあふれる素敵な場所でした!

また、海が近いので小路を歩いていても潮の香りが漂ってくるのがなんとも言えないです♪

f:id:sin392:20190810231316j:image
f:id:sin392:20190810231122j:image
黒船についてもばっちり勉強してきました!

 

 

f:id:sin392:20190810231526j:image

お夕飯は魚料理のなかがわさんでちらし丼+つぼ焼きをいただきました。具沢山で身もぷりぷりとして美味しくペロリと平らげてしまいました。特に金目鯛の刺身が美味しかったです。

右下にちょっと見えてる"かつおの塩辛(強塩)"は追加で注文したのですが強塩の名の通り非常に塩辛かった(口の中で塩がじゃらつく)ですがご飯が進む美味しさでした!

 

 

そんな感じで満喫した伊豆旅行でしたが、しめは温泉で旅の疲れを癒しました。風呂上がりのコーヒー牛乳最高!

 

やはり気の合う仲間と出かけるというのはいいものですね。歳を経るごとに気を使わずに遊べる友人というのは少なくなっていってるので気を張らずに付き合える友人は大事にしていきたいなと思いました。

 

 

 

 

次はちゃんとカメラを使うぞ

(初心者向け)WindowsでのPythonの利用

みなさんはPythonをインストールする際にどんな方法を利用しているでしょうか。

先日、研究室の後輩がWindowsPythonの環境を構築する際に戸惑っていたため、
記事の投稿の練習も兼ねてその際に紹介した方法を記録しておきます。

Microsoft Store から入手

 全然知らなかったのですが、Pythonのストアアプリなんてものが存在しているんですね!Windows 10 May 2019 Updateからはコマンドプロンプトpythonが見つからなかった際にストアが起動し、インストールが提案されるそうです。

f:id:sin392:20190809133100p:plain

Python3.7が提供されている

手軽にPythonをインストールできるだけでなく、
パッケージ管理ツール「pip」と統合開発環境(IDE)「IDLE」も同梱します。

ただし、
安定版ではなく、対話シェルの利用を想定している
とのことなので
使用の用途次第では他の方法を選択したほうがいいかもしれませんね。

公式サイトからの入手

公式サイト(http://www.python.org)で配布されているWindows用のインストーラーをダウンロードし、インストールを行う方法が最も一般的かもしれません。
Downloadsから最新バージョン及び過去のバージョンのPythonインストーラーを入手することができます。

www.python.org

 

Anacondaの利用

 もしデータ解析や機械学習などの用途でPythonをインストールしようとしているならばAnacondaの利用も候補に入ります。Anacondaは科学技術計算のためのモジュールやツールが同梱されたPythonディストリビューションです。インストールするだけですぐに開発が始められる他、仮想環境の作成や追加パッケージのインストールなどもGUIを通して行うことができるため、初心者にも非常に扱いやすいです。また、特徴として独自のパッケージ管理ツール「conda」を使用します。

www.anaconda.com

欠点としては、使わないであろうものまでインストールするためサイズが大きく重くなり、構成内容も把握しづらいです。
最小構成のMinicondaというものも存在しますが、追加パッケージのインストール等はcondaを使用し、CUI環境で行う必要があります。

注:
condaはpipと異なる仕組みで動作するため、併用すると環境が壊れる原因になります。condaの環境でpipを使用しないようにしましょう。

WSLの利用

 Windowsを使っていてもLinux環境で開発を行いたいという需要はあると思います。そんなときには"Window Subsystem for Linux"(WSL)が役立ちます。これはWindows 10から搭載されたLinux(Ubuntu)を利用するための仕組みです。
WSLで用意したUbuntu環境にはPythonがプリインストールされており、Ubuntuのターミナルからすぐに使い始めることができます!
WSLのインストール方法は以下の記事などが参考になります。

dev.classmethod.jp
Linux環境に触れたことがない人にとっては敷居が高いかもしれませんが、Windows上でLinuxを扱えるメリットは大きく、WSL上での開発環境の構築自体も近ごろはたくさんの記事が書かれているので導入自体の敷居は下がっています。
そのため、これまで触れたことがない方にとってもLinux環境に触れてみるいい機会になるかもしれません。


注:

WSLのファイルパスやWindowsで作成したファイルのパーミッションなど、気をつけなければならない点は多いです。また、Windows上のIDEを使いたい場合などはVScode-insiderなどのリモート機能を使用する必要があります。こちらについては

VSCode Remote WSLでPython開発環境構築 - Qiita

等の記事が参考になります!

Docker上へのインストール

執筆中です。

おまけ:ブラウザ環境の利用

 本筋からそれますが、ブラウザから開発を行える環境というものも存在します。機能的に制約のあるものも存在しますが、開発環境の手間なく、すぐに開発を始めることができます。また、小さなコードをサクッと書きたいときなどにもおすすめできます。

 

以上、WindowsPythonをインストールするためのいくつかの方法について記載しました。個々の詳しい内容については折をみて投稿してみたいと思います。