タグ

ブックマーク / moznion.hatenadiary.com (10)

  • 独自ドメインのメールアドレスを使うようにした - その手の平は尻もつかめるさ

    2021年の記事とは思えないタイトルですが、そのようにしたのです。 特定のメールサービスが提供するメールアドレスに依存していると、そのメールサービスからBANされた際に人権を維持できない可能性があります。というのも仮にメールアドレスが凍結すると、そのアドレスをアカウントのidentifierとして登録しているサービスを巻き込んでしまい大惨事が起きてしまいます。 プレッパーじみた危機意識ではありますが、そのような気持ちになったのでこのたび独自ドメインでメールアドレスを払い出し、それを使うようにしてみました。 しかし自前でpostfixを運用する……みたいなことは断固やりたくなかったので、今回はさくらのメールボックスを利用して、元々保有していたドメインのサブドメインを使ったメールアドレスを払い出し、そこに送られてくる全てのメールをGmailへと転送するという構成を取りました。 メールボックスに

    独自ドメインのメールアドレスを使うようにした - その手の平は尻もつかめるさ
    alcus
    alcus 2021/01/05
  • ネットワーク越しリトライ考 - その手の平は尻もつかめるさ

    ここ最近では何らかのインターネットサービスを構築・運用するにあたって、ネットワーク越しのリトライを考えることは避けられなくなりつつあります。 micro services のようなアーキテクチャを採用している場合はサービス間のメッセージのやり取りはまず失敗する前提 (つまりリトライをする前提) で組む必要がありますし、たくさんのクライアントがいてそのクライアントが定期的に何かを処理してセントラルにデータを送ってくる IoT のようなシステムを構築する時もその処理のリトライをよく考える必要があります。 というわけで「ネットワーク越しのリトライ」についてここ最近考えていることをざっくりと書き留めるものであります。 前提 リトライをする側をクライアント、リトライを試みられる側をサーバと呼称します リトライにおいて、サーバおよびネットワークはクライアントよりも弱者です クライアントはリトライをコン

    ネットワーク越しリトライ考 - その手の平は尻もつかめるさ
  • golangのstructに対してコンストラクタを自動生成するCLIツール "gonstructor" を書いた - その手の平は尻もつかめるさ

    github.com 表題の通りです.出オチのような名前です. 使い方やどういう挙動をするかという話題についてはREADME.mdのSynopsisをご覧いただければと思います.Javaのlombokをご存知の方はlombokの@Valueのような挙動をする,と言えばイメージしやすいでしょう. 基的にはgo:generateと組み合わせて使うことになるだろうと思います. モチベーションとしてはREADME.mdのMotivationにも書きましたが,ザックリ言うと以下のような感じです: Structのフィールドをprivateかつimmutableに取り扱いたいことが多い フィールド (ないしはstruct) をimmutableに保つことについて,goでは基的に「気をつける」しかないが,その際にはフィールドはprivateであるほうが嬉しい フィールドを破壊的に変更できる存在が絞られ

    golangのstructに対してコンストラクタを自動生成するCLIツール "gonstructor" を書いた - その手の平は尻もつかめるさ
  • 設計Night2018で話してきました - その手の平は尻もつかめるさ

    connpass.com スライドは以下です. id:nkgt_chkonkさんに「パフォーマンス視点でのソフトウェアの設計というテーマでなんか話せない?」と持ちかけられ,当時色々考えていたこともあり「やってみるか!」という感じの経緯でできたのがこのトークです. 言いたかったことはスライド終盤に書いたように 一発で良い設計にたどり着ければ最高だけどなかなかそうもいかんよね〜 良い設計とは「変化に耐えうること」「変更にあたってコストが低いこと」ではないか 設計には段階がある 第一段階としての良い設計は「最適化の余地がある設計」ではないか ということです.「早すぎる最適化」はもちろん良くないことですが,しかし「最適化の余地を残しておくことは重要」というような認識です. スライド中に出てくる「美しいものは空気抵抗が少ない」というのは新幹線を開発した三木忠直さんという方の言葉で,つまり「美しいもの

    設計Night2018で話してきました - その手の平は尻もつかめるさ
    alcus
    alcus 2018/11/12
  • arnoldというJavaのbuilderライブラリを書いた - その手の平は尻もつかめるさ

    今時builderライブラリも無いだろという感じですが,書いたのです. github.com Motivationにも書いているのですが,普通に作ったJavabuilderは不完全なインスタンスを作成できる可能性を孕んでいます.注意深くコードを書けば問題ないかもしれませんが,えてして我々 (主語が大きい) はミスを犯しがちです.そしてNPEがやってきて……我々はしぬ. というわけで今回作ったのがarnoldです. 端的にいうと「必要なすべての要素を取りこぼさないbuilder」であり,「そのジェネレータ (annotation processor)」でもあります.Basic usageにあるように, import net.moznion.arnold.annotation.ArnoldBuilder; import net.moznion.arnold.annotation.Requir

    arnoldというJavaのbuilderライブラリを書いた - その手の平は尻もつかめるさ
    alcus
    alcus 2018/03/19
  • EOLなUbuntuを使い続けるとどうなるのか - その手の平は尻もつかめるさ

    TL;DR apt-get関連のコマンドが死ぬ. 例: Ubuntu 16.10の場合 Release end of life | Ubuntu この図からもわかるようにUbuntu 16.10は現時点でEOLです.使ってはいけません. しかし生きているとうっかりEOLなバージョンが残っていることもあるでしょう.あったのです…… で,EOLを迎えているUbuntuを使い続けるとどうなるか.特筆すべきは apt-get update が死ぬという点でしょう. $ sudo apt-get update ... Err:6 http://security.ubuntu.com/ubuntu yakkety-security/universe Sources 404 Not Found [IP: 91.189.88.152 80] ... Err:14 http://archive.ubuntu

    EOLなUbuntuを使い続けるとどうなるのか - その手の平は尻もつかめるさ
    alcus
    alcus 2018/01/26
  • 手っ取り早くウェブアプリケーションにOAuth2認証を導入する - その手の平は尻もつかめるさ

    bitly/oauth2_proxyを用いて,ウェブアプリケーションに手っ取り早くOAuth2認証を導入するという話です. oauth2_proxyは良い感じでOAuth2による認証を肩代わりしてくれる君で,何らかのリバースプロキシの認証機構と組み合わせて利用すると簡単にOAuth2ログインを実現することができます. 今回は例としてKibanaにGoogleのOAuth2ログインを導入してみたいと思います. 構成 Kibana bitly/oauth2_proxy nginx +------+ +-------+ +--------------+ +--------+ | | | | ----auth----> | | | | | user | --request--> | nginx | | oauth2_proxy | <--auth--> | Google | | | | | <--

    手っ取り早くウェブアプリケーションにOAuth2認証を導入する - その手の平は尻もつかめるさ
  • 社内でDDD勉強会をやった - その手の平は尻もつかめるさ

    DDD (Domain Driven Design/ドメイン駆動設計) についての学習気運があり,その勉強会を社内でやったのでその経過を記すものです. DDDに関する詳細な内容には触れません (良いや資料が巷には溢れています).読書会自体をどうやったか的な話です. 前提 developer.hatenastaff.com 基的にこのスタイルを真似しました. 読んだ エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践) 作者: エリック・エヴァンス,今関剛,和智右桂,牧野祐子出版社/メーカー: 翔泳社発売日: 2011/04/09メディア: 大型購入: 19人 クリック: 1,360回この商品を含むブログ (131件) を見る 実践ドメイン駆動設計 作者: ヴァーン・ヴァーノン出版社/メーカー: 翔泳社発売日: 2015/03

    社内でDDD勉強会をやった - その手の平は尻もつかめるさ
  • thin-cacheというJava向けのキャッシュライブラリ書いた - その手の平は尻もつかめるさ

    thin-cacheというキャッシュライブラリ書いた.いつものようにmaven centralにも置いてある.そしていつものようにJava 8以降が対象となっている. maven central Microservicesみたいな感じでサービスを作っていると,他のサーバにrequestを飛ばして得られた値を加工して,あるいはそのまま利用するみたいなコードを書く事が多くなってくる.毎回毎回他サーバにrequestを飛ばして良いのであればまあ飛ばせば良いのだけれど,そうもいかない場合も多い (トラフィックなり応答速度なりの理由で).そういう場合に対策として考えうる手段のひとつとしてキャッシュが挙げられると思う. 今まではそういったキャッシュを良い感じでコントロールするコードを都度都度書いていたのだけれど,それにもそろそろ飽きてきたのでいい感じに抽出してライブラリにした. Javaでキャッシュ回

    thin-cacheというJava向けのキャッシュライブラリ書いた - その手の平は尻もつかめるさ
    alcus
    alcus 2016/08/09
  • Web Application Server を動かす時の Java8 起動オプションのメモ - その手の平は尻もつかめるさ

    一般的な Web Application Server *1 を Java8 で動かすにあたって,最近有効にしている起動オプションについてメモ. 何か間違っていたり,あるいは「こっちの方が良い」みたいなのがあれば教えて下さい. -server server mode で起動させる (指定しないと client mode になる可能性がある,マシンスペックによってスイッチする?). -Djava.net.preferIPv4Stack=true If IPv6 is available on the operating system the underlying native socket will be an IPv6 socket. This allows Java(tm) applications to connect too, and accept connections from,

    Web Application Server を動かす時の Java8 起動オプションのメモ - その手の平は尻もつかめるさ
  • 1