.

ffmpeg memo

ffmpegをmacで使った時のメモ書き (Linuxのほうが使いやすい気がする)

インストール

  • brewにて
    • $brew install ffmpeg

使い方

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
➜  ✗ ffmpeg -f avfoundation -list_devices true -i ""

ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gpl --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-opencl --enable-videotoolbox
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
[AVFoundation input device @ 0x7ffa3f402b40] AVFoundation video devices:
[AVFoundation input device @ 0x7ffa3f402b40] [0] FaceTime HD Camera
[AVFoundation input device @ 0x7ffa3f402b40] [1] Capture screen 0
[AVFoundation input device @ 0x7ffa3f402b40] [2] Capture screen 1
[AVFoundation input device @ 0x7ffa3f402b40] AVFoundation audio devices:
[AVFoundation input device @ 0x7ffa3f402b40] [0] Built-in Microphone

参考

ref: https://qiita.com/atsushi0521/items/350cdbbb9d8f712f0097

PythonのLibraryで使用したことがあるもの

使用したことがあるlibraryに加えて一言

どんなライブラリたちがあるか

OSSライブラリ一覧

Test framework

Coding guidelineなどの静的解析

ツール

  • gprof2dot
    • https://github.com/jrfonseca/gprof2dot
    • [メモ] 自身が作成したプログラムのパフォーマンスを計測したときに使用した, profileのファイルを可視化してくれるツール

組み込み

ref: https://qiita.com/atsushi0521/items/13972fa54039854027e1

circleci memo

セットアップ

  • Githubでプロジェクトを作成する
  • CircleCIで対象のプロジェクトに対してCIを有効化する

ローカルでcircleciのビルドを実行できるようにする

  • [目的] ymlを作成してすぐ試すというサイクルを短くするため
  • [手順]
    1. Dockerをインストール (公式 Docker for mac)
    2. Circleci-cliをインストール
      • $brew install circleci

circleci/config.ymlを作成する

GithubにCircle CI statusバッジを貼り付ける

参考

ref: https://qiita.com/atsushi0521/items/b335f375550f84fcd1f0

(自分用メモ) Macを買ってからセットアップするまで

Mac購入

  • Paypay祭りの時にMacBook Air(13-inch, 2017)を購入
1
2
3
1.8 GHz Intel Core i5
8 GB 1600 MHz DDR3
Intel HD Graphics 6000 1536 MB

Mac起動

  • Apple idでログイン
  • [つぶやき] webブラウザでもどこでもEmacsのキーバインドが使えるのが素敵
    • e.g. Ctrl+fで右方向に1つ進む
    • 特にWebブラウザ上のEditorなどで, “新しくTabを開く”ショートカットとコンフリクトせずに, Ctrl+nで下方向にいく (MacではCommand+nで新しくTabを開く)
  • [つぶやき] かな, 英数の切り替えが”かな”, ”英数”キーということを知る,,,

Macでの設定

  • Dockの場所を左にして, 自動的に隠す (システム環境設定 -> Dock)

Homebrewインストール

SKKの導入

Githubの設定

インストールしたもの (一般)

インストールしたもの (WebからMac用)

インストールしたもの (AppStore)

  • Xcode
  • Slack

インストールしたもの (brew)

インストールしたもの (pip)

  • pytest, pytest-cov

覚え書き

参考

ref: https://qiita.com/atsushi0521/items/020cc31dc990315afa36

プログラミングの勉強法

メイン: LeetCode

  • https://leetcode.com/problemset/all/
  • 問題数 900以上 (Problem set. 他にもいろんな問題があるよう)
  • Google, Amazon, Appleなどの大手企業で出されたという問題があるらしい
  • さくっと解ける (ものもある)
  • 解けない時は解答を見ることもできる問題もある
  • 自分の好きな言語で解くことができる
  • Web上のEditorで完結する
  • やっている途中でもSubmitしとけばその続きから行える
  • 全部英語

いろいろな学習用サイト

  • 言語の習得やアルゴリズムの学習に最適 オンラインジャッジサイト一覧
    • https://qiita.com/shibacho/items/20f6eee42083c620b556
    • こちらを参考にして”atCoder, Checkio, HackerRank”あたりを使ってみたが, 定着しなかった. Twitterや勉強会で, LeetCodeを使っているという人たちを見たので使ってみたところ定着した

