動かざることバグの如し

3分経てば忘れそうなことをメモします

Javascriptでも変数展開したい人生だった

Javascriptで変数展開、いわゆる文字列の中に変数を記述する記法は一応ある。 方法 ダブルクォーテーションの代わりにバッククォートで文字列を囲み、その中で展開したい変数を${}で囲むだけ val = 'hello' `${val} world !` > "hello world !" 正式名称はテ…

react memo

yarn add react-router-dom react-routerはreact-router-domに内蔵されているので明示的なインストールは不要 import { BrowserRouter, Route, Link } from 'react-router-dom'; exact exactという記述がある場合、pathと一致するURLの場合のみ、コンポーネ…

Google Analytics連携したアプリケーションを解除する方法

Google Analytics連携したのはいいが、連携解除がアプリケーション側から案内がなくて困った。 ずっと連携しっぱなしというのも気味が悪いので解除するための方法をメモ 連携解除方法 以下のURLを開く https://myaccount.google.com/permissions 以下のよう…

HackerNews APIで遊ぶ

Hacker Newsは知るぞ知る投稿型ニュースサイト。 https://news.ycombinator.com/news.ycombinator.com 英語読めないマンなのでこのサイト自体は活用できてないのだが、サイトが公式でAPIを出しており、無料かつユーザー登録不要ということで、新しい言語やフ…

Flaskのビューで配列の個数を取得したい

Jinja2はFlaskに使われてるテンプレートエンジン。rubyでいうerb的なものだろうか 書きやすいけどERBとは違って若干癖があるのでメモ 単純にやると {% if len(mylist) == 0 %} > UndefinedError: 'len' is undefined って怒られる。実は{%%}の中はPythonを自…

Flaskでセッションの読み書きをする

Flaskでセッションの読み書きをやってみたメモ。 環境 Python 3.5 Flask 0.12 準備 from flask import Flask, session app = Flask(__name__) app.secret_key = 'hogehoge' @app.route('/') def index(): return 'hello' if __name__ == '__main__': app.run…

WindowsでEXT4形式のディスクをマウントする

「Ext2Fsd」というフリーソフトを使うと簡単にEXT4形式のディスクをマウントできる。 メリット 無料 EXT2,3,4のフォーマットをマウントできる 名前がext2FsdだからあたかもEXT2しかマウントできないように思えるが実際は違う ややこしい ファイルエクスプロ…

PHPで「Call to undefined function bcadd() 」エラーが起きた

php

前にセットアップしていたときに見慣れないエラーに遭遇した [Wed Nov 01 19:35:58 2017] [error] [client 192.168.1.66] PHP Fatal error: Call to undefined function bcadd() in /******.php on line 117, referer: http://192.168.1.11/index.php 結論か…

Linuxで今すぐNTPサーバーと時刻同期する方法

毎回忘れるのでメモ service ntpd stop <-- まずntpdを停止する。 ntpd -qg <-- 時刻合わせをする service ntpd start <-- ntpdを再開する。 ntpq -p <-- 一応稼働状況確認 おk、もう忘れない(フラグ

Linuxコマンドで文字列から前後の空白を除去する

やりたいこと 例えば「 hello world 」という前後と文中に半角スペースがある文字列を「hello world」にしたい 方法1 sed 置き換えの万人、sedコマンドを使う。 $echo " hello world " | sed 's/^[[:blank:]]*//' hello world が、いくらなんでも半角スペー…

ヘッドレスブラウザPuppeteerで指定時間待たせる方法

いわゆるwait()とかsleep()とかdelay()って呼ばれてるやつ。 nightmareなら確かwait()だったかな? Puppeteerくんには残念ながら今のところそういった便利関数の実装はないので自分で作る必要がある。 const puppeteer = require('puppeteer'); async functi…

MySQLの圧縮機能 COMPRESSEDを試す

環境 ubuntu server 16.04 MariaDB 10 検証に使ったデータはTwitterのサンプルストリーミングから取得したデータを使用 testdata1 未圧縮 testdata2 中身はtestdata1と同じだが圧縮済み 圧縮が使えるように設定 まずは設定を確認 MariaDB [(none)]> show var…

Linuxでディスクに負荷をかけてるプロセスを特定したい

iotopコマンドの場合 rootないしはsudoが使える場合はこれが便利 名前の通りtopのごとく使える # iotop Total DISK READ : 0.00 B/s | Total DISK WRITE : 389.38 K/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 462.63 K/s TID PRIO USER DISK READ …

Google Cloud SQLを個人利用するときの料金を試算してみた

VPS借りてその中にMySQL立ててDB運用しているが、ぶっちゃけ運用面倒なのでクラウドにぶん投げたら楽だなーと。 でGoogleのCloud SQLがピンときたので料金を詳しく見てみることにした。 MySQL 5.7互換 ディスク容量が勝手に増えていくので気にしなくていい …

railsでpumaをkillできないときの対処

環境 rails 5 症状 pkill puma しても死ななかった これで死ぬはず pkill -9 puma が死なないだと??????? 結局以下で死んだ pkill -9 -f puma puma強すぎでしょ

