組込みシステム構築実習
- 結論の書き方をちゃんと指導教員は教えてくれましたでしょうか? | 上田ブログ
- 2020年振り返り【ほぼ開発未経験で組込みLinuxでIoTシステムをリリースした話】 #ポエム - Qiita
- C言語によるオブジェクト指向プログラミング入門 | 坂井 弘亮 |本 | 通販 | Amazon
- 基本の復習: 優先順位は LANGUAGE, LC_ALL, LC_xxx, LANG の順 #環境変数 - Qiita
- 5V→3.3Vレベル変換に分圧抵抗を使う際の一工夫 - 気まぐれ雑記(仮)
- Coreinfo - Sysinternals | Microsoft Learn
マイコン比較
開発
設計メモ
- 設計メモ by てきーらサンドム
- ユーザーインターフェイス設計メモ | Blog | Yuya Kinoshita
- 顧客インタビューの質問設計・メモの取り方・発言を深堀するテクニック……ノウハウをプロから学ぶ!:MarkeZine(マーケジン)
- 設計メモ
- 【基本設計】メモ帳のデータ整理|Dai_K
- Unityでの設計メモ - Qiita
- ATMega32u4を使う場合の設計メモ.md · GitHub
- クラス設計メモ - Cube Lilac
- NoSQLの設計メモ - Qiita
方式設計
方針設計
XAMPP
C:\xampp\php\php.ini
session.auto_start = 0
error_reporting = E_ALL
Javaの商標
- 商標 | Oracle 日本
- Javaの商標と大文字小文字 #Java - Qiita
- プログラミング言語Javaの日本における登録商標はJAVAみたいの件で改めて考察する #Java - Qiita
TkEasyGUI
PyPIからパッケージをインストールする
python -m pip install -U TkEasyGUI
guihubのリポジトリからパッケージをインストールする
pip install git+https://github.com/kujirahand/tkeasygui-python
git clone https://github.com/kujirahand/tkeasygui-python.git
- [Tkinter] Eventオブジェクトでスレッドを制御する #Python - Qiita
- Pythonで並列処理をするなら知っておくべきGILをできる限り詳しく調べてみた #Python3 - Qiita
- 【Pythonで高速化】I / Oバウンドとか並列処理とかマルチプロセスとかってなんぞや #並行処理 - Qiita
venv
- Pythonの仮想環境を使うときが来た: Debian12でsudo pip installが使えない件 #Python - Qiita
- venv: Python 仮想環境管理 #Python - Qiita
- venvで手軽にPythonの仮想環境を構築しよう #Python - Qiita
- Pythonの仮想環境venvをちゃんと理解する
- Pythonの開発環境の3つの観点をおさえよう
uv
- uv (pythonパッケージマネージャー)の使い方 詳細版
- 【Python】uvで始めるPythonプロジェクト #初心者 - Qiita
- uvだけでPythonプロジェクトを管理する
- uv の使い方|npaka
- Rust製のPythonパッケージ管理ツール「uv」を使ってみよう | gihyo.jp
- さらなる進化を遂げた「uv」の新機能 | gihyo.jp
PySimpleGUI
PySimpleGUI 5から有償となりました。無償での使用にも登録が必要です。
PySimpleGUI 4の最終バージョンをインストールする。
pip install pysimplegui==4.60.5
- PythonのTkinterを使って簡単なGUIプログラムを作ってみた #Python - Qiita
- Python/Tkinter 試行錯誤リファレンス #Python - Qiita
- 俺の考えた最強のPython自動化ツールライブラリ集 #Python - Qiita
- 【Python】簡単!PySimpleGUIの画面遷移の方法3選!
- Tkinter の使い方:PhotoImage・BitmapImageクラスで画像を扱う | だえうホームページ
- Pythonの画像処理ライブラリPillow(PIL)の使い方 | note.nkmk.me
- PySimpleGUI · PyPI
- Call reference - PySimpleGUI
- PySimpleGUI Windowエレメント(ウィジェット)の初期化引数 | なおとしブログ
- 【PySimpleGUI備忘録】Windowの機能とZオーダー・モーダルの設定方法 - Qiita
- tkinterで”too early to create image”と出てしまう - Qiita
- Tkinterを使うのであればPySimpleGUIを使ってみたらという話 - Qiita
- PySimpleGUI: Working with Multiple Windows - Mouse Vs Python
- Pythonまとめ(PySimpleGUI) | WLab
- PySimpleGUIでGUIアプリを作ってみた ~その3~ イベント処理
- Python画像処理のためのGUI入門(PySimpleGUI解説) - Qiita
- PySimpleGUI イベント処理 〜応用編〜
- Binding Tkinter "events" - PySimpleGUI Documentation
- tkinterでイベント処理を実装する | PythonでGUI作成 | InnovationCode Lab
- 1.21 ウィンドウアイコン | tkinter
- CodeSkulptor3
- CodeSkulptor Demos
- astroid
- PostedInMonth Post :: Coding Cheat Sheets
- Python画像処理のためのGUI入門(PySimpleGUI解説) - Qiita
- SimpleGUICS2Pygame · PyPI
- Pythonの画像処理ライブラリPillow(PIL)の使い方 | note.nkmk.me
- Pillow (PIL Fork) 9.5.0 documentation
- serverあれこれ: PySimpleGUIでグラフ要素を作成して画像を描画する
- PySimpleGUI - Graph Element
- PySimpleGUI - Image Element
- コラム - ゼロから歩くPythonの道 | 第26回 tkinterのcanvasをつかってみよう!|CTC教育サービス 研修/トレーニング
- 【Python/tkinter】線や円などの図形の描画 | イメージングソリューション
- 【Python/tkinter】Canvasに画像を表示する | イメージングソリューション
- Tkinterの使い方:Canvasクラスで図形を描画する | だえうホームページ
- Tkinterの使い方:Canvasクラスで描画した図形を操作する | だえうホームページ
- How to Move an Image in Tkinter canvas with Arrow Keys
- PySimpleGUIで画像処理ビューアーを作る - Qiita
- とほほのPython入門 - リスト・タプル・辞書 - とほほのWWW入門
- 【Python】listとarrayとNumPy配列の違い - 理系のための備忘録
- NumPyで使われる多次元配列のデータ構造「ndarray」とは?|CodeZine(コードジン)
- Pythonで関数を定義・呼び出し(def, return) | note.nkmk.me
- Pythonのlambda(ラムダ式、無名関数)の使い方 | note.nkmk.me
- 6. モジュール — Python 3.11.3 ドキュメント
- Pythonでランダムな小数・整数を生成するrandom, randrange, randintなど | note.nkmk.me
- random --- 擬似乱数を生成する — Python 3.11.3 ドキュメント
- 束縛について(初期化/代入/束縛)(Haskell)
組込みPython
sed
- sed (コンピュータ) - Wikipedia
- sedでマッチする複数行のうちはじめの行だけ置換する方法 - grep Tips *
- GitHub - mbuilov/sed-windows: Instructions for building sed.exe as a native windows application
ファイル共有
netコマンド
Windowsのルーティング
- Windowsのレジストリを設定してIPルーティングを有効にする(WindowsマシンをIPルーターにする):Tech TIPS - @IT
- WINDOWS端末でIPルーティングを有効にする方法(レジストリ設定編): NETWORK FREAK
アセンブラ オブジェクト指向
- Microsoft PowerPoint - プログラミング言語.pptx
- 法政大学国際文化学部
- 言語の歴史1(機械語〜構造化言語)|関数型言語とは何か?(Haskellで学ぶ)
- アセンブラを学ぶ意義 | 日経クロステック(xTECH)
- TECH_I_Vol.28 組み込みC/C++プログラミング入門 第6章 - オブジェクトやクラスをC言語で表現する
- 2.1 オブジェクト指向プログラミングの概要|組込み現場の「C++」プログラミング 明日から使える徹底入門
- オブジェクト指向に基づくアセンブリ言語プログラミング環境 | 文献情報 | J-GLOBAL 科学技術総合リンクセンター
- ダメ出し Blog
- トヨタの誤算とルネサスの苦悩マイコンシェア1位で何故か赤字
ルネサス復活の条件 | The Capital Tribune Japan- 「強み:自動車用のマイコン分野は良好。 弱み:利益率が悪い。 事業展望:現在もなお給与カット、人員削減... ルネサスエレクトロニクス Vorkers
- はてなブックマーク - アセンブリ言語のみで言語処理系を作った話 // Speaker Deck
- 高梨陣平さんのツイート: "深層学習に用いる行列の乗算の速い実装の多くはアセンブラレベルで行われている。行列乗算は1回の呼出で数百万の命令実効を伴いアクセスパターンは長期で予見可能になるが線形ではなくキャッシュが効かない。行列のサイズにより中間結果の集積とメモリリードの再利用に異なる選択が必要となる https://t.co/WuDyQvgoxZ"
メインフレーム
- 富士通の撤退する「メインフレーム」ってそもそも何?
- ASCII.jp:業界に多大な影響を与えた現存メーカー 日本の産業スパイに狙われたIBM (1/6)
- 【電子産業史】1982年:IBM産業スパイ事件 | 日経クロステック(xTECH)
- System/370 - Wikipedia
- System/360 - Wikipedia
- IBM 3090 Model 600J compared with modern desktop PC's.
- The Hercules System/370, ESA/390, and z/Architecture Emulator
- |GitHub - SDL-Hercules-390/hyperion: The SDL Hercules 4.x Hyperion version of the System/370, ESA/390, and z/Architecture Emulator
- パソコンの歴史 1989年
- MDBNCH: A molecular dynamics benchmark
- (IUCr) MDBNCH
- MDBNCH - A Molecular Dynamics Benchmark
- sci.astro.mail: Molecular dynamics benchmark data available on WWW
- Index of /~jburkardt/f77_src/mdbnch
人月の神話
- 人月の神話 - Wikipedia
- 読まれない名著「人月の神話」を本気で読み込んでみた(まとめ) - GiXo Ltd.
- 『人月の神話』新人エンジニアにオススメする技術書 | IIJ Engineers Blog
- 「人月の神話」の個人的まとめ - Qiita
- 人月の神話 | blog.tai2.net
- 人月の神話を読んでみた | フューチャー技術ブログ
- 「人月の神話」の要点 | PICO LAB
- 人月の神話|Takashi Suda / かんた
- 『人月の神話』|感想・レビュー - 読書メーター
- 「人月の神話」の個人的まとめ
『ソフトウェア開発の神話』、フレデリック・フィリップス・ブルックス、山内正弥 (訳) 、企画センター、1977年、ISBN 9784873670232
プログラミングの心理学
- プログラミングの心理学 25周年記念版: または、ハイテクノロジーの人間学 | ジェラルド・M. ワインバーグ, 泉, 木村, 靖, 久野, 博保, 角田, 律雄, 白浜 |本 | 通販 | Amazon
- プログラミングの心理学: または、ハイテクノロジーの人間学 | ジェラルド・M. ワインバーグ, Weinberg,Gerald M., 泉, 木村, 靖, 久野, 博保, 角田, 律雄, 白浜 |本 | 通販 | Amazon
技術者と技能者
- 工学系大学卒業者は皆エンジニアか ? │ Webty Staff Blog
エンジニア(技術者)/テクニシャン(技能者)/他の違い その1 | とある機械エンジニアの資格ブログ(IA)エンジニア(技術者)/テクニシャン(技能者)/他の違い その2 | とある機械エンジニアの資格ブログ(IA)エンジニア(技術者)/テクニシャン(技能者)/他の違い その3 | とある機械エンジニアの資格ブログ(IA)技術者と技能者|技術者の仕事を探そう(IA)
バーティカルバー|
高精度演算
- 高精度数の高速基数変換法とその性能
- 超高速!多倍長整数の計算手法【前編:大きな数の四則計算を圧倒的な速度で!】 - Qiita
- 超高速!多倍長整数の計算手法【後編:N! の計算から円周率 100 万桁の挑戦まで】 - Qiita
- 欅樹雑記: 多倍長整数の基数変換(2進数→10進数)
データ型モデル
階乗の計算
- [A Factorial Example - Practical Programming in Tcl & Tk, Third Edition Book]
- factorial
- Factorial in TCL - Stack Overflow
- tailcall manual page - Tcl Built-In Commands
- recursion - Can I recursively source a TCL script indefinitely? - Stack Overflow
- 【2進法にも対応】末尾に続く0の個数を求める方法 | 大学入試数学の考え方と解法
Windows
- Internet Connection Sharing (ICS)サービスを自動起動するコマンド | Windows
- 【Windows 10】 Internet Connection Sharing (ICS) サービス起動の必要性 | 個人PCの性能とセキュリティ向上
Linuxコマンド
ls
shutdown -h now
poweroff
Rocky Linux
QEMU
- QEMU
- openSUSE 13.1: 第13章 QEMU モニタを利用した仮想マシンの管理
qemuのデバイスの追加とか - はわわーっ- Windows 版 QEMU(qemu-system-x86_64.exe) で Chrome OS Flex を起動する – What I Know 〜ワッタイナ
- QEMU - ArchWiki
- [Linux] qcow2を小さくする方法 – SlackNote
- 第592回 QEMUでGPUの3Dアクセラレーションを利用する | gihyo.jp|https://gihyo.jp/admin/serial/01/ubuntu-recipe/0592
alpine_start.cmd
qemu-system-x86_64.exe ^ -display sdl -vga none -device virtio-vga,xres=640,yres=480 ^ -rtc clock=vm,base=utc -smp 2 -boot d -m 2048 ^ -nic user,ipv6=off,hostfwd=tcp::22022-:22,hostfwd=tcp::80-:80,hostfwd=tcp::6000-:6000 ^ -hda linux.qcow2
sshpass
Alpine Linux
- Raspberry pi に Alpine Linux(64ビット)をインストールする方法 - Qiita
- AlpineLinuxをRaspberryPiに簡単インストール - スイッチサイエンス 開発者ブログ
- sgerrand/alpine-pkg-glibc: A glibc compatibility layer package for Alpine Linux
- Dockerコンテナを持ち歩こう(Portable Docker) #Docker - Qiita
- 【備忘録】SSHでrootによるログインを許可する
- GitHub - uniras/Portable-Docker-for-Windows
> qemu-img create -f qcow2 linux.qcow2 20G
> qemu-system-x86_64.exe -display sdl -rtc clock=vm,base=utc -smp 2 -boot d -m 2048 -net nic,model=virtio -hda linux.qcow2 -cdrom alpine-virt-3.19.1-x86_64.iso
ssh -p22022 root@localhost
ssh-keygen -R localhost
shutdownはない
poweroff
pingはファイヤーウォールを越えられない
ssh
インストール時に聞かれるのでyesと答える
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config.d/PermitRootLoginYes rc-service sshd restart
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config rc-service sshd restart
プロキシの設定
setup-proxy http://hproxy.hokkaido-pc.ac.jp:8080 source //etc/profile.d/proxy.sh
タイムゾーン
localhost:~# setup-timezone Which timezone are you in? ('?' for list) [UTC] ? Africa/ Chile/ GB-Eire Israel Navajo US/ America/ Cuba GMT Jamaica PRC UTC Antarctica/ EET GMT+0 Japan PST8PDT Universal Arctic/ EST GMT-0 Kwajalein Pacific/ W-SU Asia/ EST5EDT GMT0 Libya Poland WET Atlantic/ Egypt Greenwich MET Portugal Zulu Australia/ Eire HST MST ROC posixrules Brazil/ Etc/ Hongkong MST7MDT ROK right/ CET Europe/ Iceland Mexico/ Singapore CST6CDT Factory Indian/ NZ Turkey Canada/ GB Iran NZ-CHAT UCT Which timezone are you in? ('?' for list) [UTC] Japan localhost:~# date Tue Apr 12 18:02:42 JST 2022
最新状態にする
apk update apk upgrade
パッケージのインストール
apk add vim apk add bash
パッケージの検索
apk search キーワード
man
apk add mandoc man-pages
useradd
adduser [OPTIONS] USER [GROUP]
- Setting up a new user - Alpine Linux
- Linuxでadduserに-gecosを指定したら何ができるか。なぜ gecosという名前なのか。 - フリーランチ食べたい
- GECOSフィールド - UnixClassWiki
Alpine Linuxの保守用コマンド
gccをインストールする
apk add build-base
tccをインストールする
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing tcc
#!/usr/bin/tcc -run #include <stdio.h> int main() { printf("Hello World\n"); return 0; }
echo 'main(){puts("hello");}' | tcc -run -
Apacheをインストールする
apk add apache2 echo 'ServerName localhost:80' > /etc/apache2/conf.d/servername.conf rc-service apache2 start rc-update add apache2
PHPをインストールする
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.16/community php8-apache2 rc-service apache2 restart
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.19/community php81-apache2 apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.21/community php82-apache2 apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.21/community php83-apache2
セッション
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.16/community php8-session rc-service apache2 restart
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.19/community php81-session apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.21/community php82-session apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.21/community php83-session
echo "session.auto_start = 1" > /etc/php8/conf.d/01_session.auto_start.ini
マルチバイト文字列
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.16/community php8-mbstring
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.19/community php81-mbstring apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.21/community php82-mbstring apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.21/community php83-mbstring
PHPのテスト
cd /var/www/localhost/htdocs echo "<?php echo phpinfo();" > index.php
- Setting Up Apache with PHP - Alpine Linux
- GitHub - codecasts/php-alpine: PHP APK Repository for Alpine Linux
PHPによるファイルのアップロード
MySQLをインストールする - 素早く簡単に使う
apk add mysql mysql-client
/etc/init.d/mariadb setup
/etc/init.d/mariadb start
mysql_secure_installation
rc-service mariadb restart
rc-update add mariadb default
sed -i "s|.*bind-address\s*=.*|bind-address=0.0.0.0|g" /etc/my.cnf.d/mariadb-server.cnf
sed -i "s|.*skip-networking.*|skip-networking|g" /etc/my.cnf.d/mariadb-server.cnf
CREATE USER 'myname'@'localhost' IDENTIFIED BY '12345678'; CREATE USER 'myname'@'%' IDENTIFIED BY '12345678';
GRANT ALL ON *.* TO 'myname'@'localhost'; GRANT ALL ON *.* TO 'myname'@'%'; FLUSH PRIVILEGES;
- MySQL Serverに外部から接続する #MySQL - Qiita
- MySQL で特定の IP アドレスからのアクセスを許可する #CentOS - Qiita
- MySQLやMariaDB,PostgreSQLが、外部から接続ができません。 | クララ | カスタマーサポート
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.16/main libssl1.1 apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.16/main libcrypto1.1 apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.16/community php8-pdo_mysql apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.16/community php8-mysqlnd apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.16/community php8-mysqli
- MySQL | ユーザーの一覧や設定された権限などユーザーに関する情報を取得する
- MySQL のテーブルの一覧を取得する - MySQL の基礎 - MySQL 入門
- MySQL | テーブルの一覧とテーブルに関する情報を取得する
pip3をインストールする
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.19/community py3-pip
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.21/community py3-pip
Pythonをインストールする
apk add python3-dev
MySQL Python
apk add --update mariadb-dev pip3 install mysqlclient
SCP
OpenCVをインストールする
pip3 install opencv-python
tcl/tkをインストールする
apk add tcl tk apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community rlwrap
Alpine Linuxのバージョンが古い時
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.16/community tcl tk
MQTT
apk add mosquitto apk add mosquitto-clients rc-update add mosquitto
echo "listener 1883" >> /etc/mosquitto/mosquitto.conf echo "allow_anonymous true" >> /etc/mosquitto/mosquitto.conf rc-service mosquitto restart
- サブスクライバー(受信)
$ mosquitto_sub -d -t test -v
- パブリッシャー(送信)
$ mosquitto_pub -d -t test -m "こんにちは"
- Python用MQTTライブラリ
$ pip install paho-mqtt
$ pip install paho-mqtt==1.6.1
- MQTTブローカ「mosquitto」をpythonで使ってみる - Qiita
- Mosquitto 2.0 に外部からアクセスする - Qiita
- GitHub - eclipse/paho.mqtt.python: paho.mqtt.python
- MQTTのQoS (Quality of Service) とは #IoT - Qiita
- MQTT QoS 0、1、2 のクイックスタート | EMQ
- MQTTのQoSとは?QoSとは何かやレベル別ユースケースを紹介 - クミコミ
- MQTT - AWS IoT Core
- QoSとは?MQTTにおける通信の種類! | さきブログ
ルーティング
route add -net 10.2.1.0 netmask 255.255.255.0 gw 10.0.2.2
ルーティングの恒久化
rc-update add staticroute
vim /etc/conf.d/staticroute
staticroute="net 10.2.1.0 netmask 255.255.255.0 gw 10.0.2.2;net 10.2.39.0 netmask 255.255.255.0 gw 10.0.2.2"
メールサーバ Postfix
apk add postfix mailx
Dovecot
BusyBox
- BusyBox
- Index of /downloads/binaries/1.31.0-defconfig-multiarch-musl
- Index of /downloads/binaries/1.28.1-defconfig-multiarch
Tiny C Compiler
C言語
Linuxプログラミング
- Linuxシステムプログラミング | Ohmsha
- シグナルの一覧 - Qiita
- c - linux application > signal > SA_RESTARTの使いどころ - スタック・オーバーフロー
- Linux シグナル入門 - 6. SIGALRM と sigaction システム・コール
- POSIXスレッドにて複数スレッドのタイミング制御をまとめて行う(セマフォと条件変数を使う場合) - 千里霧中
多倍長整数
Windows
- WindowsのmklinkコマンドとUNIXのlnコマンドは引数が逆 - C Sharpens you up
- コマンドプロンプトからexeを起動したときの戻り値(終了コード)を取得する | 猫型iPS細胞研究所
ここからは、古い内容です。
SH-4 Linux
Das U-Boot -- the Universal Boot Loader (ウーボート)
スプラッシュ画像の変更方法
音声出力
音声入力
アナログ入力
アナログ出力
Fedora 14
yumのリポジトリ設定を変更する
Fedora 14は2010年11月2日に公開されたもので今となってはかなり古くなっています。2011年12月9日にはサポートが切れており、当時のリポジトリは既にアーカイブに移されています。
http://archive.fedoraproject.org/pub/archive/fedora/linux/
そこで、設定ファイルに書かれているリポジトリのURLを書き換えます。
ディレクトリ/etc/yum.repos.dの中に設定ファイルがあります。拡張子は.repoです。
fedora.repo、fedora-updates.repo
これらのファイル中の、
「http://download.fedoraproject.org/pub/」を
「http://archives.fedoraproject.org/pub/archive/」に書き換えます。
- [unable to install packages fedora 14 closed] - Ask Fedora: Community Knowledge Base and Support Forum
Errno 14ファイルが見つからない。リポジトリの設定を見直す。
Errno 256キャッシュが壊れている
yum clean all