所感

  • 学習用サイトはたくさんある
  • 自分のスタイルにあった, 学習を継続できるサイトを選ぶ必要がある

ref: https://qiita.com/atsushi0521/items/15ad605207b060cf4e83

ローカルネットワーク内でsshするための設定

自分が調べたことのメモ, ほぼどこかへのリンク.

やろうとしたこと

  • 家のローカルネットワーク内に繋がれている以下の機器間でsshでログインする
    • Raspberry Pi
    • Ubuntu 16.04
    • Mac

使用しているWi-Fiルーター

  • Buffalo WSR-300HP/N
    • はじめssh出来るようにするにはルータの設定が必要かと思ったがそうではなかった

Raspberry Piの設定

  • SSH (Secure Shell) (英語. Raspberry Pi 公式)
    • qiitaで調べたものはうまくいかなったものが多かった
1
2
3
4
5
6
1. Enter sudo raspi-config in a terminal window
2. Select Interfacing Options
3. Navigate to and select SSH
4. Choose Yes
5. Select Ok
6. Choose Finish
  • 上記の設定で, Ubuntu/Mac -> Raspberry Piへのsshのログインが可能になった

Macの設定

Ubuntuの設定

ref: https://qiita.com/atsushi0521/items/80e36b1d8d7306ee2357

WeMo Insightで現在の消費電力を取得する

WeMo Insight

API

WeMo Insightの現在の消費電力を知る手順

  • だいたい上記のPython APIに書いてあることです
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
pi@raspberrypi:~ $ python
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from ouimeaux.environment import Environment
>>> def on_switch(switch):
... print "Switch found!", switch.name
...
>>> def on_motion(motion):
... print "Motion found!", motion.name
...
>>> env = Environment(on_switch, on_motion)
>>> env.start()
>>> env.discover(seconds=3)
Switch found! WeMo
>>> env.list_switches()
['WeMo']
>>> switch = env.get_switch('WeMo')
>>> switch
<WeMo Insight "WeMo">
>>> print switch.get_state()
0
>>> switch.on()
>>> print switch.get_state()
1
>>> print switch.insight_params
{'onfor': 51, 'state': '8', 'ontotal': 16144, 'totalmw': 40961936, 'ontoday': 16499, 'todaymw': 40961936, 'lastchange': datetime.datetime(2018, 1, 13, 13, 4, 24), 'currentpower': 0}
>>> print switch.insight_params['currentpower']
0 (WeMoに何も差してない状態)
>>> print switch.insight_params['currentpower']
15915 (WeMoにノートPCのACアダプタを差している)

ref: https://qiita.com/atsushi0521/items/28355e9d789a07c61f2f

探索的テストの使い方

探索的テストとは

1
2
3
4
5
探索的テストは、テストの目的が含まれたテストチャータを基にしたもので、
テスト設計、テスト実行、テスト記録や学習を並行して同じ時間枠内で実行する。
このアプローチは、仕様がほとんどなかったり、不十分であったり、
スケジュール的な余裕がない場合や、他の形式的なテスト技法を補完する場合に効果が大きい。
探索的テストは、テストプロセスのチェックや、きわめて重大な欠陥を見つけ出すのに役に立つ。

探索的テストの使い方

  1. チーム内の他のメンバーが作った機能の理解
    • 自分が作っていない機能を探索的にテストすることでその機能への理解が深まる
    • みんなが集まってテストできれば, 不明点(仕様やロジックなど)を作成者にすぐ聞くことができ, それを他のメンバーも聞くことができるので暗黙知や知識の共有にもなる
  2. 品質の確認
  3. バグ出し
    • テストスクリプトなどの用意をせず, どのあたりをテストするのかをざっくり方針決めてテストするだけである程度の致命的なバグを見つけることができるため費用対効果(ROI)は高い
      • バグを仕込んで直すまでの時間が短ければ短いほど修正コストは低いので, 機能がある程度出来たら行うと良い
      • 開発チームで行うとよりよい
  4. 回帰テスト
  5. 上記の使い方を同時に複数行うこともできる

探索的テストはソフトウェアテストの1つのスタイル

ref: https://qiita.com/atsushi0521/items/e1ba80010ed34aca26bf