タグ

ブックマーク / medium.com (11)

  • クレジットカード番号がログに残らないようにする fluent-plugin-pan-anonymizer をリリースしました

    カンムでは業務でお客様のクレジットカード番号を扱っています。お客様の安全のため、PCIDSSの要件をクリアするため、コンプライアンス遵守のため、カード番号は安全に取り扱う必要があります。この記事では対象をログに定め、ログに不用意にカード番号が残らないような仕組みについて書きます。 fluent-plugin-pan-anonymizer端的に言うと、こちらの fluent filter plugin を開発し、このプラグインを経由させることでカード番号がログに記録される前にマスクしています。 https://github.com/kanmu/fluent-plugin-pan-anonymizer プラグイン名に入っている PAN は Primary Account Number の略で、いわゆるカード番号のことを示します。ログを秘匿化する fluent plugin としては https

    クレジットカード番号がログに残らないようにする fluent-plugin-pan-anonymizer をリリースしました
    oopsops
    oopsops 2018/11/14
  • GoのAPIのテストにおける共通処理

    GoAPIを書くとき、参考になるユニットテストの話は非常によく見ます。Table Driven Testをしましょうとか、サブテストの実行とか、そのあたりの話はたくさん書かれています。 また、テストキャッシュなども出てきましたので、ユニットテスト周りの機能・ノウハウは充実していると感じてます。 一方で、httptestを使ってテストサーバーを立て、リクエスト/レスポンスの内容を検証する場合、単一のリクエストを検証する程度のサンプルにとどまっていたり、あまり共通でこういう処理を書いてるよ、みたいなノウハウがなく、自前で一から書くとなると非常に腰が重くなります。 事実自分はそういう経験をしました。そういった共通処理は普段internalパッケージの中の、testutilsとしてまとめる、などしています。 今回はGoで上記のようなテストを書く場合、どういう共通処理が必要となったかをテーマとして

    GoのAPIのテストにおける共通処理
    oopsops
    oopsops 2018/10/09
  • 3週間で48,000行のコードをこの世から抹消した話 – FiNC Engineering Blog – Medium

    qsona (twitter) です。以前、7,600行のコードを安全にこの世から抹消した話 という記事を投稿しましたが、今回はそれよりもずっと泥臭い話を書きたいと思います。あまりテクニカルな話はありませんが、現場における取り組み・試行錯誤の経過を読んでいただければ幸いです。 たくさん消しました、がんばりました〜背景肥大化するRailsサービスFiNCはマイクロサービスを指向しており、主にRuby on Railsで書かれたサービスが30個ほど存在します。しかし、FiNCアプリのメインとなるRailsのサービスは、テーブル数800を超える大きなサービスになっています。 FiNCのサービスは2014年から書きはじめており、かなり初期の段階(2015年)からマイクロサービス化を意識してきました。にもかかわらず1つのサービスが肥大化している理由はいくつかあります。 最初の1〜2年ですでに大量のコ

    3週間で48,000行のコードをこの世から抹消した話 – FiNC Engineering Blog – Medium
    oopsops
    oopsops 2018/09/21
  • KubeCon2017感想: Kubernetes in 2018 – deeeet – Medium

    先週12月6日から8日にかけてTexas Austinにて開催されたKubeCon + CloudNativeCon2017に参加してきた.具体的なセッションの内容などはMercariのTech blogに上がると思うのでここでは簡単に自分なりの感想と概観をざっくりと吐き出しておく. KubeCon 2017の3日間と今後のKubernetesの(大きな)展望は2日目のClayton Coleman氏によるKeynoteのWhat’s Next? Getting Excited about Kubernetes in 2018が総括をしていると思う.自分の今取り組んでること,今後取り組みたいこと,も結局これに集約されていると思う.この発表の中で今後,特に直近の2018年に,k8sでフォーカスが当てられると述べられていたのは以下の7つの分野である. The year of service m

    KubeCon2017感想: Kubernetes in 2018 – deeeet – Medium
    oopsops
    oopsops 2017/12/18
  • ボトムアップ組織のマネジメントとは何なのか

    いま所属している会社は、ボトムアップな会社ということになっている。正確にはボトムアップとトップダウンが混在していてたまにミスリーディングなのだが、だいたいはボトムアップな会社といえるだろう。 それで、たまに、学生と会ってくれといわれて、うちの会社がボトムアップの会社なんですよ〜、と話すことがある。だがこのボトムアップというやつ、採用活動では『いかに若いうちから活躍できるか』をぐいぐいアピールするための文句ではあるのだが、実際、現場でどういうコミュニケーションになっているのか、あまり説明されない。どういう会社が「良い」ボトムアップの会社なのか、わりとみんな意識していない。 とりあえず適当に若いのに丸投げてみたら、いつの間にかイケてる提案を持ってきた、なんてことは、ありえない。それを実現するためには、上司側の見えない努力がたくさん必要なのだ。 こんなマニアックな話をしている人は多くないと思うの

    ボトムアップ組織のマネジメントとは何なのか
    oopsops
    oopsops 2017/08/08
  • テックリードという役割

    なぜこの文章を書くか?自身が数ヶ月テックリードの役割で経験した内容を基に、テックリードがどういう役割で、毎日の仕事の中でどのような仕事をするのかについて書いていく。 テックリードはサンフランシスコのWeb系企業では一般的なようだが、日ではまだそれほど広まっているとはいいづらいと思う。 テックリードに求められるのは一言で言えば”技術エンジニアチームをリードすること”である。Webエンジニアのキャリアパスでたびたび二元論的に語られる、”技術で生きていく”職人的なトラックとも”人やプロジェクトのマネジメントをする”マネジメント系のトラックともニュアンスが異なる。 自身の技術力、そしてリーダーシップをもってエンジニアチームのアウトプットを最大化させていくのがテックリードの役割である。 多くの人にその役割を知ってもらい、エンジニアとしてのキャリア形成の助けになればと思っている。 なお、このポ

    テックリードという役割
    oopsops
    oopsops 2017/07/12
  • Kaizen Platform, Inc. エンジニア行動指針

    Kaizen Platform エンジニアの哲学と行動指針価値観Kaizen spirits ・マーケットへのGrowthの提供 / 外部への価値提供的な / More Growth, Less resource / 外部志向 / パートナー的な / 相談してもらえる ・外部に対して役立つという意識(信頼される、頼られる)新しい働き方・組織のあり方 ・働く場所、働く時間、休む頻度は問題にしない。達成した価値の大きさに責任を持つ ・∴ チームワーク重要 ・個人が働いていて楽しく幸せ / 自分が働きたい会社をつくるオープン & 共有 ・話しづらいことほどテーブルに乗せる外的刺激 (Extrinsic Motivation) よりも内発的動機 (Intrinsic Motivation) ・お金や評価ではなく「自分がそれを作りたい」と思う情熱を優先する怠惰・傲慢・短気- 怠惰(Laziness)

    Kaizen Platform, Inc. エンジニア行動指針
    oopsops
    oopsops 2016/09/30
  • Amazon Aurora

    Amazon Auroraというクラウド上のRDBMSサービスがある。2015年の7月末にGAロウンチしたばかりのサービスだが、世界各国のユーザに非常に好評のようだ。 https://aws.amazon.com/rds/aurora/ Auroraをどう見るか、でクラウドの受け入れ度合いや現状の把握に使えると個人的には感じている。個人としてはAuroraほど画期的なサービスはDBでは今までなかったし、RDBMS歴史の新しい1歩として認識している。ただあまりのシームレスさ、移行容易性、利用の簡便さに凄さに逆に気づきにくい状況がおきている。結果としてマーケティング的なムーブメントにはなりにくい状況で、個人としてはむしろそれが望ましいとも思っている。静かに深く世の中を変えていく、そんなサービスだ。ちなみにグローバルではOracleSQL Serverからの移行が後を絶たない。理由の多くは、

    oopsops
    oopsops 2016/02/22
  • 夕凪堂という会社を作った

    会社を作った。夕凪堂というテストに関するいろいろを扱う会社。 詳細は Gist にだらだらと、アイデアレベルでまとめてるので興味があれば。 もともとテストに対しては、いろいろ考えることがあるのだが、ネットワークサーバを開発していると、凄くテストが重要になる。 たとえば秒間 100 リクエストを処理出来る製品としてアピールして売っていく場合は秒間 100 リクエストの負荷がかけられるテストツールが必要になる。 さらに、開発を続けている間に製品はでぶっていく。ただしそのアピールは変更できない。となると「継続的な負荷テスト」が必要になる。 これ、難しい。いろいろ環境も状況も変わっていく中で定常的に負荷テストを行えるってコストがとても高い。夕凪堂はそこのコストを減らすためのツールを売る会社だ。 ターゲットは継続的な負荷テストを行いたい会社という狭い狭い範囲を狙っている。 もともと時雨堂でやりたかっ

    夕凪堂という会社を作った
    oopsops
    oopsops 2015/07/17
  • Elasticsearch AWS で Multi-AZ 配置

    AWSでは高可用性を高めるためにマルチAZの配置を推奨しています。サーバーをマルチZA配置にすることで、物理的に独立した複数のAZ (Availability Zone)にサーバーを稼働させることができるので、障害に強いシステムを構築できる素晴らしい仕組みです。 いいことずくめの仕組みなのですが、唯一の欠点はAZ間のレイテンシです。Elasticsearchは受け付けた検索要求をすべてのシャードへ問い合わせる仕組みのため、マルチAZ配置にするとAZ間の通信が発生してしまうので、どうしてもパフォーマンスが落ちてしまいます。 これを避けるには、1つのAZ内に配置されているElasticsearchのノードだけで完全なインデックス(シャード)を保持し、受け付けた検索要求は同じAZ内で検索を完結できるように構成する必要があります。それを実現するのが Shard Allocation Awarene

    Elasticsearch AWS で Multi-AZ 配置
    oopsops
    oopsops 2015/04/24
  • Day 1: Push to Production – Code @ Hootsuite

    Articles, thoughts and learnings from the team building products at Hootsuite

    Day 1: Push to Production – Code @ Hootsuite
  • 1