深層学習 第1回環境設定
2020.11.21
YouTube でも紹介しています。画像をクリックすると再生できます。
深層学習第1回では、ラズベリーパイを用いた環境設定を行います。
1.ユーザーインターフェイスにWEBブラウザを利用するためのサーバー設定(非公開サービスを前提にしています)。
2.深層学習用ライブラリーのインストール
3.外付けHDD、SSDでの運用設定
■構成図

深層学習用パッケージの適合を考慮すると、Raspberry Pi 3あるいは4を使用していたほうが後々問題が少ないと思います。
ラズベリーパイには、ノートパソコンからSSHとVNC、WEBブラウザを通してアクセスします。
また、ラズベリーパイには、固定のローカルIPアドレスを割り振ります。
ハードウェア構成
◇Raspberry Pi 3 Model B

・CPU:Broadcom BCM2837
1.2GHz 64-bit quad-core ARMv8 Cortex-A53
・メモリ:1GB
・接続コネクター:USB USB2.0 Standard A コネクター x4
・有線LAN:RJ-45 x1:IEEE802.3i(10BASE-T)、IEEE802.3u(100BASE-TX)
・その他:HDMI x1(出力)/
microSDカードスロットx1 /
3.5mmジャック(オーディオ/コンポジットビデオ出力) /
Camera interface (CSI) /
Display interface (DSI) /
40ピンGPIO
・Bluetooth:BluetoothRV4.1、Bluetooth Low Energy (BLE)
・無線LAN:IEEE802.11b/g/n(2.4GHz)
・電源定格:DC 5V
・消費電流:1.3A(Typ) ※USBポート、GPIOへの出力値は含まず。
◇マイクロSDカード 32GB

SanDisk microSDHC ULTRA 32GB 80MB/s SDSQUNS-032G Class10
Raspberry Pi OS のインストール用に使用します。
◇外付けHDDまたはSSD
32GB USBメモリー USB2.0 SanDisk サンディスク Cruzer Fit 超小型設計 ブラック 海外リテール SDCZ33-032G-G35
深層学習の際には、行列演算などスワップ領域の書き換えが多発します。
短期間で、microSDカードのフラッシュメモリーの書き換え回数を超えてしまう可能性があるので、
カーネルをロードした後のシステム領域を外付けデバイス内に複写して使用します。
設定確認のためにUSBフラッシュドライブを使いますが、これはmicroSD同様フラッシュメモリーが使用されているので無意味です。
実際には、HDDやSSDを使用してください。
■Raspberry Pi OS (32-bit) with desktop インストール

image with desktop based on Debian Buster
Version:August 2020
Release date:2020-08-20
Kernel version:5.4
Size:1133 MB
https://www.raspberrypi.org/downloads/raspberry-pi-os/
◇SDカードのフォーマット
SD card formatter
◇イメージ書き込み
win32DiskImager
◇Locale
$ sudo raspi-config
4.Locatisation Options
→ I1 Change Locale
→ ja_JP.UTF-8 UTF-8
→ ja_JP.UTF-8 UTF-8
4.Locatisation Options
→ I4 Wi-fi Country
→ JP Japan
確認します
$ cat /etc/default/locale
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
LANGUAGE=ja_JP.UTF-8
◇無線LANの設定確認
$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="[ブロードバンドルーターのSID]"
psk="[パスフレーズ]"
}
ブロードバンドルータのSID、パスフレーズが設定されていない場合は、このファイルを直接編集してください。
◇ラズベリーパイのローカルIPアドレスの固定化
下記を追加します。
$ sudo vi /etc/dhcpcd.conf
interface wlan0
SSID [ブロードバンドルーターのSID]
static ip_address=192.168.11.28/24
static routers=192.168.11.1
static domain_name_servers=192.168.11.1
ここでは、ラズベリーパイのローカルIPアドレスを 192.168.11.28、ルーターのアドレスを、192.168.11.1 として説明しています。
◇パッケージの更新
$ sudo apt update
$ apt list --upgradable
$ sudo apt upgrade
◇Raspberry Pi 設定 - Interface

