SRE NEXT 2020参加レポート

SRE NEXT 2020に参加したのでブログレポートを。 https://qiita.com/Hassan/items/6f7fb1c206f77716ee2a 全体の感想 SRE NEXTに参加するにあたって、アプリエンジニアとの対比として、運用の非機能要件を担うと決めたエンジニアとは、どのような心持ちなのか…

2019年をエンジョイしたソフトウェア6つ

2020年を迎え、2019年を振り返るために、2019年から特にお世話になったソフトウェアをまとめてみます。 ただし人様の役には立たないと思います。 1. VSCode Remote Development リモートLinuxでPythonインタプリタとか拡張機能を動かしながら、VSCodeのフロ…

KubeCon&CloudNativeCon North America参加レポート

サーバAPIのインフラをKubernetesで構築しているのもあり、KubeConに参加して来ました。 Kubernetesのカンファレンスで最も規模が大きいこともあり、様々なインプットが得られ、非常に楽しむことができました。 参加するまでCloud Nativeの意味を理解してい…

自作キーボードはオープンソースであると知り、世界が変わった話

自作キーボードを使ってみて 既に自作キーボード沼に落ちている気がします。自作キーボードと出会って、衝撃的だったことをいくつか。 PCBさえあれば、好きな形のキーボードが得られる! Keyboard PCBskeeb.io PCBkbdfans.cn PCBkprepublic.com DIY Kits and…

技術書典5にサークル参加して脱Shellscript、Pythonタスクランナー本を頒布しました

