人生リアルタイムアタック

当面はPython学習帳

Windows 7でキーリピート速度を変更する

Amazon WorkSpaces 上で Windows 7 を使うようになったが、キーリピート速度の設定方法を忘れてしまったのでメモ。 HKEY_CURRENT_USER > Control Panel > Accessibility > Keyboard Response にて、以下を変更する。 レジストリ名 説明 個人的推奨値(単位: m…

iOS10 でロック解除するのにいちいちホームボタンを押すのがダルい時の解決方法

iOS

iOS10 からアンロックする時にデフォルトではホームボタンを押さないと解除できなくなった。 設定 > 一般 > アクセシビリティ > ホームボタン から、指を当てて開く General > Accessibility > Home Button">*1を On にすると押さなくても触れるだけで解除で…

gulp-sassで自動でSass/SCSSからcssファイルを生成したり、他にもいろいろする

gulp-sassで自動でSass/SCSSからcssファイルを生成する - 人生リアルタイムアタック の続き。完全上位互換のつもり。 前回は gulp-sass の導入だけだったので、この記事では gulp / Sass (SCSS) 周り全般について述べたい。 構成 以下のディレクトリ構成を例…

awkでdockerの<none>イメージを一括削除する

$ docker images | awk '/<none>/{print $3}' | xargs docker rmi -f</none>

MicrosoftがWindows10の半ば強制アップグレードを勧める理由

セキュリティは専門外ですが分かる範囲で 改めて見てもこれ大ピンチですよね pic.twitter.com/nGfk1Ai8gS— 向谷実 (@MinoruMukaiya) June 11, 2016 のリプライで盛り上がっている話題の簡単な回答。 駆け足で書いたので違うぞって人は指摘なり別記事書いてい…

gemをソースから自分でbuildする

ちょっと必要になったので、備忘録を兼ねて。 gemリポジトリをローカルに持ってくる gem build *.gemspec gem install *-<version>.gem</version>

CentOS6にsquidでプロキシサーバを立てる

はじめに 海外に居るため、一部国内のコンテンツが見れない。 さくらVPSに外部プロキシサーバを立てて、国内コンテンツを普通に見たい。 PC ---- ルータ ---- プロキシサーバ(さくらVPS) ---- Webサーバ インストール $ sudo yum install squid … ==========…

sedとxargsを併用して纏めてyum removeする

事の始まり OS X環境で使っていたVim設定を使いまわそうとして、cpsm.vimの為にBoost関連のパッケージをインストールしたけど、滅多にCentOS環境では使わないからやっぱりremoveしたい。 今回の削除対象のみなさん。 今日纏めて入れちゃったパッケージの方々…

英語上達の鉄板、音読パッケージ・瞬間英作文トレーニングは遠慮なくKindle版を買ってよい。

Amazon.co.jpでKindle版を購入しようとすると、CD無しバージョンといわれてウッ...っとなる。 どんどん話すための瞬間英作文トレーニング (CD BOOK)作者: 森沢洋介出版社/メーカー: ベレ出版発売日: 2006/10/25メディア: 単行本購入: 80人 クリック: 383回こ…

El CapitanのPreviewでKindle用にイイカンジにPDF圧縮する

手持ちの自炊したPDFや、PDF購入した電子書籍をKindle Paperwhiteでも読みたいのでイイカンジ圧縮したい。 しかし、Previewのファイルサイズ圧縮は低解像度過ぎる。 ということで、従来はColorSync Utilityで新しいフィルターを追加するというやり方があった…

CentOSにDockerをインストールする

この記事内容は公式の docs.docker.com ままなので、英語が読める人は公式のドキュメントに従いましょう。 Dockerのインストール 元々のyum repoは古いので、Dockerのyum repoを追加する # 一度yumの更新 $ sudo yum update # docker.repoの追加 $ sudo tee …

CentOSからNode.js / npm をアンインストールする

CentOSのrootからやたらとnpmが古いぞとメールが来るのだけれども、そもそもnvm上のNode.js / npmしか利用していないのでグローバルのNode.js / npmはアンインストールすることにした。 しかし、Node.js / npmのアンインストール方法が公式にないぞ...という…

Dein.vimにしたので折角だしこのタイミングでvimrc構成を整える

Vim

NeoBundle.vimからDein.vim移行に伴い、Vimの設定ファイル群の整理も行ったのでその記録。 設定ファイル群の構成 ざっくり以下の構成に整えました。 dotfiles/ └── .vim/ ├── colors/ // カラースキーム置き場(今回は説明しません) ├── ftplugin/ // filetyp…

Activité Pop のバッテリーは3ヶ月程度しか持たなかったよ

Withings Activité Pop を買って7ヶ月ほど経ちました。 Withings Activité Pop 歩数、運動量、睡眠のトラッキングが可能な腕時計。 公式だと20,800円だが、Amazonでは現在15,000円ほど。 【日本正規代理店品】Withings スマートウォッチ Activite Pop ( 歩数…

NERDCommenterでfiletypeごとのコメントフォーマットを変更したい

SCSSを scss-lint でチェックしてるんだけど、デフォルトで推奨されているコメントが // となっている。 しかし、NERDCommenter でコメントアウトした際には /* */ となっていて面倒なのでSCSSのデフォルトのコメント設定を変更したい。 .vimrc に以下のよう…

まだ著作権表記で消耗してるの?

年末年始対応の時期ですね。 svg画像を 著作権表示 - Wikipedia より。 企業で働くエンジニアは、あけおめ対策をはじめとした年末年始の対応準備に時間を割いていることでしょう。 その中でも、毎年恒例の著作権表記、特に年号更新の対応に追われる方が多い…

gulp-sassで自動でSass/SCSSからcssファイルを生成する

フロントエンド開発に便利なNode.js環境で、ファイル変更時に自動でSass(SCSS)からCSSファイルを生成したい。 2016-06-17 追記 上位互換記事を書きました。 gulp-sassで自動でSass/SCSSからcssファイルを生成したり、他にもいろいろする - 人生リアルタイム…

FlaskでもHamlを使う - hamlish-jinja

Flask 最近書いてるんだけれども、今更閉じタグなんて書きたくないんじゃ!ということで、様々HTML Template触った結果最も書きやすかったHamlを使いたい。 ということで hamlish-jinja を使う。 使い方の基本 Flaskのdefault template engineであるjinjaのo…

SSL証明書が正しくないサイトに対してPythonでアクセスする

HTTPSで提供しているサービスのローカル開発環境にPythonでアクセスを試みたらエラーが出た。 Traceback (most recent call last): File "/main.py", line 36, in <module> main() File "/main.py", line 18, in main soup = BeautifulSoup(opener.open(conf['login_</module>…

urllib.request.build_opener に User-agent を指定する

Pythonで要ログインのサービスをスクレイピングをする際にはbuild_openerを利用するが、User-agentも指定する必要があるケースがある。 通常のbuild_opener # coding: utf-8 import http.cookiejar import yaml from bs4 import BeautifulSoup from urllib i…

memcachedの中身を確認するならmemcached-tool

$ memcached-tool localhost dump 文字化けする場合には strings による文字列変換を行う。 $ memcached-tool localhost dump | strings

特定のディレクトリ階層以下の.DS_Storeを削除したい

Mac

$ find . -type f \( -name ".DS_Store" \) | xargs rm

Bowerを使ってフロントエンドのパッケージ管理を行う

先行きが若干不安だけど。 Bower is alive, looking for contributors · Bower blog npm はpackage.jsonがカオスになっている為開発用ライブラリのパッケージ管理のみ、BowerはBootstrapなどのフロントエンドのライブラリパッケージ管理で使い分けしている。…

2015年時点のCSSセレクタ42個ぜんぶ纏めてみた

CSS

Sassにせよcssにせよ、出来る限り限定的にCSSセレクタを指定できるといいよねってことで、W3C記載の表に基づいてCSSセレクタを纏めてみた。 なお、CSS3セレクタに関するW3Cのテクニカルレポートとして Selectors Level 3 が著名だが、 2015年時点のCSS情報を…

MySQLで詰まったプロセスを強制終了する

よく忘れるのでメモ。 show full processlist; でプロセス一覧が表示されるので、 kill <プロセスID> で削除する。

flake8 で continuation line under-indented for visual indent [E128] が出る時

flake8でコーディングチェックを行っていると、continuation line under-indented for visual indent [E128] が出る時がある。 Vim標準、もしくは jedi.vim 利用時の自動インデントに倣って入力してるつもりだが、flake8では例えば引数などは、第一引数の開…

gulpで複数サイトを同時にBrowsersyncで立ち上げる

最近開発にはめっきりBrowsersyncを利用している。 Browsersync - Time-saving synchronised browser testing 通常Webサービスを開発する場合、ユーザ画面と管理画面などと複数サービスを開発するケースが多いので、一つのだけ $ browser-sync start --confi…

Vimのテキストオブジェクトを本気出して纏めてみた

Vim

Vimでエディットするにあたり、""で囲まれた部分を''にしたいとか、囲まれた部分の内側を置換したいとか、いい加減テキストオブジェクトを使いこなしたいなと思ったので調べつつ憶えてみる。 Vimのコマンドは何らかの単語の頭文字であるケースが殆どなので、…

jQuery Validation Plugin の重複チェックバリデータを作った。

jQuery Validation Plugin で複数のセレクトボックスから項目を選択する場合に、重複チェックするバリデータを作成した。 用途としては、例えば 秘密の質問 Q1〜Q3で同じ質問を選択してないか 好きな○○で重複した項目を選択していないか 経験のある言語で重…

無駄な空行を一発で削除する

Vim

無駄な空行が多いコードから、一発で無駄な部分を消したくなった。 Pythonのflake8をはじめ、他言語のコーディング規約をみても恐らく3行以上の空白を意図的に入れる必要性が感じられないので、4つ以上 <LF> が続いた場合には消す処理で良さそうだ。 command! De</lf>…

Pythonのパッケージ管理ファイル

pip freezeを使う。virtualenv と組み合わせて使うとよい。 $ pip freeze beautifulsoup4==4.4.1 flake8==2.4.1 mecab-python3==0.7 pep8==1.5.7 pyflakes==0.8.1 PyYAML==3.11 $ pip freeze > requirements.txt # 現在インストールしているパッケージ一覧を…

jQuery Validation Plugin のエラーを Bootstrap3 の popover に出力させる。

HTML5 Form Validationのブラウザごとの実装状況が異なることから、 jQuery Validation Plugin | Form validation with jQuery をまだ現役で利用しているケースも多いはず。 先日 jQuery Validation Plugin のエラーを Bootstrap3 の popover(tooltip) に組…

Pythonで破壊的ループをする際はリスト全体のコピーをとる

Pythonで以下のような破壊的ループをしようとすると、indexのズレが発生してすべての要素に対して処理が行われないケースがある。 (この例の処理ではリスト内包表記で充分代替可能だったりするが、あくまで例として単一処理にしている。) li = [ { "id": "D0…

Pythonの引数のデフォルト値は一度しか評価されない

先日ハマったのでメモ。 結論 Pythonの引数のデフォルト値は一度しか評価されない。 def func(url, l=[]): … としたい場合には、代わりに def func(url, l=None): if l is None: l = [] … とする。 背景 GitHub APIを叩いて全てのbranch_listを取得しようと…

tmux 2.1からmouse系のオプションが変更になった。

久しぶりに tmux を再起動したらこんな警告が出るようになった。 /Users/user_name/.tmux.conf:16: unknown option: mode-mouse /Users/user_name/.tmux.conf:17: unknown option: mouse-resize-pane /Users/user_name/.tmux.conf:18: unknown option: mouse…

JavaScriptでひらがな/カタカナ変換あれこれ

CloudSearch使ってるのだけれども、トークナイズ辞書の仕様の所為かひらがなとカタカナでサジェスト時の候補返却内容が異なった。 候補のテキストフィールド自体はカタカナで、カタカナの方が意図する候補を返却していたので、JavaScriptでひらがな/カタカナ…

pyenv利用環境でのnpm installでpython2周りのエラーが出た時

~ $ npm install -g bower /Users/<user_name>/.nvm/versions/node/v4.2.1/bin/bower -> /Users/<user_name>/.nvm/versions/node/v4.2.1/lib/node_modules/bow er/bin/bower bower@1.6.5 /Users/<user_name>/.nvm/versions/node/v4.2.1/lib/node_modules/bower > bufferutil@1.2.1 install /Us</user_name></user_name></user_name>…

Vimで繰り返し文字を挿入する

Vim

繰り返し文字を挿入する Vim で ---------------------------------------- と挿入したい時には、 normalモードで 40i- と入力して Esc すると ---------------------------------------- が入る。 日本語も 40iあ などで普通に挿入できる。 繰り返し文字列…

Vimで検索した文字列をそのまま置換する

Vim

Vimで直接 :%s/<search_word>/<replace_word>/g とせず、ミス防止に一度 /<search_word> してから改めて置換をするケースが殆どなのだけれども、 一度/<search_word> または * で検索ワードをハイライトした状態で、 :%s//<replace_word>/g すると、 そのまま現在のハイライト文字列を <replace_word> に置換してくれる。 * はtype数少なくカー</replace_word></replace_word></search_word></search_word></replace_word></search_word>…

DvorakJP用のGoogle 日本語入力ローマ字テーブルをつくった

DvorakJP用のGoogle 日本語入力ローマ字テーブルをつくりました github.com El Capitanになったし、Dvorakが最近ちょっと盛り上がってたので、この際新規に作成しました。 ライブ変換は現状難しそう*1 な為、Google 日本語入力のローマ字テーブルだけの作成…

MacでのPHP環境とVimでのPHP Lint環境を整える

El Capitanになったことだし、改めてPHP環境とVimでのPHP Lint環境を整える。 前提としてHomebrewはインストール済みとする。 この記事でインストールするもの。 PHPBrew Composer PHP_CodeSniffer PHP Mess Detector Syntastic PHPBrew PHPのバージョン管理…

Googleの「スーパーマリオブラザーズ」検索結果ではじめるJavaScript

若干今更な話ですが、Googleで「スーパーマリオブラザーズ」と検索するとハテナブロックが表示されるようです。 スーパーマリオ - Google 検索 クリックすると、コインが出ます。音も出ます。 楽しいですね。オフィスで教えてもらってクリックしてたら、「10…

Pythonでトークンやユーザー名やパスワードなどの秘匿情報をYAMLに退避させる

ソースコード上に書いたままではマズい情報を退避させる手段 Pythonコード import yaml yaml_dict = yaml.load(open('secret.yaml').read()) user_name, password = yaml_dict['username'], yaml_dict['password'] yamlモジュールがなければ pip install pyy…

gitリポジトリのremote urlを追加/変更する

git

よく忘れるので。 urlの追加 git remote add origin <リポジトリURL> urlの変更 git remote set-url origin <リポジトリURL>

親にはオレオレ詐欺だけじゃなく、悪質プロバイダ勧誘電話にも気をつけた方がいいという話。

シルバーウィークに実家でマリオメーカーでもやろうと帰省したらやたらネットが切れまくり、実は今月プロバイダ変更したとのことでてんやわんやした話。 【詐欺】NTTを騙ったソフトバンク光の入れ替え工事【証拠は残さない】 - Windows 2000 Blog とか、 NTT…

Pythonのアンパック代入が便利

Pythonでは複数の変数に纏めて代入可能。 >>> x, y = 1, 2 >>> x, y (1, 2) 右辺はリストやタプルであれば良く、Pythonでタプルは , で表現されるので括弧はあってもなくても良い。 利用例1: リスト要素を纏めて受け取り >>> li = [3, 5] >>> a, b = li >>> …

Pythonで初期値を指定した上で多次元リストを作りたい時

オセロ盤面を生成する時などに、 >>> board = [[0] * 8] * 8 >>> board [[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0,…

Vimで特定のファイルタイプのみ最後の空行を消す

PythonのLintツールとしてflake8(pep8 + pyflakes)を利用しているのだが、ファイル末に空行があると W391 blank line at end of file の警告が出るので自動化したくなった。 調べてみたら以下のような知見があったので設定してみた。 qiita.com " delete_las…

gitで特定ファイルの歴史をまるっと削除する

git

githubなどへアップしているファイルで、username/password/addressなどが含まれているファイルの歴史をまるっと削除したい時に。 歴史が変わるので複数人で触っているリポジトリは何かと問題が発生します。今回は個人リポジトリ前提で。 git version 2.4.6 …

Electronで簡単なFacebookアプリを作ってみた

30分でElectronのデスクトップアプリが作れるということで試しにFacebook専用アプリを作ってみた。 参考にしたページ Quick Start 30分で出来る、JavaScript (Electron) でデスクトップアプリを作って配布するまで - Qiita ElectronでChatworkをデスクトップ…