よるエラー分析などをサービスとして実現するためのプロトコルです。いった便利機能を使用することができます。Serverも公開されています。Serverの実装がいくつか存在します。今回は準公式提供のgoplsを使用して設定してみます。Client実装がありますが、今回はlsp-modeを使用します。emacs用のパッケージをインストールします。次のモノをpackage-installかpackage-list-packagesか、そのあたりでよしなにインストールします。emacsここ数日、FlutterでAndroidアプリを書く、ということに入門してみています。Sを使っていた頃なので、EclairとかFroyoとかの頃)にすこしだけやったことがあるんですが、そのころと比べるとかなり簡単に、きれいなアプリがシュッと動いて、ちょっとばかし感動しています。Studioを前提としており、私のようなemacsユーザがどうしたらいいのか、ちょっとばかし躓きそうなので、メモがてら残しておきます。基本的な手順は公式サイトに準じます。2020年に入って早1週間が経過しましたが、皆様いかがお過ごしでしょうか。一年の振り返り!みたいのはあんまりやるつもりがなかったのですが、あまりにもみんなやっていて目につくので、これはやった方が良い物なのか・・・と思い直し、遅ればせながら振り返ってみようかと思います。twitterによると、2019年は心おだやかに生きたいというのが目標だった様子。心穏やかには生きられませんでした。いえば昨年は年明け早々インフルエンザにかかったんでした。一月はLOCALのイベントに行ったり、YAPC::Tokyoに行ったりしていた様子。ここ半年はカンファレンス/勉強会参加数も減ってきてしまっているので、ここらでちょっと頑張りたいところです。明けましておめでとうございます。本年もどうぞよろしくお願いいたします。一昨年になりますが、趣味サーバーのインフラをKubernetesで整えた件という記事を投稿しました。その後紆余曲折ございまして、これらを再構成しましたので、改めて記録に残しておこうと思います。紆余曲折とは?という話から始めましょう。VolumeはGlusterFSを使用していました。最初はこれで問題なかったのですが、一部のアプリケーション(具体的にはRedmine)を動かしていく上で、非常に速度が遅い、ということが問題となりました。RBDへと置き換えました。Calendarの20日目の記事です。昨日はyaegashiさんによる、jsonx.goでした。Specificationというモノをご存じでしょうか。APIを表現するための仕様で、現在バージョン3.0.2が最新です。いわゆるSwaggerの後継で、バージョン1系、2系がSwagger、3系以降がOpenAPI、ということになっています(Swaggerなら聞いたことがある/使っているという人も多いのではないでしょうか)。Specificationは人間にも機械にも(比較的)読みやすい仕様書として、コード生成や、ドキュメントページの生成に使用することが可能です。New"をスローガンとした、IT技術者向けの技術カンファレンスです。2016年、2017年、2018年、2019年と@lestrratさんが主催として開催してきて、私もコアスタッフとして関わってきました。今のところはやるぞ!という話だけで細かい話はこれからですが、皆さんどうぞよろしくお願いいたします。readgolangnet/http.ClientにHookをかける昨日のこと。EnterprizeのAPIを叩くという処理を実装していたのですが、どうにもうまくいかない。Enterpriseで使用できるかもよくわかっていなかった)わからない。requestを作ったりしてあれやこれややるのもまぁ面倒であるので、なんとかデバッグしたいと思ったのですが、外部のパッケージをフォークして変更を加えてデバッグする・・・という様なことはもちろんやりたくないわけです。このパッケージは*http.Clientを指定できます。*http.Clientはインターフェースではなく構造体なので、別の実装に置き換えるということはできません。Go言語で文字列が空かどうかを調べるには次の二つの方法があります。readgolangUnuboでアプリケーションをサクッとデプロイするUnuboというPaaSっぽいものが出てきたようなので触ってみました。リリースされたばかりのようで、クレジットカードの登録もせずに無料で使用できます。お値段は目下無料とのことなかなか機能も充実とりあえず適当にリポジトリを作って動かしてみました。登録・ログインを済ませたら、使用したい機能を選択します。今回はGoのアプリケーションなので、AppsセクションにあるGoのアイコンを選択しました。フラットできれいなデザインですね次の画面でアプリケーション名を入れ、デプロイ先のリージョンを選択します。DBと接続する場合はDBと同一リージョンじゃなきゃ接続できないそうです。リージョンはとりあえず適当に選べば良さそう最後に、細かい設定をできる画面になりますので、必要な情報を入力します。ここでは、とりあえずGitHubとの連携をして、リポジトリを選択するだけであとは放置します。シークレットの設定の他、カスタムドメインにも対応最後にDeployボタンをポチッとしてデプロイされるのを待ちます。Deploy成功からアクセスできるようになるまで若干タイムラグがあるようなので、気長に待ちましょう。有料プランが出てから価格設定や無料枠がどうなるかわかりませんが、まぁぼちぼち便利に使えそうですね。今回はGo言語の標準パッケージの解説本を頒布予定です。当初の予定では全パッケージを詳解!みたいな予定だったんですが、ページ数が増えまくった結果、残念ながら26個しか詳解できませんでした。108ページで一冊1,000円、電子版もあるよ、の予定です(電子版と両方での割引をどうしようか今考えてます)。サークルスペースは「か11C」です。〜社内ドメインを外に漏らさない編〜GitHubのコミットログ、コミットした人のアイコンが出ていてとてもわかりやすいですよね。コミットとアカウントの紐付けにはどうやら、コミットに紐付けられたメールアドレスが使用されているようです。user.email=...とかやるアレです)メールアドレスはアカウントに登録してあるメールアドレスにしたいものです。Enterprise(GHE)、私用ではgithub.comを使用している、と言った場合はどうでしょうか。コミットに紐付けたいメールアドレスがリポジトリによって変わる、ということになってしまいます。Enterprise環境を追加するhubコマンドをご存じでしょうか。git=hubと設定するだけで、gitコマンドからGitHubの操作ができるようになる優れものです。createとするだけでGitHub上にリポジトリが作成される、というのが非常に便利だと思っています。皆さんの会社ではgitサーバはどのように構築されているでしょうか。Enterprise(以下GHE)を利用している、という会社も多いと思います。実際、現職ではGHEを使っています。そのような場合、趣味/個人の開発ではgithub.com、会社ではGHEと使い分けることとなりますが、GHEでhubが使えないとすると非常に不便です。考えて調べてみると、Web上では、hubをGHE環境で使うには環境変数を使うとする設定例が散見されます。実は、hubは複数環境での使用をサポートしているんです。Wを使って、家庭内のリモコン機器を自動化しようと思い立ち、秋葉原くんだりまで行って諸々部品を買ってきました。ゴミを二つほど生成したのち、最終的に動くモノができましたので備忘録的に残しておきます。動かぬゴミを二つほど生成した主に「格安スマートリモコンの作り方」を参考にしました。部品を購入した店は秋月電子で、商品ページの下の方にある「店舗情報」のリンクをクリックすると店内のどの棚に商品があるのかわかり便利です。Foundation)によってホスティングされているメッセージングシステムです。軽量で高パフォーマンスかつスケーラブルなのが特徴だそうです。オランダのSynadia社が中心となって開発を行っていますが、オープンソースソフトウェアなのでGitHub上で今トリビュートすることもできます。Go、NodeJS、Ruby、Java、C、C#、Nginx用のクライアントライブラリはSynadiaによってサポートされており、そのほかにもPythonやElixir用のクライアントなどが存在します。NATSのサーバ自体(gnatsd)はGoで書かれているため、バイナリ一つで起動できるほか、、公式DockerコンテナイメージやKubernetes用のOperatorも用意されているため、簡単に構築・運用することができます。本記事でも、Dockerで起動したサーバを使用しています。NATSでは3種類のメッセージングモデルを利用することができます。自作ケーブルこんばんは。EZというキーボードを使用しています。これは元々は自作キーボードの一種で、左右分割型のキーボードです。EZでは、右のキーボードと左のキーボードはTRRSケーブルという、4極のイヤホンケーブルみたいなケーブルで接続されています。今まではとりあえず購入時に付属していたケーブルを使用していたのですが、だんだん肩が開いてきて、長さが足りないなーというお気持ちになってきました。おしゃれなケーブルがいいなぁと思いながら通販サイトで探したのですが、このTRRSケーブル、あまり需要がないのか、種類が多くありません。自作キーボード勢はどうしてるのだろうか、と思って調査したところ、諦めて売っているものから選ぶか、自作するか、という選択肢のようでした。自作すれば自分好みの色や長さで作れるし、ケーブルくらいなら作れそう!ということで自作ケーブル沼に入門してみました。今回作ったのはこちら。遊舎工房さんで販売されている、自作ケーブルキットです。filtering次のように、あるスライスをフィルタリングする関数を書くことがあると思います。簡単なベンチマークを書くとわかるように、この関数は返値となるスライスの長さ+1回のメモリアロケーションを行います。一般に、メモリアロケーションの回数は少ない方がパフォーマンスがよく、可能ならばアロケーション回数0を目指したいものです。今回の場合、次のように書くとメモリアロケーション回数0回の関数を書くことができます。readgadgetMajextandラップトップスタンド、というものをご存知でしょうか。いわゆるノートPCを傾けたり、高さを変えるために使用するアイテムです。折りたたみができるものや、PCに貼り付ける小型のものなんかもあります。貼り付け型のものとしては、Kickflipが人気です。今回紹介するのも貼り付け型で、その名もMajextandといいます。特徴としてはとにかく薄い。その薄さにも関わらず、6段階の高さ調整ができる、という点です。