動かざることバグの如し

近づきたいよ 君の理想に

Ubuntuにredisをビルドしてインストールする

やりたいこと apt install redisでRedisサーバーがインストールされるが、特定のバージョンをインストールしたかった 手順 まずはダウンロード wget http://download.redis.io/redis-stable.tar.gz tar xzvf redis-stable.tar.gz cd redis-stable で、ビルド…

Ubuntuでインストール可能なバージョン一覧を表示する方法

環境 Ubuntu 18 apt install では最新のバージョンがインストールされるが、特定のバージョンをインストールしたときとか、インストール前にインストールされるバージョンを確認しておきたいとかある。そのときに使えるメモ 例えばvimをバージョン一覧を表示…

Ubuntuでディスクを完全にフォーマットする

ただのフォーマットでは消せないので、0埋めをする 戻せないので注意 方法 Ubuntuではデフォルトで shredというコマンドがインストールされている。 -v 進捗状況を表示する -n (回数) ランダム情報を書き込む回数を指定する(デフォルトは3) -z 最後に0を書…

SSHでRaspberry Piの世代を調べるコマンド

発端 Raspberry Piにはいくつかモデルがあるのだが、家にいくつかあってどれがどのバージョンがわからなくなった。 直接目視で確認できない場合でも、SSHで確認できる方法があったのでメモ コマンド cat /proc/cpuinfo | grep 'Revision' 以下が実行例 今回…

1分でRailsにSidekiqを導入するまでの手順

環境 Rails 5.x 6でも同じ 4は知らん ruby 2.x 手順 早速やっていく ここでは localのRedisサーバーにSidekiqを使う 混合しがちだが、SidekiqのWorkerは使わずRailsのActiveJobでJobを走らせる。 Gemfileに以下を追加 gem "sidekiq" gem 'redis-namespace' …

ExpressでHTTPリクエストが中断されたのを検知したい

Expressでよく使われてるreq, resの中身はなにか - 動かざることバグの如しの続き 環境 Nodejs 10 Express 4.x やりたいこと 例えば以下のようなExpressを用いたサーバーのコードがあったとする const express = require('express'); const app = express();…

Expressでよく使われてるreq, resの中身はなにか

環境 Nodejs 10 Express 4.x 結論 reqはIncomingMessage resはServerResponse で、nodejsの標準のオブジェクトで別にExpress特有のものではなさそう 経緯 よく見かけるNodejsのHTTPフレームワークことExpressのHello Worldのサンプル const express = requir…

Rubyでattr_accessorを動的に追加したい

Rubyなんもわからん 環境 Ruby 2.6 経緯 例えば以下のようなUserクラスがあったとする。ここでは検証のために attr_reader ではなく attr_accessor を使っているのでご了承 class User attr_accessor :name, :age def initialize @name = "太郎" @age = 20 e…

お前らのf.radio_buttonとf.labelは間違っている

環境 Rails 5.2 経緯 Railsで生涯費用シミュレーターというのを作っていた。 で、form_withで作ったフォームの中にラジオボタンを作りたかったのだが、これがなかなかうまくできない 先にゴールの生成されるべきHTMLを示す。 <input type="radio" value="month" checked="checked" name="cost[pay_type]" id="cost_pay_type_month"> <label for="cost_pay_type_month">月額払い</label> ラジオボタンは地味に…

GCP Cloud SQLでIP制限をなんとかする

gcp

経緯 Googleが出しているMySQLライクなDBクラウドサービスこと、Cloud SQLがあるが、IP制限が必須である。 もちろんセキュリティ的には重要なのだが、自宅のIPがしょっちゅう変わる身としては毎回設定し直さないといけないので面倒だったりする。 仕方ないな…

tensorflow js memo

atode miru https://zukucode.com/2019/08/tensorflow-vue-mnist.html

Twitterクライアント「feather」で縦長ツイートをミュートする

結論 featherの設定を開き、正規表現キーワードミュートで以下で新規作成 (.{1,3}\n){4,} 以下のようになっていればOK 経緯 featherというiOSの超便利なTwitterクライアントがいる。 feather for Twitter 有料版と無料版があって自分は有料版しか使ったこと…

UbuntuでNokogiriをインストールエラーになったときの対処法

環境 Ubuntu 18.04 Ruby 2.3 発端 わりと頻出ライブラリのNokogiriだが、 bundle install nokogiri ができない。 以下のような長いエラーが出る。結局のところ「You have to install development tools first.」と言われているが、build-essential入れてるん…

尾西食品のわかめごはん非常食を買った話

動機 この前千葉で最大2週間に及ぶ大規模停電があった。 なお続く千葉の停電 台風の余波、生活へ打撃大きく :日本経済新聞 TLの現地の状況見て、今回は台風だが他にも地震とかあったら自分もこうなるかもなぁとか考えてようやく非常食を買った。恥ずかしい…

Raspberry Piがたまに重くなるのはapt-daily.timerのせいかも

結論 もしRaspberry Piの /var/log/syslog に以下のようなログがあったら重くなってるかも Oct 5 19:03:10 raspi13 systemd[1]: apt-daily-upgrade.timer: Adding 23min 12.345204s random time. Oct 5 19:03:10 raspi13 systemd[1]: apt-daily.timer: Addin…