技術書典5 にて、個人サークル74thとして、"ShellScriptの代わりにPythonタスクランナーFabric&Invokeを活用する技術"を頒布しました。 だいたい戦利品を読み終わったので、感想を書きます。 設営完了! pic.twitter.com/b9aPrb1Hiq— 74th (VS Code実践ガイ…

Builderscon 2018に参加してきました

勉強になったというよりも、面白かった! 講演 光らせるのは正義。 mbed使ってみたい。 ハードウェアの闇は一介のエンジニアではどうもし難い感じがすごく闇。でもそれをエンジニアでカバーしてて尊敬。 Vチューバー実演は画期的。 Envoy internals deep div…

技術書典4にて『構造化と性能の間をGolangで攻める技術+WebWorker活用技術』を頒布しました

表題の通り、技術書典4にて、新刊『構造化と性能の間をGolangで攻める技術(+WebWorker活用技術)』を頒布しました。 この本を書いたきっかけは、仕事で性能要件が高いミドルウェアの開発にGolangを採用したためそこそこ大変だったためです。この仕事(ミドルウ…

『オブジェクト言語解体新書』読了

技術書典3にて。 クラスもまたオブジェクトであるということを、メモリのポインタ参照の図を含めて理解させてくれた。GoF、デザインパターンのあれでは、オブジェクト指向ではなく、クラス指向だというのは、自分の中でクラス設計がうまくいかないと思ってい…

技術書典3にて、『Visual Studio Code デバッグ技術』を頒布しました

技術書典3にて、『Visual Studio Code デバッグ技術』という本を頒布しました。 動機 技術書典1、2に一般参加し、とても楽しかったため、いつかはサークル参加したいと思っていました。 そして、Visual Studio Codeのデバッグに関するまとまった情報が欲しい…

builderscon2017はやっぱりエンジニアの最高のエンタメ

builderscon2017に行ってきた。今回は2日間、5トラックととても充実。 Desktop Apps with JavaScript SlackのDesktopアプリ作ってる人のElectron入門 Windows、MacOS、Linuxの各環境を数人で作ってる Electronだと、Chrominiumの中で、普通にnodejsのフル機…

buildersconは開発者の最高のエンターテイメント

buildersconに参加してきました。 builderscon tokyo 2016 - builderscon 同じITでもその人の得意分野でも、他が知らない分野を紹介しあう様で、とても勉強になり、刺激になった。 OSS は Windows で動いてこそ楽しい OSS は Windows で動いてこそ楽しい - b…

Dockerにホームディレクトリをマウントしちゃおう

.NET Core RC2が、Ubuntu 14.04には対応しているが、Ubuntu 16.04にはまだ対応しておらず、自分のノートPCはもう16.04にあげてしまったため、なんとかDockerの力を借りて動かせないかと試行錯誤したところ、動かすことに成功した。 このノウハウは他にも使え…

ChromebookC720を購入して、Linuxをインストール

Chromebook上でLinuxが動くと知り、Chromebook C720を購入した。 今の自分のMacBookProからは半分の重さの1.2kgになり、気軽に持ち運べるPCになった。 C720はSSDが交換できるため、128GBSSDに交換し、Galiumosをインストールした。 acer C720はヤフオクで落…

Google Cloud Storage で静的ウェブサイトを公開する

Google Cloud Storage でウェブサイトを公開してみました。最終的には、以下を実現しました。 独自ドメインにて、Google Cloud Storageにアップロードしたファイルを閲覧できるようにする 最初は、Mac上のリソースをrsyncにてアップロードする Debian上のJen…

npmの-gをローカルユーザのディレクトリで管理する

npmのアップデートなどで、よくnpm update -g npmとsudoを付け忘れて実行してしまい、何故かnpmが使えなくなることが良くありました。 ここのところ、golangのgo getコマンドを使うために、GOPATHを以下のように設定するよう、.bashrcに書いていました。 if …

1.0になったVisualStudioCodeの強みと弱点

ついにVisualStudioCode(以下、VSCode)の1.0がリリースされました。ずっとVim以外の、人に勧められるエディタを探していた私にとって、VSCodeはまさにちょうど良いエディタでした。 このVSCodeで、エッジの振られている強みと、弱点を紹介します。 強み1 入…

auのiPhone6SをSIMフリー化して、テザリング可能なDMMモバイルを使う

auでiPhone6Sを発売日に購入。世の中は格安MVNOのSIMの世の中になったので、そちらに乗り換えたいと思った。auの端末は購入から半年たつと、SIMロック解除可能とのこと。 auはdocomoとは利用電波が異なるため、auのMVNOを使う必要があると思っていた。しかし…

golangでlogを標準出力とテキストファイルの2箇所の出力する

2箇所に出力したい場合、io.MultiWriterが便利。 logfile, err := os.OpenFile("./test.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0666) if err != nil { panic("cannnot open test.log:" + err.Error()) } defer logfile.Close() // io.MultiWriteで、 /…

Redmineを、GIt、SVNホスティング付きですぐに使えるdockerイメージ作った

Qiitaにも投稿しています→ Redmineを、GIt、SVNホスティング付きですぐに使えるdockerイメージ作った - Qiita 職場ではRedmineを使ってタスク管理をしている。このRedmineの構築に結構苦労するので、この度Dockerコンテナ化することにした。 https://hub.doc…

今使っているハードウェア(仕事道具、生活道具)

あけましておめでとうございます。 Android、iPad、iPhoneのソフトウェアを毎年書いてますが、今年はハードウェアをあげてきます。 2015 iPad4年目で活躍するアプリ - ITは遊び 2014 今年脱泥→iPhoneに変えて使っているアプリ - ITは遊び 仕事編 なお、職業…

ヘッドレスマシンをSteamホームストリーミングで使う

MacBookProから、SteamホームストリーミングでWindows10をインストールしたヘッドレス(モニタ接続なし)のMacMiniを使おうとしたら、以下のメッセージが表示された。 画面はリモートコンピュータ上からロックされています。 リモートデスクトップでは利用で…

自宅サーバのDockerでDNSを運用する

自宅サーバを持っていると、外では自宅のIPアドレス、家ではローカルIPアドレスでアクセスなければならず、今まではhostsを直接書き換えるスクリプトを運用していた。しかし、それではiPadなどのモバイル端末では通用しないこともあって、DNSサーバを立てる…

Public BetaになったLet's Encryptを使ってみた

Public BetaになったLet's Encryptを使ってみた。ほんとうに簡単に鍵が作れる。 まず、前提は以下のとおり。 取得対象のドメインで443番で公開できること もしくは、取得対象のドメインで80番webサーバを公開していること 本当に、443番ポートさえあれば良い…

dockerのデータボリュームとそのバックアップ方法

この記事はqiitaにも投稿しています→http://qiita.com/74th/items/41393f506d223850f2c3 データの永続化はdockerでよく課題になると思います。 docker docsには、Manage data in containersの節に、いくつかの方法が示されています。 https://docs.docker.co…

VisualStudioCode用のVimプラグイン作った

VimStyleという、VisualStudioCode用のVimプラグインを、VisualStudioCodeでTypeScriptを作った。 https://marketplace.visualstudio.com/items/74th.vimStyle TypeScript素晴らしい。だって、JSなのにエンプラ的なクラスを使ってプログラミングできる。もち…

bootcampを使わずにUEFIでWindowsをインストールするとintel-vtが使える

Mac

bootcampを使ってWindowsを使っていたが、bootcampを使うと以下の弊害がある。 bootcampのレガシーOSサポート機能により、今どきのUEFIではなく、MBRを使った起動をする そのせいで、intel-VTが有効にならず、boot2dockerやAndroidエミュレータ、VirtualBox…

dockerをビルド環境として使う

dockerコンテナにコンパイラなどを入れ、更にそのコンテナにビルド対象のソースコードをマウントすることで、docker自体をビルド環境として使うことができる。 例えばC#のビルドであれば、monoのコンテナ(monoは.NETのオープンソース実装。monoのmsbuildはx…

メモファイルを開く時に自動Pull、閉じた時に自動Pushする

自分のメモファイルをmarkdown形式でgitで管理している。 よくPull、Pushし忘れるので、自動でコミットするように、.bashrcに以下のように書いた。 function EditMyNotes() { cd ~/MyNotes/ git pull origin master vi ./ git add -A git commit -m "at $HOS…

dockerコンテナをsystemdで管理させる

dockerコンテナをサービス化しようと思って、systemdで自動起動するようにsystemdのサービスを書いた。 方法自体は、公式にも書いてある。 Docker Docs Automatically start containers 要約すると、コンテナをdocker runして作って、そのコンテナをdocker s…

社内勉強会で使ったdockerのスライド

公開できそうな形に修正して公開。 Dockerについて from 74th