読者です 読者をやめる 読者になる 読者になる

がべーじこれくしょん

技術系とかいろいろ

Macで使えるフリー回路図エディタ「Qt-BSch3V」を使ってみた

私の通っている学校の講義のなかで「実験」というものがありまして,それがまた厄介なんですよね(?)

そんな話はさておいて,今回は回路図をMacで書こうと思います.(というのも実験のレポートで回路図を用意する必要性が生じたからなのですが…)

いろいろ探した結果,「Qt-BSch3V」というものがよさそうなので使ってみます.

もともと,Win用の回路図エディタとして「BSch」というものがあるらしく,それのMac移植版ということらしいです.

使い方

ダウンロードとインストール

まずは,Vectorから「Qt-BSch3V」をダウンロードしてきます.

www.vector.co.jp

ダウンロードしてきたら,解凍してください.

解凍してできたフォルダをまるごとApplicationsフォルダに投げればインストール完了です.

起動とセットアップ

青色のBSchと書かれたアイコンがそれです.

起動すると,セキュリティの警告が出ると思いますが,お構いなく立ち上げましょう.

起動すると,以下のような画面になると思います.

f:id:musaprg:20170424013146p:plain

これが,エディタ画面です.

初期状態だと抵抗等のコンポーネントが読み込まれていませんので,コンポーネントをどこから読み込むかを指定してあげなければなりません.

メニューバーのSet→Libraryをクリックすると,Qt-BSch Set Libraryが立ち上がります.

f:id:musaprg:20170424013449p:plain

コンポーネントは,先程解凍してできたフォルダの中のLIBVというフォルダ内に入っています.

Addを押すと,選択画面が出るので,この中のライブラリファイルをすべて追加します.

以上でコンポーネントの追加は完了です.好きなだけ回路図をかきましょう!

(使い方については気が向いたら加筆します)

pip installしたはずなのにImport errorと言われた場合

環境

MacOSX 10.12.2 pyenv 20160629

方法

pip installしたモジュールをimportしようとしてImport Errorを吐かれたときは、$PYTHONPATHが正しく設定されているか確認しなければならないらしい。

pipでインストールしたモジュールのインストール先は、/usr/local/lib/python2.7/site-packages/であるのに対して、pyenvを使っている場合のパスは/Users/Hoge/.pyenv/shims/python/site-packages/になっている。これでは、pipでインストールしたモジュールが読み込まれないのもうなずける。

Pythonは、$PYTHONPATHという環境変数の中にあるパスを基本的には探索します。 そこで、$PYTHONPATHにこのpipで設定されているインストールパスを追加することで、正常に読み込まれるようになります。

$ export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/

あとは、上記スクリプト.bashrcなり、.zshrcなりに追加することで解決です。

CentOS7.2でpwntoolsを入れるときに入れたパッケージ

環境

CentOS7.2(Vagrant上) Python2.7.5 pwntools-3.5.0

やり方

以下でいけました。vagrant上でpwnできるねやったね!

$ sudo yum install libffi-devel openssl-devel
$ sudo pip install pwntools

Pwn勉強中なので、しっかり勉強した上でオレオレライブラリを作りたい…(願望)

【1日目】30日OS自作入門

とりあえず1日目です。

本をざっと読んでみたのですが、やはりWindows向けに書かれていました。

自分が持っているのはMacなので、早くも詰みました。困りましたね。

そんなところで検索すると環境構築をしている方がいらっしゃいました。感謝…感謝…

github.com

CD-ROMから該当するファイルを引っ張ってきて、上記サイトにかかれていたシェルスクリプトを実行し、環境構築完了。

地獄のバイナリ手打ち大会(helloos0)

毎度おなじみ「世界へこんにちは」から入りました。

しかし、これがかなりきつい。

CDにはすでに完成されてたhelloos.imgが用意されていましたが、試しに自分で作成してみました。

