_RJ 技術メモ

人生を豊かにする技術を提供する、筋肉

Noto Serif(源ノ明朝)のCSS指定

CSS HTML font NotoSans NotoSerif はじめに 最近提供されたばかりのNoto Serif(源ノ明朝)を試してみた。 まだCDN提供されていないので、現状はfont-faceでローカルファイルを指定しなければいけない。 フォントのダウンロード https://www.google.com/get/n…

Amazonの商品を文字列検索と切り取りでスクレイピングする

PHP

Amazon スクレイピング PHP 概要 Slackで商品名を投稿するとAmazonの商品を返すBotを作るために作成。 面倒だったので、APIもXMLパースライブラリも、正規表現も使わずに文字列検索と切り取りのみでのスクレイピング。 DOMの構造が変わったらこのプログラム…

各種スクレイピングのために、レンダリング後(JavaScript実行後)のHTMLを出力するAPIを作る

api PhantomJS JavaScript GoogleAppsScript PHP はじめに スクレイピングをしようとして、いざJavaScriptやPHPやGoogle Apps ScriptでHTMLの取得をすると、JavaScript実行前のソースが取得されてしまう。Seleniumなどを使えばいいが、環境を構築したり起動…

コマンドラインでURLエンコードをする (他コマンド未使用)

URLEncode URL Terminal Bash alias はじめに たまにURLエンコードが必要な時があるときは、検索エンジンを使いエンコードしていたが、ターミナルで変換したいと思い、いざターミナルでやってみようとするとnkfというコマンドが必要になることが分かった。イ…

ターミナルから簡単にSlackに投稿するエイリアス

