タグ

ブックマーク / masutaka.net (18)

  • 縦置きスタンドを買って、ノートパソコンを床に置いちゃう問題を解消した

    ここ1年はずっと家で仕事しているので、ノートパソコンは会社用と合わせて2台あります。最近 ASUS の Vivobook も買ったので、一時的に3台あります。そうなってくると地味に困るのが、使ってないパソコンの置き場所です。 今までこういうダメな置き方をしていました。気をつけてはいますが、椅子が当たるかもしれませんし、パタンと倒れるかもしれません。 そこで、こんな縦置きスタンドを買いました。¥2,650 というお値段以外はとても満足しています。 ノートパソコン スタンド PCスタンド 縦置き 3台収納 ホルダー幅調整可能 アルミ合金素材 Geecol Vertical Laptop Double Stand for MacBook Pro Air Mini Clamshell Mode & All Notepc amazon.co.jp 使ってみた図です。奥が 15.6inch の Viv

  • 何年も続いている私の Emacs パッケージ管理方法

    こちらの記事の私なりのアンサー記事になります。 Emacs のパッケージを少しずつアップデートした: 麦汁三昧 そもそも lock が Emacs のパッケージシステムと相性が良くはないのでちょっと考え直したいところはある el-get は昔試したことはありますが、なにか合わなくて止めました。 今は素の package.el に落ち着いてます。 インストールするパッケージは init.el で管理。 起動時にインストールされてなければインストールされるけど、それよりむしろインストールしたパッケージの把握のためにベタ書きしている。 アップデートが溜まってきたらゴリッとアップデートする。 バックアップを取って、 $ cd ~/.emacs.d $ tar czf ~/.Trash/elpa-$(date '+%Y%m%d%H%M%S').tar.gz elpa M-x list-package

  • スレッドセーフでない Dir.chdir の使用を RuboCop で禁止する / マスタカの ChangeLog メモ

    週刊Railsウォッチ(20200225前編)RubyのShellwordsライブラリは知っておくべき、VCRはやはり有能、copを自作、Hix on Rails記事ほか|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社 RuboCopコードレビュー支援: Net::HTTPを使わせないcop(Hacklines より) そういえば以前業務で似たことをやったので、メモがてら置いておきます。 Dir.chdir はスレッドセーフではない# Sidekiq で Dir.chdir を使ったら、他のジョブと干渉してハマりました。 Feature #9785: Feature Proposal: Dir.chdir Thread Safety - Ruby master - Ruby Issue Tracking System ↑ こちらの Issue を見つ

  • 『AWSの薄い本 IAMのマニアックな話』を読んだ

    【ダウンロード版】AWSの薄い IAMのマニアックな話 - 佐々木拓郎のオンライン屋 - BOOTH 少し前に Twitter で流れてきて買ったのかな。最近 AWS 等の権限まわりに課題を感じることが増えてきたので読んだ。デザインパターンやセキュリティ、運用方法など、参考になることが多くて、読んで良かった。 開発者用の IAM User の権限はやっぱり難しいみたいで、ああなるほどと思ってみたり。 仕事では開発用の共通 IAM User development を作って、.envrc 経由で使っているんだけど、さすがにドンピシャの解はなかった。 当は開発者ごとの開発用 IAM User(例: masutaka-devel)を作って、共通 IAM User は使わないほうが良いのだろうなあ。開発者ごとの通常 IAM User(例: masutaka)は作っているんだけど。 Cloud

  • 『改訂2版 みんなのGo言語』を読んだ

    夏休みを利用して読みました。初版は [2016-09-25-1] でじっくり読んで手も動かしたので、当にさらっとね。 最近は Go のコードをほとんど書いてなくて、Go Modules に追いついている程度でした。ただ、それほど分からない情報もなかったので、ある意味答え合わせにはなった気がします。 例えば拙作の github-nippou で go-bindata から statik に乗り換えた のは、誤りでなかったなとか(P41)。 ちょうど設定ファイルのフォーマットをどうしようとか、置き場所を XDG Base Directory Specification に合わせようとか考えていたので、「2.8 設定ファイルの取り扱い(P45)」もタイムリーでした。 読んでて Interface 使ってコードを Testable にするだとか、HTTP Mock とか、課題をいろいろ思い出しま

  • 『Pragmatic Terraform on AWS』を読んだ

    【ダウンロード版】Pragmatic Terraform on AWS - KOS-MOS - BOOTH これも職場の同僚氏がオススメしていた。 普段から Terraform の設計に課題を感じていたので、ざーっと斜め読みして、第17章からしっかり読んだ。 その中での設計のやり方が モノリス → モジュールの利用 → 環境(ステージ)の分離 → コンポーネント分離 と段階を踏んでおりとても良いと思った。そう、これなんですよ。最初は main.tf だけで十分。 Terraform の設計はアプリケーション設計とよく似ており、初めから抽象化すると難しくなると思う。 基は宣言的に書いていき、設定ファイルのような読めるコードにする。3回くらい重複し始めたくらいで、変数やモジュールに落とし込むのが良いはず。 17.4.1 の “安定度の高いコンポーネントは、変動を想定したコンポーネントに依存

  • Heroku の Slug は友達 / マスタカの ChangeLog メモ

    この記事は heroku Advent Calendar 2018 の 21 日目の記事です。 20 日目は @pukka さんの『【Heroku検討者向け】デプロイ方法5選! 』でした。(4)マニフェストでの heroku.yml の使い方は初めて知りました。デプロイした ところ、heroku18 Stack の Docker Image が使われているようでした。Slug を作る従来の非 Docker デプロイも Docker に寄せられていくのかな? 今日はそんな Slug に注目した記事をお届けします。 Slug とは# みなさん、Heroku の Slug はご存知でしょうか? ダッシュボードの Settings タブからサイズを確認できます。 でもこれしか情報がないのですよね。恥ずかしがり屋さんかな? Slug Compiler のドキュメントによると、 Slugs are c

    Heroku の Slug は友達 / マスタカの ChangeLog メモ
  • 先週 GA になった、heroku.yml を使った Docker Deploy を試した

    先週 Building Docker Images with heroku.yml が GA になってました。 Building Docker Images with heroku.yml Is Generally Available heroku.yml は使ったことがなく、最近 RedashDocker on Heroku で 立て、モチベーションが上がっているので、早速試してみました。 今までの方法と比較しながら、気づいたことを中心にまとめていきます。 Container Registry & Runtime (Docker Deploys) 今まで HerokuDocker を使うときは、このようにデプロイしていました。 $ heroku container:push web # (1) $ heroku container:release web # (2) (1)

  • Ruby で FTPS 接続する方法

    混乱しやすいが、SFTP は SSH を使って暗号化・認証を行うプロトコルで FTPS とは別。 ・HTTP のセキュア版が HTTPS ・FTP のセキュア版が FTPS と覚えると良いだろう。 サンプルコード# FTP の SaaS である BrickFTP にアカウントを作った。 Net::FTP で接続可能。以下は FTPS 接続し、PWD を発行する Ruby コー ド。password はマスクしている。 #!/usr/bin/env ruby require 'net/ftp' ftps = Net::FTP.new( 'masutaka.brickftp.com', ssl: true, username: '[email protected]', password: '********', debug_mode: true, ) puts ftps.pwd 結果。 con

  • 『Goならわかるシステムプログラミング』を読んだ

    11 月から『Real World HTTP』[2017-11-28-1] と同時に読んでいたのに、 読み終わったのが今日になってしまった。意外とボリュームあったのと、 あと少しで読み終えられたのに油断して読み進めなかったせい。 書のもとになった ASCII.jp のウェブ連載では、この書籍(※)の内容 とかぶらないように、実用性よりも低レベルの説明にフォーカスしたとい うのが実態です。 ※『Real World HTTP』 P332 にこう書かれているように、『Real World HTTP』と一部内容が被る ものの、低レイヤの話が大部分を占める。 一応私は組み込みエンジニア時代に open(3), ioctl(3), close(3) 等を 使ったデバイスドライバを書いたことがあるので(VxWorks だけど)、 ある程度想像力を働かせて読むことが出来た。 先の引用に書かれているとお

  • ZenHub と GitHub の Issue/PR URL をトグルするブックマークレットを作った

    Using ZenHub on web and mobile devices 先日 ZenHub の Web app 版 https://app.zenhub.com がリリースされま した。機能はほとんど同じですが、例えば milestone を close 出来るの は Web app 版だけだったり、細かな違いはあります。 Chrome extension 版 と違って、動作が軽快っぽいので使おうとしました が、PR や Issue のページも彼らで作り込んでしまい、正直それは使いた くない。 そこでブックマークレットを作ってみました。このようにトグルします。 https://github.com/masutaka/github-nippou/issues/59 ↓↑ https://app.zenhub.com/workspace/o/masutaka/github-nippou/

  • github-nippou v3.0.0 released

    v3.0.0 から出力フォーマットをカスタマイズ出来るようになりました。 @ryz310 に大感謝です! リリースノートは以下をどうぞ。 https://github.com/masutaka/github-nippou/releases/tag/v3.0.0 新しいサブコマンド init を実行すると、デフォルト設定 から新しい Gist を作り、その後はその設定が参照されます。 参考までに私の設定はこちら です。subject を h3 から h4 に変えている のと、GitHub ユーザ名をリンクにしています。 副作用として v2 と同じフォーマットでは出力できなくなりました。 ご不便をおかけしたらすみません。 他の機能としては以下になります。 ・新しいサブコマンド open-settings 前述の Gist URL をデフォルトブラウザで開きます。設定していなければ、 デフォルト

  • ローカル環境を出来るだけ Dockerize した

    ローカルに nginxmysql が起動していたり、gem install のためだけ に cmake や icu4c を brew install するのは嫌になったので、三連休で 出来るだけ Dockerize しました。仕事の素振りも兼ねています。 nginx# このブログの記事を書く時のプレビューや、雑多な html ファイルの表示 に使っています。 今まで $ brew install nginx して、nginx.conf も別途管理していまし たが、以下のような雑な docker-compose.yml で、雑にマウントするだけ で良くなりました。 version: '3' services: nginx: image: nginx:alpine ports: - 8080:80 volumes: - /Users/masutaka/Sites:/usr/share/n

  • JAWS UG 2017 に行ってきた #jawsdays

    http://jawsdays2017.jaws-ug.jp AWS 歴 3 年にして初参加。AWS Summit 派だから…(震え 主にサーバレスやコンテナまわりを聞いてた。 以下、スライドを見て思い出したことなどのメモ。登壇者の方の敬称は略 でございます。 新訳 とあるアーキテクトのクラウドデザインパターン目録 登壇者: 山﨑奈緒美 登壇者: 神希嘉 登壇者: 金平晃尚 サーバレスやマイクロサービスの基的でためになるお話。オンプレから クラウドに移行するモチベーションは理解できるけど、サーバレスはどん ななんでしょうかね?まだ解釈できていない。コンテナ化は分かるんだけど。 ひとりでも怖くない!コミュニティの広げ方 登壇者: 小深田あゆみ 懇親会でなんとか1人2人に話しかけることは出来るけど、そのまま話し 込んでしまうんだよなあ。切り上げ時が分からない。 サーバーレスでシステムを開発す

  • DynamoDB で TTL が実装されたので、Rails4 から使ってみた

    先日、ついに DynamoDB に TTL が実装されました。 新機能 – TTL(Time to Live)機能を利用したDynamoDBアイテムの管理について|Amazon Web Services ブログ 仕事では Rails4 のセッションストアに ElastiCache for Redis を使っ ているのですが、[2016-10-24-1] に書いたとおり、スケールが辛いです。 作業自体もそうですし、ElastiCache for Redis はスケールアップのみで スケールアウトが出来ません。CPU パワーじゃなくてストレージが欲しい のじゃ…。 DynamoDB はインスタンスの管理が不要なため、もし移行出来たらとって もうれしいです。お値段も ElastiCache よりずっと安そうです。 https://aws.amazon.com/jp/dynamodb/pricin

  • git-hyper-blame のセットアップ方法と使い方

    任意のコミットを無視して git blame してくれるやつ。いわゆるメガコ ミットを無視した blame をしたいときに使える。 なぜかセットアップにひどくハマったのでメモ。 セットアップ方法# git clone してくる $ git clone https://github.com/google/proto-quic.git 以下のように、パスの通ったディレクトリに git-hyper-blame という 名前のシンボリックリンクを作る。git のサブコマンド hyper-blame が 利用可能になる $ ln -s ~/src/github.com/google/proto-quic/depot_tools/git_hyper_blame.py ~/bin/git-hyper-blame ※ PythonmacOS Sierra 付属の /usr/bin/python (P

  • 第18回Elasticsearch勉強会に参加してきた #elasticsearchjp

    第18回elasticsearch勉強会|Meetup 前々回 [2016-06-28-1] に続いて、2 回目の参加です。今回は先週社内勉 強会で発表したばかりだったので、熱量高めでした。いや、むしろ燃え尽 きていたかも…。 自分のブログに Elasticsearch + Vue.js で検索機能を付けたという発表をした|feedforce Engineers’ blog ※ このブログ右上の検索ボックスのお話です What’s new Elastic Stack 5.2# Elastic 社の Jun Ohtani さん Elasticsearch 5.1 ~ Cancel long-running “Search” task by the task management API Elasticsearch 5.2 ~ Index and search numeric and data

  • 同じ Ajax 処理を Vue.js と jQuery で書いてみた

    最近 Vue.js で、ようやくリアクティブプラグラミングに入門できました。 会社で毎週金曜日に開催されている、インフラ共有会(!)で Vue.js と jQuery の違いを紹介しました。メモがてら、貼り付けておきます。 順番的には Vue.js で書いたものを jQuery で書き起こしました。 jQuery + Ajax# JS が HTML を生成したり、HTML の DOM 構造を知る必要があり、変更 に弱い HTML コードを見ても、ol タグの中身が空っぽで、これから何が入るの か不明。JS も読む必要がある Vue.js + Ajax# JS はほぼ関数定義に特化している。HTML の DOM 構造も知らなくて良い HTML コードを読めば、どんなレンダリングがされるか想像がつく。v- から始まる、データ&モデルバインディング等があるが、無視して読むこ とも可能

  • 1