MySQLの「Sending data」はクライアントへのデータ転送である

MySQLでshow processlistを眺めていたときに「Sending Data」に結構時間を取られていたので調べると以下の記事が出てきた。 tsurugeek.hatenablog.jp 「データの読み込みとフィルタリング」ということだ。 「Sending data」はクライアントへのデータ転送では…

UbuntuでPHP7+Mecabのインストール

環境 Ubuntu server 16.04 nginx 流れとしてはphpインストール、mecabインストール、php-mecabのインストール、設定 PHPのインストール 恒例、レポジトリの追加 add-apt-repository ppa:ondrej/php apt-get update php-fpmのインストール。php-7.0-devをイン…

UbuntuでCPUのパワーを抑えて節電対策

環境 Ubuntu 16.04 インストール apt install cpufrequtils 確認 cpufreq-infoコマンドを使う # cpufreq-info cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009 Report errors and bugs to cpufreq@vger.kernel.org, please. analyzing CPU …

CentOSでパフォーマンス出ないときはcpuspeedを疑え

要約 cpuspeedがCPUのパワーを勝手にセーブしている 節電と温度のためにあるっぽいけど無効化しよう 経緯 CentOS 6.9 とあるサーバーがスペックいいはずなのに、思ったよりスピードが出ない。 topコマンドとかログ見ても異常はとくにないし、、と思ったらど…

トランセンドのUSBフラッシュメモリ JetFlash 790が期待を裏切る速度だった件

いや良い意味でね( 目的 GPD Pocketのリカバリ用にUSB3.0フラッシュメモリを探していたが、容量が容量なのである一定の速度が出てくれないと困る。 今回はコスパを重視したのでトランセンドのJetFlash®790を買ってみた。 ちなみにAmazonで投げ売りされてい…

PHPでエラーログの確認に使えるコード100選

php

100個もいらないので6つで 確認環境 PHP 5.6

Phalcon PHPでバージョンの確認したい

昔?はphp -iでgrepすればイケたっぽいけど今はそれだとバージョンは表示されない のでそのままPHPを実行する $ php -r "echo Phalcon\Version::get();" > 3.2.2 そもそもPhalconがインストールがされているかの確認は-mで可能 $ php -m |grep phalcon phalc…

n回繰り返し実行するコマンド

シェルスクリプトでfor構文があるのは知っていたが、コマンド上でも使えるのを知らなかった( 10回実行したい場合 seqコマンドで1〜10が生成されるのでそれをforで回してあげる $ for i in `seq 1 10`; do echo $i; done 1 2 3 4 5 6 7 8 9 10 0埋めしたい場…

Raspberry Piにaws-cliコマンドをインストール

awsコマンドを叩くためにはaws-cliというアプリケーションをインストールする必要がある。 インストール apt-get install awscli いっぱつ 他の記事だとpip経由が多いが、ぶっちゃけpythonで他にアプリケーションを書くことがなければapt経由でもいいんじゃ…

Tumblrの全記事URLをAPI+pythonで取得

たまにはPythonでやろうと思った 環境 python 3.x Tumblrのアカウント 準備 まずAPIキーが必要。ここからアプリを適当に登録して「OAuth Consumer Key」というのを控えておく。 コード import requests import sys if len(sys.argv) != 2: print('Usage: ' +…

MySQLで正しくrootユーザーのパスワードを変更する方法

Qiitaの上位に載ってるやつが適当だったので仕方ないのでMySQLの公式ドキュメントから SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypassword');

UbuntuのSquidでパスワード認証を設定する

プロキシサーバーことsquidでIP制限ではなくBASIC認証によるセキュリティ設定をする場合のメモ 環境 Ubuntu Server 16.04 14.04で若干ディレクトリ構造が変わるので注意(後述 Squid 3 パスワードを生成 htpasswd -c /etc/squid3/passwd user を実行するとパ…

運用でSSHログインをしなきゃいけないのは設計力不足らしい

こんな記事を見つけた cloudpack.media タイトル詐欺かと思ったらガチのマジでそう言っていたのでメモ この記事の概要 運用時のオペミスは怖い SSHしなきゃオペミスは発生しない SSHしなくてもいいように設計しよう! で、その設計とは「ログ収集」と「イン…

NGINX UnitでPython+Flaskを動かしてみる

つい先日、NginxがNGINX Unitと呼ばれる新しいアプリケーションをオープンソースとしてリリースした。 www.publickey1.jp これを使うと、PHP、Go、Python、さらにはJava、Node.jsのアプリケーションとNginxの連携が楽になる(らしい ということで実際にpytho…

今更だがgitをコンパイルする(CentOS,Ubuntu)

gitの脆弱性 先月あたりに発表されたgitの脆弱性が意外とクリティカル oss.sios.com というのも「悪意のあるコードを含んだレポジトリをgit cloneすると任意のコマンドが実行できてしまう」というなかなかの強者である。 ってことで急遽gitのアップデートと…