surga Lab

開発したい!!

Flutter URL指定で画像を表示する

Flutterアプリでインターネット上の画像を表示する方法です。 画像の表示 インターネットから取ってきた画像を表示するシチュエーションはよくありますが、Flutterなら簡単に対応することができます。 使う画像はもちろんいらすとやです。 URLの指定 Image.n…

Flutter アプリに内蔵されている画像を表示する

アプリ内に登録した画像(assetsに登録した画像)を表示する方法です。 画像の表示 Flutterで画像を表示するにはいくつかの方法がありますが、 今回はアプリ内にあらかじめ画像を保管した画像を表示する方法になります。 使う画像は例によっていらすとやです。…

Flutter/Dart サンプルコードのコンストラクタでは何をやっているのか

Flutterの勉強を始めると下記のようなコードをよく見ると思います。 プロジェクトを新規作成した時のサンプルコードも同じ書き方ですね。 class MyHomePage extends StatefulWidget { MyHomePage({Key key, this.title}) : super(key: key); final String ti…

Flutter ListTileでIconをタップした時だけイベントを発生させる

codelabsの「Write Your First Flutter App, part 2」ではタップをListTile全体で取得していますが、 codelabs.developers.google.com Tile全体のタップではなく、Iconのタップだけを認識するようにします。 結論 IconButtonを使う。 問題 codelabsのサンプ…

Xcodeがアップデートできなくなった時の解決策

Flutterへ入門しようと下記手順に従って設定していた時の話です。 Flutter入門しようと思ったらHigh Sierraだったのでアップデートで今日の自由時間終わった。— surga (@hisurga) 2019年5月29日 flutter.dev Xcodeがアップデートできませんでした。 環境 mac…

Cloud Firestoreでミニブログの構成を考える

GCP

NoSQLであるFirestoreでミニブログを作るときの構成を考えます。 Firestoreの組み方を勉強中ですので、自分の整理のためにも書いています。 ミニブログを考える 例として、ツイッターのようなつぶやきサービスについて考えます。 仕様 こんな感じでしょうか…

アクセスカウンタのデータベース設計

アクセスカウンタを作るときのデータベースについて考えてみます。 RDB 例えばCloud SQL/MySQLならこんな感じのテーブルでしょうか。 PVカラムをインクリメントしていけばカウントできそうです。 問題点 MySQLでは更新時にロックをかけます。 複数人が同時に…

EC2の機械学習環境が突然壊れる現象について

全く原因はわかっていませんが、何度か発生したので記します。 現象 EC2内の仮想環境(venv)で突然ライブラリ等の環境が無くなっている 経緯 AWS EC2 DeepLearning AMIの環境にssh接続していた場合、計算が終わればexitで抜けててインスタンスを止めますよね…

【DQN】強化学習でビットコインの価格予想をしてみる

学生時代にもML系について勉強していましたが、久々に1から始めてみようと思い立ちました。 しかし勉強したところで業務に利用することもないし、もちろんお金になりません。 だったら、ビットコインの価格予想で儲けることができればモチベも上がるんじゃな…

EC2インスタンスとローカルでファイルをやり取りする方法

AWSインスタンスへscpコマンドを利用してファイルを受け渡しします。 ec2のアドレスはインスタンス管理画面から"接続"を選択すれば確認できます。 ubuntuの箇所はインスタンスのOSによって変える必要があると思います。 ファイルのダウンロード scp -i 'pem…

GoogleAIYにAlexaを乗せてみる

Raspberry Pi Advent Calendar 2017 - Qiita参加記事になります。 GoogleAIYとAlexaとラズパイと 以前買ったGoogleAIY、 blog.hisurga.com 手持ちのラズパイで自由度無限大のスマートスピーカーを開発できるのは素晴らしいです。見た目もいいですし。 でもも…

Google AIY Voice Kitで私もスマートホーム時代に参入

ずっと前にGoogleがスマートスピーカー自作キット on ラズパイみたいのをMagPiの付録で発売したのですが、あまりの人気にどう頑張っても買えなかったんです。 が、ついにこの度再販ということで、わざわざヨーロッパから購入しました。 Google AIY Voice Kit…

littleBitsなR2-D2で遊びましょう

これです。 littleBits STAR WARS R2-D2 ドロイド・キット Droid Inventor Kit出版社/メーカー: littleBits発売日: 2017/09/01メディア: エレクトロニクスこの商品を含むブログを見る littleBitsで簡単に電子工作しながらR2-D2を作れる最高なキットになりま…

Web Bluetooth API + BLE Nanoでブラウザから通信してみる

ブラウザからBluetooth(BLE)が使えるで話題のWeb Bluetooth APIが少し前に正式リリースされました。 まだ発展途上感がありますが、今後に期待ができますね。 Web Bluetooth せっかく手元にBLE Nanoがあるので、今回はBLE NanoとブラウザをBluetoothで通信し…

16進数文字列をバイナリ形式に変換するpython3

こちら16進数文字列のファイルをバイナリ形式ファイルで吐き出すものになります。 バイナリデータが欲しいのに、なぜか文字列となっていたときに有意です。 import math fString = "48656c6c6f" // 文字列を16進数に num = int(fString, 16) // to_bytes // …

スマートフォンの画面を定期的にタッチしてみる

面白いものを買ったので試してみました。 www.switch-science.com これを使えばタッチしまくれます(?) 必要なもの Arduino UNO リレータッチボード 回路 非常にシンプルです。 5V流してEN端子にHIGH/LOW信号流せばいいだけです。 載せるまでもない画像。 タ…

ドメインをGoogle Domainsに移管しました

Web

一時期Googleがドメインを扱うと話題になり、 日本は対象外のおま国状態で話題になり、 多くの人が忘れているGoogle Domains 何時の間にか日本対応が完了していたようです。 Google Domains is … Googleが上位レジストラ 値段は普通?(.comは年1400円で若干…

DMM.makeに3Dプリンタの見積もりをしてみました

3Dプリンタの普及で個人でも「ものづくり」がしやすくなりましたよね。 でもさすがに3Dプリンタって5万とかするし、気楽には買えないです、、、 そこでFUSION 3Dで適当に、本当に適当に作ってみました。 モデルはこれに使えるやつ。 blog.hisurga.com 結果こ…

Webスクレイピングして野球の試合情報を取得する

とにかくベイスターズを応援したいので、Webスクレイピングで試合内容を取得してみます。 実装 python3でlxmlとrequestsを利用しました。 詳細はコメントアウトしてあるので、特筆することはないです。 スクレイピングは迷惑かけない程度に! #-*- coding: u…

Raspberry Piでモータ(ファン)を動かします

ラズパイのGPIOを利用してモータを動かします。 ピンの操作ができれば色々なことができるようになりますね。 私はこれを作る時に使いました。 blog.hisurga.com 環境 Raspberry Pi3 Python3 モータードライバー TB6643KQ: 半導体 秋月電子通商 電子…

帰って1人でもいっしょにDeNAベイスターズを応援してくれる物を作りました

仕事から帰ってビールを飲みながら野球観戦...最高ですよね? 最近ではホーム戦ならAbemaTVとかで見られるようになり、快適に野球観戦ができるようになりました。 ただしアウェイ戦は気軽に見ることができず、1人で一球速報を見るだけのつまらない物になって…

BLE通信の最長記録を狙ってみましたが結局置き手紙袋になりました

BLEといえば 省電力! ペアリングいらず! IoTに最適! とメリットだらけです。 ただし、大きな弱点として 通信可能距離が非常に短いことが挙げられます。 ほとんどは数メートル、頑張って30メートルあたりでしょうか。 ですが私は、その規格を、越えたい!! BLE…

Qiitaを始めましたので書き分けについて考えてみました

技術者が多く利用するQiita 私も始めてみました。 なぜ このブログ自体技術ブログとして開設し、今後も自分の資産として育てていきたいところではあります。 ただ自分の記事を振り返ると、 「これ詰まったところです。参考にどうぞ」といった記事がありまし…

Raspberry Pi 3をmastodon専用機にしてみました

結果から書きますと、問題なく動いています。 リモートフォローをほとんどやっていない低負荷状態なので、今後についてはわかりませんが、、、 Dockerを使わない選択 前回の記事ではDockerを利用してmastodonしようかと考えていましたが、 blog.hisurga.com …

Raspberry Pi 3とDockerでMastodonのインスタンスを立ててみました

最近話題のマストドン。楽しそうですね。 github.com Mastodon is… TwitterはTwitter社が管理していますが、 Mastodonは分散型で稼働しています。 TwitterはTwitter社が大きなサーバを用意していますが、 Mastodonはオープンソースで誰でもサーバ(インスタン…

Raspberry PiにDockerとdocker-composeを入れてみる

Docker 今まではCPUの違いから導入できなかったみたいですが、現在では公式にサポートされているようです。 また、hypriotがDocker同梱のOS(Raspbianベース?)を用意しているので、それを利用する方法もあります。 今回は標準のRaspbianへ後から導入します。 …

Raspberry Piにssh接続してみました

外部のPCなどから編集できるようにssh設定を行います。 固定IPアドレスの設定 rootに切り替えます。 sudo su - 以下ファイルを編集します。 /etc/dhcpcd.conf 最下部へ以下のように追記します。 設定はご自身のルータ設定によって変えてください。 static ip…

Raspberry Piでのスクリーンショットはscrotが便利です

ブログとかでスクリーンショットって良く撮ると思います。 ラズパイでも同様で、GUIで操作する時などスクショが欲しくなる時があります。 しかし、winやOS Xと違ってデフォルトではスクショ機能は入っていません。 Linuxで使えるスクショ用ソフトウェアはい…

Raspberry Piを始めたので初期設定とかしてみました

買いました。ラズベリーパイ。 いっしょにいろいろな物も買いました。 ラズパイを始めるのに必要な物 ラズベリーパイ 今なら3が一般的みたいです。 Raspberry Pi 3 MODEL B 【RS正規流通品】出版社/メーカー: Raspberry Pi発売日: 2016/04/28メディア: Tools…

BLE Nanoを試してみました

特別深い意味はありませんが、BLEしたくなったので買いました。 そういうのって大事だと思うんです。 これがBLE Nanoです 小さいです。 下のUSB部は書き込み用です。 上に乗っているさらにちっさいのが本体です。 こんな感じで書き込みます。 スイッチサイエ…