modalsoul’s blog

これは“失敗”と呼べるかもしれないが、ぼくは“学習体験”と呼びたい

M5StickC Plus + M5Stack用指紋センサユニットで指紋認証

M5StickC PlusとFINGER UNIT(FPC1020A)の覚書 モノ M5StickC Plus M5Stack M5StickC Plus ESP32-PICOミニIoT開発ボードm5stack iotキット フィンガーコンピューターカラーLCDメディア: FINGER UNIT www.switch-science.com Groveケーブルで接続するタイプ。…

LeetCode 12. Integer to Roman

LeetCode Problem No.12. No.11 is here. modalsoul.hatenablog.com 12. Integer to Roman Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Given an integer, convert it to a roman numeral. Input is guaranteed to…

LeetCode 11. Container With Most Water

LeetCode Problem No.11. No.10 is here. modalsoul.hatenablog.com 11. Container With Most Water https://leetcode.com/problems/container-with-most-water/ Given n non-negative integers a1, a2, ..., an , where each represents a point at coordin…

LeetCode 10. Regular Expression Matching

LeetCode Problem No.10. No.9 is here. modalsoul.hatenablog.com 10. Regular Expression Matching https://leetcode.com/problems/regular-expression-matching/ Given an input string (s) and a pattern (p), implement regular expression matching wi…

LeetCode 9. Palindrome Number

LeetCode problem No.9. No.8 is here. modalsoul.hatenablog.com 9. Palindrome Number https://leetcode.com/problems/palindrome-number/ Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as…

LeetCode 8. String to Integer (atoi)

LeetCode problem No.8. No.7 is here. modalsoul.hatenablog.com 8. String to Integer (atoi) https://leetcode.com/problems/string-to-integer-atoi/ Implement atoi which converts a string to an integer. The function first discards as many white…

LeetCode 7. Reverse Integer

LeetCode problem No.7. No.6 is here. modalsoul.hatenablog.com 7. Reverse Integer https://leetcode.com/problems/reverse-integer/ Given a 32-bit signed integer, reverse digits of an integer. Example 1 Input: 123 Output: 321 Example 2 Input: …

LeetCode 6. ZigZag Conversion

LeetCode problem No.6. No.5 is here. modalsoul.hatenablog.com 6. ZigZag Conversion https://leetcode.com/problems/zigzag-conversion/ The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may wa…

LeetCode 5. Longest Palindromic Substring

LeetCode problem No.5. No.4 is here. modalsoul.hatenablog.com 5. Longest Palindromic Substring https://leetcode.com/problems/longest-palindromic-substring/ Given a string s, find the longest palindromic substring in s. You may assume that …

LeetCode 4. Median of Two Sorted Arrays

LeetCode problem No.4. No.3 is here. modalsoul.hatenablog.com 4. Median of Two Sorted Arrays https://leetcode.com/problems/median-of-two-sorted-arrays/ There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the medi…

LeetCode 3. Longest Substring Without Repeating Characters

LeetCode problem No.3. No.2 is here. modalsoul.hatenablog.com 3. Longest Substring Without Repeating Characters https://leetcode.com/problems/longest-substring-without-repeating-characters/ Given a string, find the length of the longest su…

LeetCode 2. Add Two Numbers

LeetCode 2問目 1問目はこれ modalsoul.hatenablog.com 2. Add Two Numbers https://leetcode.com/problems/add-two-numbers/ 負でない整数2つを表すリンクリストが2つ与えられる このリストは、それぞれのノードに整数の各桁が逆順に格納されている この整…

LeetCode 1. Two Sum

某入社エントリーに影響を受けてLeetCodeをはじめてみた leetcode.com 最近プライベートで書くコードがスマートホーム系のちょっとしたPythonスクリプトばかりで飽きてきたので、Scalaの手直しも兼ねてやってみる 1. Two Sum https://leetcode.com/problems/…

Luhnアルゴリズムによる誤り検出

Luhnアルゴリズムについてちょっと話題に上がったので書いてみる Luhnアルゴリズム 1 クレジットカード番号やIMEI番号の検証に使われているアルゴリズムで 任意の1桁の間違いや隣接する桁の数字の順序間違いを検出できる 09 から 90 (または逆)という間違…

Raspberry Pi Zeroで車載機をDIYしたときのアレコレとその先

これはRaspberry Pi Advent Calendar 2018の2日目の記事です。 adventar.org modalsoul.hatenablog.jp ↑の記事のなかで、Raspberry Pi Zero WHを使った車載機を作ったときのアレコレを書いてみます 使ったもの 9軸センサー modalsoul.hatenablog.com 車両の…

Raspberry Pi Zero WHで、 BLE Beaconを送信する&Bluetoothデバイス名を変更する

Raspberry Pi Zero WHは、Bluetooth4.0/BLE(Bluetooth Low Energy)が使えるので、Beaconの送信をしてみた Bluez LinuxオフィシャルなBluetoothスタックのBluezを使います Bluez-ibeaconのインストール 手っ取り早くBluez-iBeacon github.com cd /usr/local/s…

Raspberry Pi Zero WHで、みちびき対応GPS受信機キットを使い位置情報を取得する