SSH と VNC を有効にします。
ここまで完了したら、ラズベリーパイをシャットダウン。モニター、キーボード、マウスなどを外して再起動します。
ここからは、パソコンから、TeraTermなどを用いてSSH接続して、各種パッケージのインストールを継続します。
■php インストール
利用できるパッケージのバージョンを確認します
$ apt-cache show php
Depends: php7.3
$ apt-cache show libapache2-mod-php
Depends: libapache2-mod-php7.3
インストール可能なコンポーネントを検索します
$ apt-cache search php | grep php7.3 | more
libapache2-mod-php7.3 - server-side, HTML-embedded scripting language (Apache 2 module)
php7.3-bz2 - bzip2 module for PHP
php7.3-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.3-cli - command-line interpreter for the PHP scripting language
php7.3-common - documentation, examples and common module for PHP
php7.3-curl - CURL module for PHP
php7.3-gd - GD module for PHP
php7.3-imap - IMAP module for PHP
php7.3-json - JSON module for PHP
php7.3-ldap - LDAP module for PHP
php7.3-mbstring - MBSTRING module for PHP
php7.3-mysql - MySQL module for PHP
php7.3-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
.....
$ sudo apt-get -y install libapache2-mod-php7.3 php7.3 php7.3-cgi php7.3-cli php7.3-common php7.3-curl php7.3-gd php7.3-json php7.3-ldap php7.3-mysql php7.3-mbstring php7.3-imap php7.3-xml
各自の使用目的に合ったコンポーネントをインストールしてください。
$ sudo vi /etc/php/7.3/apache2/php.ini
default_charset = "UTF-8" ← デフォルト文字コード
mbstring.language = Japanese ← デフォルトの言語
date.timezone = Asia/Tokyo ← タイムゾーンの設定
expose_php = Off ← HTTPレスポンスによるPHPバージョン非表示
log_errors = On ← エラーログをファイルに残す
error_log = /var/log/php_error.log ← エラーログの場所
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off ← エラー非表示
display_startup_errors = Off ← PHP起動時エラー非表示
session.name = PHPSESSID
session.use_trans_sid = 0
session.use_cookies = 1
■Apache 2.4 のインストール
利用できるパッケージのバージョンを確認します
$ apt-cache show apache2
Package: apache2
Version: 2.4.38-3+deb10u4
Architecture: armhf
Recommends: ssl-cert
$ apt-cache search ssl-cert
kio-ftps - an ftps KIO slave for KDE 4
ssl-cert - simple debconf wrapper for OpenSSL
ssl-cert-check - proactively handling X.509 certificate expiration
インストール可能なコンポーネントを検索します
$ apt-cache search apache | grep apache2 | more
libapache2-mod-python - Python-embedding module for Apache 2
....
$ sudo apt-get install apache2 libapache2-mod-python ssl-cert
◇サーバー情報の隠匿
$ sudo vi /etc/apache2/conf-enabled/security.conf
ServerTokens Prod #レスポンスヘッダ内のサーバ情報を隠匿する
ServerSignature Off # エラーメッセージ内のサーバ情報を隠匿する
◇ファイル名省略時のアクセスファイル指定
$ sudo vi /etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.html index.php
</IfModule>
◇エンコード指定
$ sudo vi /etc/apache2/conf-enabled/charset.conf
AddDefaultCharset UTF-8
◇MIME設定の追加
PHP言語を使うために、MIME設定を追加します
$ sudo vi /etc/apache2/mods-enabled/mime.conf
AddType application/x-httpd-php .php
◇mod_rewrite の設定
$ cat /etc/apache2/mods-available/rewrite.load
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
rewrite 機能を有効化します。
$ sudo a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
systemctl restart apache2
◇ドキュメントルート・ログファイル等の設定例
$ sudo vi /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/deeplearning/www
ErrorLog ${APACHE_LOG_DIR}/error.log
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
#CustomLog ${APACHE_LOG_DIR}/access.log combined
TransferLog "|/usr/bin/rotatelogs /var/log/apache2/access_log.%Y%m%d 86400"
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^/([0-9)]+)$ /index.php?id=$1 [L]
</IfModule>
</VirtualHost>
◇各種フォルダ作成
$ sudo mkdir /home/deeplearning
$ sudo chown pi.pi -R /home/deeplearning
$ mkdir /home/deeplearning/logs
$ mkdir /home/deeplearning/program
$ mkdir /home/deeplearning/scripts
$ mkdir /home/deeplearning/www
$ mkdir /home/deeplearning/www/images
$ mkdir /home/deeplearning/www/js
$ chmod -R 755 /home/deeplearning
$ chmod -R 777 /home/deeplearning/logs
◇ドキュメント・ルートの権限設定
$ sudo vi /etc/apache2/apache2.conf
<Directory /home/deeplearning/www/>
Options Indexes FollowSymLinks
Require all granted
</Directory>
◇.htaccess
$ vi /home/deeplearning/www/.htaccess
DirectoryIndex index.php
php_value include_path .:/home/deeplearning/program
php_flag assert.active On
php_flag assert.warning On
php_flag assert.bail On
php_flag display_errors On
$ chmod 644 /home/deeplearning/www/.htaccess
設定を確認して、Apache WEBサーバを再起動します。
$ sudo /usr/sbin/apachectl configtest
$ sudo /etc/init.d/apache2 restart
$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-11-03 11:51:31 JST; 1min 42s ago
$ vi /home/deeplearning/www/index.php
<?php phpinfo(); ?>
ブラウザから
http://192.168.11.28/index.php
◇ 不要ファイルの削除
$ sudo rm -rf /var/www
■MariaDBインストール
MariaDBの開発は、MySQLオリジナルコードの作者でMySQL ABの創設者でもあるミカエル・ウィデニウスにより、現在オラクルによって所有されているMySQLをフォークして立ち上げられたプロジェクトにより行われています。
配布ライセンスは、GNU General Public Licenseのバージョン2。
MariaDBの名は、Wideniusの2番目の娘の名前から採られている。(Wikipedia)
利用できるパッケージのバージョンの確認します
$ apt-cache show mariadb-server
Package: mariadb-server
Source: mariadb-10.3
$ apt-cache search mariadb | grep mariadb | more
.....
mariadb-client-10.3 - MariaDB database client binaries
.....
mariadb-server-10.3 - MariaDB database server binaries
MariaDBサーバとクライアントツールのインストール
$ sudo apt install mariadb-server-10.3 mariadb-client-10.3
サービスの起動確認
$ sudo service mariadb status
● mariadb.service - MariaDB 10.3.25 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-11-03 17:22:20 JST; 50s ago
---- (以下省略) ----
◇MariaDBの基本設定
$ sudo mysql_secure_installation
Enter current password for root (enter for none): ←そのままリターンします。
Set root password? [Y/n] Y
New password: YukkuriSitene
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Thanks for using MariaDB!
◇MariaDBサーバ設定確認
コンソールからMariaDBサーバに接続します。
$ sudo mysql -u root -p
Enter password: *******
MariaDB [(none)]> status
--------------
mysql Ver 15.1 Distrib 10.3.25-MariaDB, for debian-linux-gnueabihf (armv7l) using readline 5.2
Connection id: 57
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 10.3.25-MariaDB-0+deb10u1 Raspbian 10
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb4
Conn. characterset: utf8mb4
UNIX socket: /var/run/mysqld/mysqld.sock
■深層学習環境構築
◇Pythonパッケージの確認
Raspberry Pi OSをインストールした時点で、python2.7と3.7の2つのバージョンがインストールされます。
$ pip --version
pip 18.1 from /usr/lib/python2.7/dist-packages/pip (python 2.7)
$ pip3 --version
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
$ which pip
/usr/bin/pip
$ cat /usr/bin/pip
#!/usr/bin/python
.....
$ which pip3
/usr/bin/pip3
$ cat /usr/bin/pip3
#!/usr/bin/python3
.....
◇数学関数ライブラリ numpy のインストール
numpy(ナムパイ)ライブラリは、多次元配列を操作するための数学関数ライブラリです。
$ sudo pip3 install numpy
Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (1.16.2)
◇グラフ描画ライブラリ matplotlib のインストール
matplotlib(マットプロットリブ)は、NumPyのためのグラフ描画ライブラリです。
$ sudo pip3 install matplotlib
Successfully installed certifi-2020.6.20 cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.3.2 pillow-8.0.1 pyparsing-2.4.7 python-dateutil-2.8.1
◇機械学習ライブラリー scikit-learn(サイキット・ラーン)
$ sudo pip3 install scikit-learn
Successfully installed joblib-0.17.0 scikit-learn-0.23.2 scipy-1.5.4 threadpoolctl-2.1.0
SciPy パッケージも同時にインストールされます。
◇科学技術計算ライブラリー SciPy(サイパイ)
$ sudo pip3 install scipy
Requirement already satisfied: scipy in /usr/local/lib/python3.7/dist-packages (1.5.4)
Requirement already satisfied: numpy>=1.14.5 in /usr/lib/python3/dist-packages (from scipy) (1.16.2)
◇データ解析支援ライブラリー Pandas(パンダス)
$ sudo pip3 install pandas
Successfully installed pandas-1.1.4 pytz-2020.4
◇深層学習ライブラリー Keras(ケラス)
$ sudo pip3 install tensorflow
tensorboard 2.0.2 has requirement setuptools>=41.0.0, but you'll have setuptools 40.8.0 which is incompatible.
$ pip3 list | grep setuptools
setuptools 40.8.0
$ sudo pip3 install setuptools --upgrade
Successfully installed setuptools-50.3.2
$ sudo pip3 install tensorflow
$ sudo pip3 install keras
Successfully installed keras-2.4.3 pyyaml-5.3.1
参考までに
インストール先のディレクトリやファイルに「管理者しかアクセスできない」パーミッションがセットされることがあります。
その際には権限を変更します。
$ sudo chmod -R go+rX /usr/local/lib/python3.7/
$ sudo chmod -R go+rX /usr/lib/python3.7/
パッケージに含まれるファイルの場所を調べる
$ pip show -f {パッケージ名}
■スワップ領域拡張
$ free
total used free shared buff/cache available
Mem: 947028 150624 352208 4308 444196 734284
Swap: 102396 11264 91132
Raspberry Pi OS の初期状態でのスワップ領域として割り当てられているスワップファイルは、100Mバイトです。
これでは多くのメモリーを必要とする深層学習では、計算処理中に、MemoryError を起こします。
Raspberry Pi OSでは、/etc/dphys-swapfileでスワップ領域の設定を行っています。
まずは、このファイルを編集して、スワップファイルのサイズを拡張します。
$ sudo vi /etc/dphys-swapfile
#CONF_SWAPSIZE=100
CONF_SWAPSIZE=4096
サービスを起動します。
$ sudo dphys-swapfile install
want /var/swap=4096MByte, restricting to config limit: 2048MBytes, checking existing: deleting wrong size file (104857600), generating swapfile ... of 2048MBytes
2Gバイトで勘弁してねと言われたので、2Gバイトに変更します。
$ sudo vi /etc/dphys-swapfile
#CONF_SWAPSIZE=100
CONF_SWAPSIZE=2048
$ sudo dphys-swapfile install
want /var/swap=2048MByte, checking existing: keeping it
$ free
total used free shared buff/cache available
Mem: 947028 150232 336164 15196 460632 723800
Swap: 0 0 0
スワップ領域を有効にします。
$ sudo dphys-swapfile swapon
スワップファイルが2Gバイトに拡張されます。
$ free
total used free shared buff/cache available
Mem: 947028 150620 335580 15196 460828 723352
Swap: 2097148 0 2097148
■システム拡張領域の移行
深層学習の際には、行列演算などスワップ領域の書き換えが多発します。
短期間で、microSDカードのフラッシュメモリーの書き換え回数を超えてしまう可能性があるので、 カーネルをロードした後のシステム拡張領域を外付けドライブに移行します。
今回は、設定確認のためにUSBフラッシュドライブを使いますが、これはmicroSD同様フラッシュメモリーが使用されているので意味がありません。
実際には、HDDやSSDを使用してください。
USB外付けディスクを、USBスロットに挿します。
以下、表示内容は抜粋して記載しています。
$ sudo fdisk -l
Disk /dev/mmcblk0: 29.7 GiB, 31914983424 bytes, 62333952 sectors
Disk /dev/sda: 29.3 GiB, 31406948352 bytes, 61341696 sectors
(パーティションが存在しない場合)
$ sudo fdisk /dev/sda
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): [RETURN]
First sector (2048-61341695, default 2048): [RETURN]
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-61341695, default 61341695): [RETURN]
Command (m for help): p
Disk /dev/sda: 29.3 GiB, 31406948352 bytes, 61341696 sectors
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 61341695 61339648 29.3G 83 Linux
Command (m for help): q
$ sudo parted /dev/sda
(parted) p
Error: /dev/sda: unrecognised disk label
(parted) mklabel gpt ←パーティション・スタイルにGPT(GUID Partition Table)を指定
(parted) mkpart "Linux filesystem" 0% 100%
(parted) p
Number Start End Size File system Name Flags
1 1049kB 31.4GB 31.4GB Linux filesystem
(parted) q
$ sudo mkfs.ext4 /dev/sda1
◇システム拡張領域の変更
UUID,PARTUUIDを調べます
$ sudo blkid (あるいは $ ls -l /dev/disk/by-partuuid/)
/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="6284-658D" TYPE="vfat" PARTUUID="c6941854-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="3a324232-335f-4617-84c3-d4889840dc93" TYPE="ext4" PARTUUID="c6941854-02"
/dev/mmcblk0: PTUUID="c6941854" PTTYPE="dos"
/dev/sda1: UUID="383951b6-8eb7-410f-92a8-a6fe56249815" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="f9810ea1-3aae-491c-a180-e7bfb39c49e8"
拡張領域をラズパイ本体のSDカードからUSB外付けドライブに切り替えます。
$ sudo cp /boot/cmdline.txt /boot/cmdline.sd
$ sudo vi /boot/cmdline.txt
root=PARTUUID=c6941854-02
↓変更
root=PARTUUID=f9810ea1-3aae-491c-a180-e7bfb39c49e8
基本領域は本体microSDカード側のままで、拡張領域のラベルを外付けドライブ側に変更します
$ sudo cp /etc/fstab /etc/fstab.sd
$ sudo vi /etc/fstab
PARTUUID=c6941854-01 /boot vfat defaults 0 2
PARTUUID=c6941854-02 / ext4 defaults,noatime 0 1
↓変更
PARTUUID=c6941854-01 /boot vfat defaults 0 2
PARTUUID=f9810ea1-3aae-491c-a180-e7bfb39c49e8 / ext4 defaults,noatime 0 1
◇システムの複製
ラズベリーパイ本体microSDカードの拡張領域を外付けドライブにコピーします。
$ sudo mkdir -p /mnt/target
$ sudo mount /dev/sda1 /mnt/target/
$ sudo rsync -ax --exclude='/boot' --progress / /mnt/target
$ sudo umount /mnt/target
最後にシステムを再起動すると、拡張領域が外付けドライブ側に切り替わります。
$ sudo reboot
|

