- Inkscape 側で Save a Copy... の画面で Desktop Cutting Plotter (AutoCAD DXF R14) (*.dxf) を選択する。
- このとき Base unit を mm にしておく
- KiCAD pcbnew 側で DXF ファイルをインポートする。設定はそのままで良い
友達がいなくても新しい言語は学べる
プログラミングが分かってる相手に気軽に挙動について訊ける機会なんてありませんね。仕事なら同僚に訊けばいいと思いますけど、同僚が暇とは限りませんし、学生ならそういった相手がいないことが普通ではないでしょうか。
ということで、独りで言語を学ぶ方法について考えます。
作りたいものを決める
大変重要なところです。どの言語でも書けて、どの言語も多少の個性が出て、そこそこ簡単なものがいいですね。
ぼくの場合は blosxom という「テキストファイルをスキャンしてHTMLにするだけのブログツール」なんですが、まぁなんでもいいと思います。ぼくはウェブエンジニアなので、ブラウザに何か表示がでるとそれだけで嬉しいというところがあります。
リファレンスをひけるようにする
どの言語も必ずどこかに言語リファレンスがあります。必ず公式のものを一式見れる状態にします。そしてできれば Chemr とか Dash みたいな瞬間的にリファレンスをひけるツールを用意します。
リファレンスは無限にひくことになるので、多少ここに時間をかけても良いところです。
書きはじめる
とりあえず Hello, World! しましょう。Hello, World! をバカにしてはいけなくて、これは print デバッグという原始的でほとんどどんな言語でも通用するデバッグ方法を習得するために必要なことです。高級なデバッガは言語ごと、エディタごとに使い勝手が異なることが多いので、デバッグが辛すぎる状況になってから考えます。
このとき、公式にチュートリアルがあるならやってみても良いです。が、どうせチュートリアル見ても Hello, World! のやりかたぐらいしか分からないので無視しても良いです。
重要構文を覚える
- 条件分岐 (if)
- ループ (for)
- リテラルの表記方法 "foo" は文字列、123 は数字など
これぐらいあればベタっと動くコードを書くことができるはずです。
クラス構文とか、そういうものはとりあえず無視しましょう。Java とか C# だとエントリポイントを書くために最初っから必要になりますが、まずはできるだけ無視します。言語特有の機能はとりあえず置いておいて、動くコードにします。
設計をなおす
多少動くものが書けそうなら、その言語で「最も良い書きかた」にできるだけ全てを直します。ここではリファレンスの特に文法をよく読んで「ぼくの考える最高に読みやすい書きかた」を探ります。とはいえ、だいたい言語ごとにセオリーが決まっているので、言語公式のライブラリとかを読むとてっとり早く雰囲気をつかめます。ただ、公式ライブラリが十分綺麗に書かれているとは限らないので、できるだけリファレンスに頼ったほうがいいと思います。
このとき大事なのは「これは読みにくいぞ」とか「オレはこう書きたいんだけど」という気持ちです。そういう自分の信念と、言語ごとの雰囲気の擦り合せを行います。できるだけ言語特有の良さを出すように書きます。最終的に「このコードは(他の言語名)から来たヤツが書いてんな」みたいな田舎臭さを消滅させることを目標とします。
友達がいなくても言語は学べるか
リファレンスをひけば大丈夫です。安心しましょう。そして Google で検索すれば大抵のわからない問題は解決します。わからなかったことは公開される形で記録しつつ解決して、検索できるようにしましょう。そうすると後続の友達がいない人に優しいインターネットになります。
✖
スマフォ写真をLightroomでマシにするメモ
ZenFone2 を使っているけど、お世辞にも画質が良いとはいえない。後処理でなんとかする試行錯誤をしたので記録しておく。
- 「ノイズの低減」→「カラー」を適切に設定する
- 画質悪いカメラのノイズで一番うるさいのでカラーノイズだと思うので…
- 「シャープ」を適切に設定する
- 全体的にノイジーになるが、カラーノイズを消しておけばあまり気にならず、解像感が増す
- 「効果」→「かすみの除去」を多少強めにかける
- レンズが多少汚れていること多いけど、これだと全体的にモヤがかかった感じになってしまう。「かすみの除去」によってかなり全体的に綺麗になる
「明瞭度」はシーンによって上げたり下げたりする。
MCD-ST Liberty SW License Agreement V2 はフリーなライセンスか?
STM32CubeMX でジェネレートされるコードは MCD-ST Liberty SW License Agreement V2 というライセンスになっています。これはコード上で以下にリンクしています。
http://www.st.com/software_license_agreement_liberty_v2
Copyright � 2015 STMicroelectronics International N.V.. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted, provided that the following conditions are met:
1. Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of STMicroelectronics nor the names of other contributors to this software may be used to endorse or promote products derived from this software without specific written permission.
4. This software, including modifications and/or derivative works of this software, must execute solely and exclusively on microcontroller or microprocessor devices manufactured by or for STMicroelectronics.
5. Redistribution and use of this software other than as permitted under this license is void and will automatically terminate your rights under this license.
THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- 1はライセンス表示をそのまま残せといってるやつです
- 2はバイナリ配布する場合もライセンス表示をどこかに表示しろという話です
- 3はライセンス表示の名前について商標とかを気にしなくてよいという話だと思います
- 4はこのソースコード及び派生物についてはSTマイクロのハードウェアだけで動かせということです
- 5は許可外のことをすると権利失効しますという話です
大文字の部分は免責事項です。
基本的にSTMのデバイスで使う限りは広い使用が認められているように見えます。が、ハードを制限しているのでちゃんとフリーとはいえなそうです。