Slack Bash Terminal alias bashrc 実行結果 ソースコード メッセージをURLエンコードをかけ、curlにてslackに投稿する。 function param-url-encode() { local input="${1}" local output="" local i=0 for (( i=0 ; i<${#input} ; i++ )); do local o="" l…

人生の残り時間と一年の残り時間を定期的にSlackに通知する

GoogleAppsScript Slack slackbot JavaScript ライフハック プログラムについて 人生の時間を大切にする為に、来年までの残りの時間日数月数と、人生の時間日数月数年数を定期的に通知する。また意識を高めるためにタイマーを8時間に設定。 ソースコードの…

QiitaのContribution数が増えるたびにSlackに通知する

Qiita Slack slackbot GoogleAppsScript JavaScript 概要 環境はGoogle Apps Scriptを使用。 事前準備 SlackのAPIキーを取得する https://api.slack.com/custom-integrations/legacy-tokens Appを登録するとxoxp-xxxxxxxxxxxxxxxxxxxxのようなコードが発行さ…

tarコマンドが覚えられないので、簡単に指定できるエイリアス(圧縮のみ)

Bash alias Linux Terminal Mac 概要 圧縮しようとするたびに感じるのが、tarコマンドを覚えようとしても引数が多かったり、拡張子と引数が頭の中でリンクしなかったりなど、覚えるのには少しハードルが高いと感じる。zipコマンドのようにzip fileのように指…

簡易的にWebサーバーを監視して、停止時にSlackに投稿する

GoogleAppsScript Slack httpd slackbot JavaScript 概要 Webサーバーが落ちていないかを簡易的に監視するツールをGASで作成。 Dockerのコンテナで複数サーバーを運用しているが、別コンテナでSeleniumを動かしていたため、最近の話だがメモリ不足でサーバー…

Amazonのコンビニ受け取りメールの受け取り番号をSlackで通知する

GoogleAppsScript gmail JavaScript Slack 概要 Slack投稿は外部ライブラリのSlackAppを使用 コンビニ受け取りを多く使用するかつ、Gmailを開くのが面倒だったから作成 ソースコード 未読のAmazonのコンビニ受け取りメールの受け取り番号をSlackで通知する。…

cd(Change Directory)をaliasで省略する

Bash alias Linux Mac Dvorak ホームポジションから考えると、 左手人差し指のfをcdとして使う。 $ alias f='cd' $ f /var/www 左人差指(F)→親指(Space)…→小指(Enter) で移動できる。 打鍵後のスペースの手間も省くなら、 スペースの真上のvをcdとして使う。…

改行するたびにターミナルが応援する

PS1="今日も頑張ってね❤️ $"

ターミナルのホスト名を消して時刻とディレクトリを表示

Bash bashrc bash_profile Terminal ~/.bash_profileなどに記述する。 コマンド $ PS1="\t \w $" オプション u: ホスト名 h: ユーザー名 t: 時刻 w: 現在のディレクトリのフルパス W: 現在のディレクトリ

Chrome拡張でGoogleのサイト翻訳の原文と翻訳を同時表示したい(失敗)

Chrome chrome-extension google translation JavaScript 経緯 Googleのサイトの翻訳で原文と翻訳後の文章を同時表示すれば、英語学習とか原文を確認する手間が省けるのでは思い、Chromeの拡張機能を作ってみて同時表示を試してみたが、翻訳後の文章はiframe…

クイックファイルバックアップコマンド

Bash bashrc bash_profile command Terminal バックアップを取りたい場合には、 $ cp 対象のファイル名 対象のファイル名~ などなど使ってバックアップを行う思いますが、 cpコマンドには、Backup指定ができ、 $ cp -b 対象のファイル名 または $ cp -backup…

Gmailをキーボードのみで操作する

gmail shortcut tool Vim ショートカット 最低限キーボードのみでGmailを操作するためのショートカット一覧。慣れればマウス操作がほぼ必要なくなる。自分なりの覚え方も記載。 ショートカットの有効化 歯車のアイコン→設定→全般→キーボードショートカット …

コマンドラインでGoogle翻訳をする

Bash Terminal alias bashrc google 自分だけかもしれませんが、翻訳したいときは、 テスト 翻訳 →test test 翻訳 →テスト のようにGoogleで検索するパターンが多いです。 これをいつものコマンド操作でできたらと思い以下を行いました。 Google翻訳のコマン…

Angular2 npm start(Browser Sync)のポートの変更

Angular2 AngularJS BrowserSync port npm Angular2のBrowser Syncのデフォルトのポート(3000)が、他のAngularプロジェクトと被ってしまうためポートを変更。 設定ファイルの作成 ルートにbs-config.jsonを作成する。 ポート7000をプレビュー用に、ポート700…

Git ブランチ操作をディレクトリ操作のように使いたいときのエイリアス

Git alias Bash .bashrc .bash_profile 普段のGitを使ったプロジェクトではブランチを修正単位で切り分けているため、1日に数十個のブランチを作成します。ブランチの操作が多く打鍵が面倒なので、ディレクトリ操作のコマンドようなエイリアスを割り当ててい…

PHP 拡張モジュール(extension)の追加

PHP extension PHP7 拡張モジュールpcntlを導入 php 7.1.0の環境で実行 extensionの確認 $ php -i | grep pcntl PHPソースの取得 $ php -v PHP 7.1.0 (cli) (built: Dec 7 2016 15:44:36) ( NTS ) $ wget http://php.net/distributions/php-7.1.0.tar.xz ext…

遅いComposerのリポジトリを変更して早くする

Composer PHP repository laravel Bash Laravelのプロジェクト作成でComposerが劇遅なので、 海外に向いているリポジトリを、日本の個人の方が運用をおこなっているリポジトリに向ける。 リポジトリの追加 少し古い記事だと、非SSLのリポジトリのため、イン…

コマンドでLAN内の接続デバイスを調べる

Bash LAN Network Mac Debian 概要 MacのLanScanなどでも同様のことができるが、 arp-scanを使ってコマンドラインで、LAN内の接続デバイスやIPやMACアドレスなどの情報を調べる。 arp-scan インストール brew install arp-scan sudo arp-scan -l apt-get ins…

共有フォルダのマウント

Linux samba mount bashrc Bash 概要 sambaなどの共有フォルダをマウントする。 コマンド #sudo mount -t cifs -o username=ユーザー名,password=パスワード //IPアドレス/ディレクトリ名 マウント先 mkdir ~/Servers/Projects sudo mount -t cifs -o userna…

ルータ越えできない環境のRaspberry Piを外部から接続できるようにする

Linux RaspberryPi SSH VNC TeamViewer TeamViewer Host Raspberry PiにSSHやVNCで、外部から接続を行いたかったのだが、 ルーター越えできない環境であったため方法を探し、 TeamViewerのRaspberry Pi版がいつのまにかリリースしていたので使用。 導入 環境…

Docker とりあえず使うための基本コマンド一覧

docker Linux Mac MacOSX イメージ イメージの検索 sudo docker search {OS NAME} $ sudo docker search centos INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/centos The official build of CentOS. 2867 [OK] docker.io docker.io…

Quick LookでMarkdownをプレビュー

Markdown brew Mac QLMarkdown MacのQuick Lookで.mdファイルをプレビューできる。 Markdownのプレビューのみをしたい場面が多かったため。 インストール brew tap phinze/homebrew-cask brew cask install qlmarkdown 操作方法 マウスジェスチャで拡大、縮…

Angularjs ストレージ操作を簡単にする

AngularJS JavaScript ngStorage 面倒なストレージ操作を簡単にできる ローカルストレージとセッションストレージでほぼ使い方が同じ 使い方 モジュール読み込み var app = angular.module('myApp', ['ngStorage']) コントローラー読み込み app.controller('…

ターミナルのタブ操作

tmux Terminal 使用するコマンド screenではなくtmuxを使用 (開発が活発なため) インストール brew install tmux 基本ウィンドウ操作 C-b -> c ctrl+bを押したあと、cを押す 1.tmux起動 tmux 2.新規ウィンドウ (create) C-b -> c 3.ウィンドウ一覧 (window) …

Google Slides APIを試す

googleapi googleSlidesAPI 1. アクセストークンの取得 ↓以下の記事を参照 http://qiita.com/_RJ/items/186f5e9c6d7610a39d01 認証コードの取得のscopeには、 https://www.googleapis.com/auth/drive%20https://www.googleapis.com/auth/drive.readonly%20ht…

とりあえずGoogle API Acccess Tokenを取得する

googleapi curl 1. client_id、client_secretの取得 https://console.developers.google.com/flows/enableapi?apiid=geocoding_backend&keyType=SERVER_SIDE&reusekey=true&hl=ja にアクセス プロジェクトの作成 認証情報を作成 クライアントIDの作成 承認済…