バイナリを読むのはCTF等で機会が山ほどあったのでなんともないのですが、まさか書くことになるとは…

正直かなりきつかったです。

でもこうやって昔の人はOSを手組してたと考えると今の時代はかなり楽しちゃってるなあ…とも思います。

アセンブラに書き換える大会(helloos1)

先程のコードをアセンブラのコードに書き換えるセクションでした。

筆者お手製のnaskというアセンブラを使って先程のコードを書き換えます。

本に書いてあるとおり、まだ手で打てるレベルだったので多少は楽になりました。

アセンブラの恩恵を初めて直に受けられた気がしました(?)

アセンブラのコードを最適化する大会(helloos2)

先程のアセンブラのコードをもう少し文法的にわかりやすく書き換えるセクションでした。

FAT12フォーマットに関する説明がアセンブラのコードと一緒に説明されていました。

FATっていう名前久々にきいたな…(林檎並感)

ここまできて、今まで作ってきたプログラムはブートセクタに入ってて、本来はここにbootstrapのプログラムが入ってるということがわかりました。

1日目…意外と濃い…

【0日目】30日OS自作入門

高校のころから図書館で借りて読んでいた本をついに買いました。

それが、川合秀実さんの著書である「30日でできる!OS自作入門」です。

低レイヤ界隈にはとても有名な本ですね。「名著」と某先輩も推しています。

今回は、数週間後に控えたもくもく会に向け、一冊30日かけてやる本を二週間ほどで終わらせるという無謀なチャレンジを行います。

目標は、本書で紹介されているOSをとりあえず完成させることです。内容理解の漏れに関しては、再読ともくもく会を通してカバーしていくつもりです。

内容に触れすぎない程度に1日分ごとに進捗をまとめていきたいと思います。

頑張ります!

Jetbrains Product Pack for Studentsに申し込んでみた

IntelliJ IDEAやPhpStorm、Rubymineなどは、プログラマ界隈ではおなじみの高機能IDEですよね。

ただし難点なのが、これらは有料だということです。

しかもかなり高額。

そこで、Jetbrains製品にもStudent Licenseがないか調べたところ、「Jetbrains Product Pack for Students」というものがあったので、申し込んでみました。

手順

まず、「JetBrains Product Pack for Students」のページに移動します。

www.jetbrains.com

f:id:musaprg:20170403153023p:plain

Apply Nowをクリックします。

f:id:musaprg:20170403153115p:plain

必要事項を記入します。

Email Addressは、必ず学校から付与されたメールアドレスを入力してください。

APPLY FOR FREE PRODUCTSを押すと、先程入力したメールアドレス宛に承認リンクの載ったメールが届くと思うので、リンクをクリックしてください。

規約に同意すると、アカウント登録ページへのリンクが載ったメールが再度送られてくると思うので、クリックしてください。

Jetbrainsのアカウント作成画面に移るので、必要事項を記入すれば完了です。

(どうでもいいけどPhpstorm重い…)

Jupyter Notebookでmatplotlibのグラフが表示されない

サークルで統計が流行っているのですが、みんなRを使うのでひねくれものの私はPythonでデータサイエンスを勉強しています。(Rもそのうち触りたい)

そんな中、matplotlibがインライン展開されないという問題にぶちあたったのでメモ。

解決策

ノートのはじめで以下のコードを走らせないとインライン展開されないみたいですね。

%matplotlib inline

Before

In  [48] : tz_counts[:10].plot(kind='barh', rot=0)
Out [48] : <matplotlib.axes._subplots.AxesSubplot at 0x18dd7d8c358>

After

In  [49] : %matplotlib inline
In  [50] : tz_counts[:10].plot(kind='barh', rot=0)
Out [50] : <matplotlib.axes._subplots.AxesSubplot at 0x18dd7d8c358>

f:id:musaprg:20170402160818p:plain

表示されるよ!やったねたえちゃん!

読んでる本

今読んでる本です。実際のデータ使えるので楽しいです。

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理