【深層学習関連】
【画像処理関連】

【音楽関連】

【WEBサイト構築関連】

【開発環境関連】

【SNS関連】

【周辺機器関連】

【その他】

トランジスタ技術 2021年1月号
特集: アナログ回路はノイズと闘う ~システムの性能を維持して安定な動作を実現するために~
Interface 2021年1月号
☆特集 Jetson/ラズパイ/PCで自習 Python画像処理100
☆特別付録:コンピュータ手帳2021
日経Linux 2021年 1月号
★超保存版・冊子付録 Ubuntu完全対応 Linuxコマンド逆引き大辞典 264項目
★付録DVD 特集連動2本入り「Ubuntu 20.10 日本語Remix」「Ubuntu Server20.10」
ラズパイマガジン2020年12月号
温度、距離、におい、圧力など、さまざまな種類のセンサー350種類を一挙に紹介します。特性や価格を示した一覧表を用意したので、用途に合った適切な製品を選べます。そのうちの34種類のセンサーは、仕組みから配線図まで図解で分かりやすく解説します。
15Stepで踏破 自然言語処理アプリケーション開発入門
エンジニアの実務に役立つ知識に絞り、独自に15の学習ステップを体系化しました。
数値計算にNumPy、形態素解析にMeCab、機械学習にscikit-learn、ディープラーニングに
Keras等を使い、Pythonのコードを記述し動かしていきます。
プログラミング・ビットコイン ―ゼロからビットコインをプログラムする方法
Linuxサーバーがゼロから作れる本
このLinuxを使いこなす上で一番手っ取り早いのが自分でLinuxサーバーを構築してみることです。
WindowsやMacのパソコンしか使ったことが無い人でも理解できるよう、
しくみや手順の解説を丁寧にまとめ上げた、ゼロからのサーバー入門ガイドです。
Raspberry Pi 3 Model B V1.2 (日本製) 国内正規代理店品
【仕様概要】CPU:ARM 1.2GHz 4コア、GPU:2コア 3D・動画支援、RAM:1GB、ネットワーク:LAN/Wi-Fi/Bluetooth、インターフェース:USB/HDMI/オーディオ/GPIO(UART/I2C/I2S/SPI...)。
Arduino Nano
ATmega328搭載/
動作電圧: 5V/
入力電源電圧(推奨):7~12V/
デジタル入出力ピン: 14本/
PWMチャンネル: 6本/
アナログ入力チャンネル: 8本/
直流電流(1ピン当り最大): 40 mA/
直流電流(3.3Vピン、1ピン当り最大): 50 mA/
Flashメモリ: 32 KB (ATmega328) 内2KBはブートローダーで使用/
SRAM: 2 KB (ATmega328)/
EEPROM: 1 KB (ATmega328)/
Clock Speed: 16 MHz
逆引き PIC電子工作 やりたいこと事典
機能が豊富で、速度・アナログ制御・省電力性・コストの面でもアドバンテージをもつPICマイコン。そんなPICマイコンの使い方を、目的別にやりたいことから引ける、逆引きタイプのガイドブックです。
C言語による PICプログラミング大全
2002年に初版、2009年に第2版を発売した名著『C言語によるPICプログラミング入門』
が大幅リニューアルし「大全」として生まれ変わりました。
本書では、機能豊富なPIC16F1シリーズを使いこなすために、統合開発環境を
MPLAB X IDEに、CコンパイラはMicrochip Technology社純正のXC8に、それぞれ変更しました。
C言語でPICマイコンのプログラミングを始めたい方から、最新のPICマイコンの機能をとことん使い倒したい方まで、必ず役に立つ1冊です。
PICと楽しむRaspberry Pi活用ガイドブック
「PICマイコン+Raspberry Pi3B」という組み合わせで、高機能な電子工作を簡単に実現し、電子工作を各段に高度化する方法について解説していきます。
ESP32&Arduino 電子工作 プログラミング入門
電子工作ファンに人気のマイコンArduino、そしてWiFiとBluetooth内蔵でネットワーク接続しやすいESP32。それらのマイコンでプログラムを組む際に使うのが「Arduino言語」です。
超特急Web接続!ESPマイコン・プログラム全集
IoT技術の回路とプログラムを解説しました.
トランジスタ技術2016年9月号と2017年3月号の特集に
最新の情報を加筆して一冊に仕上げました.
回路とプログラムのサンプル資料として最適です.
ラズベリー・パイやIchigoJamを連動させた例も紹介しています
M5Stack用カード型キーボードユニット
M5Stackにフル機能のQWERTY配列キーボードを実装できるユニットです。複数のボタンの組み合わせ(Sym + Key、Shift + Key、Fn + Key)や豊富なキーの値を出力することが可能です。
Ubuntu サーバー徹底構築
サーバー用UbuntuでLinuxサーバーを構築しよう!
導入からLinuxやコマンドの基本、各種サーバー構築、バックアップやストレージ管理まで!
サーバー用Linuxディストリビューションとして定評のあるUbuntu Serverの中でも、
10年長期サポート版であるUbuntu Server 18.04 LTSに対応!
[改訂第3版]Linuxコマンドポケットリファレンス
本書はLinux操作に必要なコマンドを収録したポケットリファレンスです。機能別にコマンドを分類し、各コマンドページでは書式/使用例などをコンパクトにまとめています。またアルファベット順索引も用意しており、名前しかわからなくてもすぐに目的のコマンドを探すことができます。今回の改訂では仮想化、データベース、クラウド時代に対応したネットワークコマンドなどを追加しています。おもなLinuxディストリビューションのCentOS、Fedora、Debian GNU/Linux、Ubuntuに対応し、初心者から上級者まで必携の1冊です。
できるPRO Apache Webサーバー 改訂版 Version 2.4/2.2/2.0対応
番のApache独学書を改訂しました!
CentOS、Ubuntu、Windows、Mac OS Xに対応しています。できるPROシリーズは、実際の画面や詳細なイラスト、概念図などで構成。
はじめての方でも理解しやすくなっています。
インストール、アクセス制限、CGI、モジュール拡張、ログ管理など、基本的なことから実践的なことまでていねいに解説しています。
[改訂第3版]PHPポケットリファレンス
PHPを利用したいすべての方必携の「PHPポケットリファレンス」最新版がついに登場! PHP 5/4による開発の際によく利用される機能を集約し、必要な知識を目的別、逆引きでまとめました。PHP5.3以降を対象とし、PHP4からある機能はPHP4でも利用できることがわかるようになっています。またオブジェクト指向型のAPI解説を大幅に強化。開発の現場には1冊置いておきたい書籍です。
MySQL ポケットリファレンス
MySQLはさまざまなWebサービスの中核を担うデータベースです。本書はMySQLの基礎的な内容を中心に、日常的によく使うちょっとしたコマンドや、外部管理ツールとの連携など、MySQLの管理/運用にあたって便利な情報を素早く探し出すことができます。MySQL自体の操作、MySQL特有のコマンド、MySQL専用管理ツール、PHPからの操作など、MySQLを実際に使っているユーザーに役立つ内容となっています。
Postfix詳解―MTAの理解とメールサーバの構築・運用
電子メールの配送システムの中核を担うプログラム「MTA」(Message Transfer Agent)のひとつが、「Postfix」です。 この全容を記した本です。
すところなく解説していきます。
DNSがよくわかる教科書
本書では、DNSの仕組みから、ドメイン名のルール、主なリソースレコードの内容、コマンドによる動作確認、DNSの運用ノウハウ、DNSSECの基礎知識まで、順を追ってやさしく解説します。
|