サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
corgi-lab.com
昨今、様々なデバイスでLinuxが動くようになっている中、組み込みLinuxのデファクトスタンダードとなりつつあるのが「Yocto」と呼ばれるビルドシステムです。 組み込みの現場ではその名前を聞くことが増えましたが、まだまだ日本ではドキュメントも乏しくイマイチ掴み所がありません。そこで、まずは使ってみようということでRaspberry Pi4のイメージをビルドしてみることにしました。 Yoctoとは? まず、Yoctoって何?というお話しですが、簡単に言うと「オリジナルのディストリビューションを作れる仕組み」です。カーネルからユーザーランドに至るまで、Linux全体をカスタマイズしてビルドすることができます。 以下はYoctoの公式サイトから引用したワークフローの図です。 Build System(背景が水色のブロック)がYocto内部で実行される処理フローを表しています。ソースの取得→パ
チーム開発をしていくうえで、課題の1つになるのが情報共有です。チームの歴史が長いと経験値は溜まっていきますが、それらが情報として整理されていないとメンバー交代時などに大きなコストが発生します。 そこで、イントラ向けのナレッジベース(Wiki)を探していたところ、Growiという良さげなOSSを見つけたので、お試し環境を立ち上げてみることにしました。手元の環境はUbuntu18.04ですが、Linuxであれば大体同じような手順になると思います。 Dockerのインストール今回はテスト環境なので、お手軽に環境を作ったり壊したりできるDockerを使います。こういうときにコンテナ技術のありがたみを感じます。 まずはDocker本体とDocker-Composeのインストールです。
今年のアップデートにより、ついに旧型となってしまったMac mini(2012年モデル)。私の自宅にも箱に収められたままひっそりと眠るMac miniがありました。 約6年前のモデルと言うことで、最近のマシンから見ればスペック的に見劣りするPCになってしまいましたが、Linux機として運用するならまだまだ輝けるはず! ということで、今回はMac miniをUbuntu専用マシンとして復活させてみたので、その備忘録です。 用意するもの用意するものは以下の通りです。インストールDVDは事前にUbuntuのイメージをダウンロードして焼いておきましょう。インストール中は有線機器しか使えないので、純正のキーボードやトラックパッドとは別に、マウスやキーボードを用意する必要があります。 Ubuntu18.04のインストールDVD外付けDVDドライブ有線マウス有線キーボード有線LAN環境Ubuntuのイン
ソフトウェア開発には、その考え方や特徴によって「○○開発」と名前が付いている開発プロセスがいくつかありますが、今回はビヘイビア駆動開発(BDD)というものに触れる機会があったので、その覚え書きです。 ビヘイビア駆動開発とは?ビヘイビア駆動開発(以下、BDD)とは、ソフトウェアの「振る舞い」に注目した手法です。あらかじめ、開発したいソフトウェアの仕様を「振る舞い」として定義しておき、それを満たすコードを実装するというやり方を取ります。 事前にテストコードを作成する形になるので、テストファーストの開発手法の1つです。 SpecflowでBDDに触れてみる一般的なテスト駆動開発と違い、BDDは自然言語に近い構文でテストを記述していくことが特徴的です。これを実現するためのフレームワークとして、今回はSpecflowというツールを使ってみます。 SpecflowはCucumberというBDDフレーム
今回はVisualStudioで外部ライブラリを使う方法の備忘録です。記事の中ではVisualStudio2017を使用していますが、基本的にはどのバージョンでも同じような感じになると思います。 なお、今回紹介する方法は私が普段している方法なので、これしか方法がないわけではありません。 Step1:ライブラリの置き場を作る外部ライブラリはプロジェクト中でもなるべく他のファイルと分離して管理する方が楽です。そこで、プロジェクトフォルダ中に下図の構成で赤文字になっているフォルダを新規作成します。(図はTestというプロジェクトを作った場合の構成例) 構成中、binとlib下にそれぞれ「Debug」と「Release」の2種類を作っているのは、ライブラリ自体もデバッグ用とリリース用に分けて管理するためです。 Step2:各ライブラリ/ヘッダをコピーする次に、使用するライブラリやヘッダファイルをS
main.o: file format elf64-x86-64 Disassembly of section .text: 0000000000000000 <main>: int main(void) { 0: 55 push %rbp 1: 48 89 e5 mov %rsp,%rbp int a = 1; 4: c7 45 f4 01 00 00 00 movl $0x1,-0xc(%rbp) int b = 2; b: c7 45 f8 02 00 00 00 movl $0x2,-0x8(%rbp) int c = a + b; 12: 8b 55 f4 mov -0xc(%rbp),%edx 15: 8b 45 f8 mov -0x8(%rbp),%eax 18: 01 d0 add %edx,%eax 1a: 89 45 fc mov %eax,-0x4(%rbp) ret
先日購入したRaspberryPi3と小型ディスプレイですが、いざ使ってみるとデフォルトの状態では文字が小さすぎて、何が何だかわかりません。 ラズパイとディスプレイはHDMIで接続されているので、HDMI設定をいじれば見やすくできるはずと思い、試してみることにしました。 出力の解像度を設定するまず、ラズパイが出力する映像の解像度を変更します。解像度の変更は起動時に読み込まれるconfig.txtの中身をいじればOKです。 今回の修正で関係する項目は、フレームバッファのサイズとHDMIの動作モードです。デフォルトではすべてコメントアウトされていましたが、設定としてはVGAで動いているようです。 # uncomment to force a console size. By default it will be display's size minus # overscan. #framebu
私はエックスサーバーというレンタルサーバーを契約しています。実はこのブログもその上で動いているのですが、こんな弱小ブログではサーバーのスペックを生かし切れるはずもなく、かなり持て余し気味になっています。特にサーバー容量に関しては200GBの内300MB程度しか使っていません(´・ω・) そこで、今回はサーバーをフル活用するために自分専用のクラウドストレージを立ち上げてみることにしました。 owncloudを導入してみる今回はクラウドストレージとしてowncloudを使ってみます。以降、エックスサーバー上でowncloudを立ち上げた手順をまとめておきます。 MySQLデータベースの用意まず、エックスサーバー上にonwcloud用のデータベースを用意します。サーバーパネルのMySQL設定から追加可能です。このとき、新しいデータベース用のMySQLユーザーも用意しておきます。 インストールスク
CentOS7を新規インストール時、不要なパッケージを入れたくなかったので「Minimal ISO」のイメージを使ったところ、当然ながらGUI環境までも入らなくなってしまいました。 特に問題ないと言えばないですが、GUI環境はあったほうが何かと便利なので追加でインストールしたときの備忘録です。 GUI環境のインストールまずはGUI環境を以下のコマンドでインストール。「groupinstall」を使えば、関連するパッケージ群を1つのグループとしてまとめてインストールできます。
お仕事でチーム内の人が書いたコードやオープンソースのコードなど、ある程度のボリュームがあるコードを読むときはサクサクと関数の定義に飛べたりすると便利です。 そこで、ctagsというツールを使えば、vimでもサクサクとコードが読めちゃうかもということで試してみました。 ctagsのインストールctagsが入っていなければ、CentOS7では以下のコマンドでインストールできます。
RaspberryPi3で音声入出力を動かしたかったのですが、まともに動くようになるまで意外と苦労したので、その備忘録です。 今回は音声の出力/入力それぞれ以下の構成で動かせるようにします。 音声出力:アナログ出力(ミニジャック)経由でスピーカーに接続音声入力:USBマイクロフォンを接続 音声入力の設定まずは音声入力の設定をしていきます。今回はUSBマイクロフォンを使うので、「lsusb」コマンドでUSBデバイスとして認識されているかを確認します。 lsusb Bus 001 Device 004: ID 0d8c:0134 C-Media Electronics, Inc. Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Dev
Mac上にPythonの開発環境を整えてみたので、その備忘録です。ひとまず、MacにPython3系をインストールしてJupyter Notebookで作業できるようにすることを目標にします。 今回はQiitaの以下のページを参考にさせていただきました。先人の方々に感謝です。 ■参考ページ Macにpythonとanacondaの環境を構築してみる(pyenv,condaにて) Condaで作ってる仮想環境の切り替えをJupyter上で簡単に行う方法 pyenvのインストールやり方は色々とあるようですが、今回はpyenvを使います。Macには元々Python2系が入っているので、今回追加するPython3系と共存させるには、こうしたパッケージマネージャを使うと便利です。 pyenv本体はHomebrewでインストールして、しかるべきところにパスを通してあげればOKです。 # pyenvのイ
プログラムのループ中でファイルに何かしらのデータを書き込むとき、そのたびにwriteをしていたのではディスクへのI/Oが頻発してしまい、パフォーマンスに影響することがあります。 「C言語だとそんなときはmmapを使うと良い」という話を聞いたのですが、そのときの私は「mmap?なにそれ(´・ω・)」という状態だったので、ちょっと調べて使ってみることにしました。 mmapとは?そもそもmmapって何?ということですが、私の浅い理解では「ファイルをメモリ上にマッピングして、そのメモリ上を読み書きすれば良い状態にする」という理解に落ち着きました。確かにこれならディスクへのI/Oを減らすことに利用できそうです。 mmapを使ったreadまずはファイルのreadを試してみます。読み出すファイルとして適当に以下のテキストファイルを作成。
Corgi Lab. ~Android開発メモ~ Androidのアプリ開発に関する話題がメインのブログです.たまに全く関係ないこともつぶやいております. 「Android Studio」でHello World 前回は「Android Studio」のインストールまでを解説しました.(記事はこちら) 今回はいよいよ「Hello World」アプリを作って起動するところまでご紹介します. プロジェクトの作成 プロジェクトを作成するためには,スタート画面の「New Project」を選択します. このとき,SDKのバージョンが古いというエラーが出ることがありますが, 設定で利用するSDKを選択する必要があるようです. この問題の解決策については,このページがとても参考になりました. 次にプロジェクトの設定を行います. まずはプロジェクトの名前や対応APIの設定などを行います. 特別にこだ
このページを最初にブックマークしてみませんか?
『Corgi Lab. ~備忘録のための技術ブログ~』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く