秋月電子でGPS受信機キットを買ったので、位置情報を取得してみた1 GPS受信機キット 配線 シリアルの有効化 raspi-config /boot/cmdline.txt 動作確認 pyserialのインストール repl NMEA0183 micropyGPS repl GPS受信機キット akizukidenshi.com 小型高感度G…

Headlessモード時、ChromeDriverでファイルダウンロードに失敗した話

ChromeDriverでファイルダウンロードするSeleniumスクリプトを書いたとき、非Headlessモードでは成功するのに、Headlessモードで失敗した件のメモ tl;dr Headlessモードの場合、 target=_blankなアンカーをclick()してもファイルダウンロードできない target…

HeadlessモードのChromeDriverでファイルダウンロードに失敗する現象のトラブルシューティング

ファイルのダウンロードをするSeleniumのスクリプトを、docker上でheadlessモードのChromeDriverで動作させた際、ファイルのダウンロード処理に失敗する現象が起きたので、その対処方法のメモ書き 前準備 基本的なところは前回と同じ modalsoul.hatenablog.c…

Raspberry Pi Zero WHでリレーモジュールを使って電源制御

Raspberry Pi Zero WHで、大きい電圧(ex. 12V)で動作する機器の電源を制御するために、リレーモジュールをつなげてみた。1 リレーモジュール Raspberry Piでの使用例が多かったこのリレーモジュールをポチった SODIAL(R) リレーモジュール出版社/メーカー: S…

Raspberry Pi Zero WHでサーボモーターSG92Rを動かす

Raspberry Pi Zeroでサーボモーターを動かしてみた1 SG92R SG90の使用例が多いですが、今回はSG92Rを使用。特に理由はなし。 マイクロサーボ SG92R (1個)出版社/メーカー: 梅本合同会社メディア: おもちゃ&ホビーこの商品を含むブログを見る CleverCare マ…

Raspberry Pi Zero WHとMPU9250で、9軸センサー(ジャイロ、加速度、磁気)を取得する

9軸センサーが安かったので、ポチってRaspberry Pi Zeroと繋いでみた1 MPU9250 HiLetgo MPU9250 / 6500 9軸 9自由度1 6ビット ジャイロスコープ 加速用 磁気センサ IIC / SPI [並行輸入品]HiLetgoAmazon はんだ付け 付属のピンをはんだ付け 小手とはんだ、は…

Raspberry Pi Zero WHでGPIOを使って音声出力

Raspberry Pi Zeroにはオーディオジャックがないので、GPIOに繋いで使えそうなスピーカーを用意した ミニオーディオマグネットラズベリーPiとArduinoのスピーカー3ワット8オームJST - PH2.0インタフェースバランス接続長方形パッシブホーントランペットスピ…

Raspberry Pi Zero WHにブート/シャットダウンの物理ボタンを付けた

Raspberry Pi Zeroをポチったので、ちょっとずついじってみる Raspberry Pi Zero WH ボード&ケースセット 3ple Decker 対応-Physical Computing LabPhysical Computing LabAmazon OSはRaspbian stretch lite www.raspberrypi.org 初期設定諸々はここでは割…

国際フレンドシップ・デーで、Intellij IDEAのライセンスを50%offで買った

タイトルの通りです 前回の割引のときに買いそびれて後悔してたんで、心残りをひとつ成仏させてやれた、よかったよかった 国際フレンドシップ・デーや、なんで割引なのか?について詳しくは↓を blog.jetbrains.com ↓の紹介リンクから買うと-¥500になります…

Seleniumスクリプトをdocker上のHeadless Chromeで動かす

Seleniumを使った時間のかかるPythonスクリプトがあり、こいつを動かすとフォーカス取られて仕事にならないので、docker化し、ヘッドレス環境で実行するようにした Dockerfile ChromeDriverとSeleniumをインストール FROM python:3.6-alpine3.7 ENV APP_ROOT…

任意の桁数のゾロ目を生成する

n = 1のとき、f(n) = 1 n = 2のとき、f(n) = 11 n = 3のとき、f(n) = 111 n = kのとき、f(n) = 11...11 (k桁の1のゾロ目) となるf(n)の実装を考える 数式で表すと ぱっと思いついた再帰を使うパターン def fn(n, acc=0): return acc if(n == 0) else fn(n-1,…

Pythonicなリストのfilter処理

Pythonicにリストをfilterするにはどうするか?といい話題がでたので、ちょっと考えてみた 話のもとになったslackの投稿(とその擬似コード パターンA names = [x for x in names if x is CONDITION] ↑だとxに何が入ってくるのかがわからない パターンB name…

Pythonのnamedtupleを使ってScalaのcase class感覚でvalue objectを作る

複数の値をまとめて扱いたい時ありますよね。value object欲しいなって時 そんなとき、Scalaだとcase classを使いますね Case Classes | Scala Documentation case class Human(height:Int, weight:Int) こんな感じで、1行だけで複数の値をまとめて扱うこと…

Pythonのタプルでdestructuring bindingっぽい何か(unpacking assignment)でハマった

SQLArchemyを使ったアプリケーションで↓なコードがあった(詳細は割愛) (age,) = db_session.query(User.age).filter(User.id == input.id).one() 右辺がUser.ageをラップしたなにかなのはわかるんだけど、左辺がよくわからない これと似たようなもので、Sc…