VSCodeでbinding.pryをサジェスト入力できるようにする

頑張って拡張機能作ろうと思ったけど基本設定でできたわ( やりたいこと RubyもといRailsのデバッグではかかせない「binding.pry」 が、入力するのも億劫なので、サジェストで一発で入力できるようにしたい やりかた VSCodeの世界ではサジェスト周りの設定を…

Nginxで拡張子の.phpを省略してもPHPが動作するように設定したい

rewriteは魔剤 使いすぎると死ぬ やりたいゴール http://hogehoge.turai.work/foo でアクセスされたときに、/foo.phpをリダイレクトなしに実行して表示したい 仕様としては以下のような感じ http://hogehoge.turai.work => /index.phpが表示される http://ho…

PHPで「Class 'UConverter' not found」エラーになる

php

久々にPHPの記事 コード探してもないと思ったら単にライブラリ不足だった 環境 PHP 5.x PHP 7.x エラー内容 PHP実行したら Fatal error: Class 'UConverter' not found in ... でエラーになる。 ソースgrepしても出てこないからおかしいなと思ったらUConvert…

install memo

rbenv # apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev libjemalloc-dev git clone git://github.com/sstephenson/rbenv.git ~/.rbenv mkdir -p ~/…

Nexus 5XにAndroid10をインストールしてみた

公式はサポートは打ち切ったが、カスタムROMだとギリギリいける Nexus 5Xのバージョン古い問題 Nexus 5Xは国内発売の最後のNexusシリーズだが、2015年発売ということもあって、悲しいことにAndroid 10は公式としてはリリースされることはない。ってか何ならA…

イキって新記法書くとESLintでエラーになる問題

ESLintでPrivate Class Field使うとエラーになる問題 Nodejs v12でようやくクラスでプライベートな変数を持つことができる。 変数が #val のように頭に#をつけるので、初見キモいなって思ったけど以下の詳しい経緯見たら納得した Private Class Field の導入…

Node.js v12でasync/awaitだけでファイルの読み書きをする

結論 正式なLTSになってるわけじゃないけど、本番投入に問題ない仕上がりにはなってる Node.js v12 でfs/promisesがexperimentalでなくなった件 Node.js10からfs Promises APIが実装された。 が、実行すると、 ExperimentalWarning: The fs/promises API is …

JupyterLabのターミナルフォントを変更する

環境 JupyterLab 1.1.3 JupyterLabのデフォルトフォントダサすぎ問題 JupyterLabの比較的新しいバージョンではnotenookとは別に専用のターミナルを立ち上げることができる。 今まではDocker内でJupyterLabを立ち上げてもdocker execするか、、とあまりイケて…

Sympyで定積分を計算する

前回の記事の続き 環境 Python 3.5 Sympy 1.4 コード from sympy import integrate, Symbol x = Symbol('x') expr = 'x**2' # 不定積分 print(integrate(expr, x)) # 定積分 (var, 下限, 上限) print(integrate(expr, (x, 2, 4))) 以下実行結果 x**3/3 56/3 …

Sympyで微分をして極値を計算してみる

Pythonだったら一発で微分できるんじゃね?っと思ったらちゃんと専用のライブラリがあった。さすがPython先輩 環境 Python 3.5 SymPy 1.4 SymPyとは SymPyとは、公式曰く SymPy is a Python library for symbolic mathematics とも言っているように数学系のP…

Railsでモデルのカラムのデフォルト値をセットする方法

データベースに記述する そもそもRails側でやらなくても、データベースにデフォルト値をセットする機能が備わっているのでそっちを使う。 マイグレーションで書くとこんな感じ create_table :posts do |t| t.string :name, default: "nanashi" t.timestamps …

RspecでRestClientをスタブする

どっちかっていうとただのRspecの書き方だが( 環境 Rails 5 やりたいこと Rubyでは、RestClientというHTTPのライブラリがある。割と有名 rest-client/rest-client: Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifyin…

FactoryBotでmethodカラムを定義するとエラーになる件

背景 Railsのテストには外せないライブラリと言っても過言ではないテストデータの生成管理用ライブラリことthoughtbot/factory_bot しかし、あるテストでいつもどおりにモデルのテストデータを書いてたらエラーになった。 FactoryBot.define do factory :hog…

RspecでRailsのRakeタスクをテストしたい人生だった

結論 テストすべきロジックはモデルとかに書くべきで、直接Rakeタスクをてすとしなきゃいけないってことは何かがおかしい が、一応メモ 環境 Rails 5.2 コード 先に全部ロードしておく RSpec.configure do |config| config.before(:suite) do Rails.applicat…

Nuxt.jsにvue2-hammerを導入する手順

環境 Nuxt.js 2.8 概要 vue2-hammerというhammer.jsを簡単にVue.js上で使えるようにできるhammer.jsのラッパーである。 が、Nuxt.jsで使うときにはVuejs単体と違って若干ハマったのでメモ インストール 兎にも角にもまずはvue2-hammerのインストールから npm…