kmatsumiya6のブックマーク (86)

  • State Channelの基礎と全体像 - Gunosy Blockchain Blog

    はじめに こんにちは、中村(@veryNR)です。 最近プレスリリースが出たのでご存知の方もいらっしゃると思いますが、GunosyとAnyPayでブロックチェーン関連事業を行う合弁会社「LayerX」の設立を発表しました! jp.techcrunch.com このブログを書いていたメンバーは、これからはLayerXとして、引き続きブロックチェーン技術の研究開発を進めていきます! 少しでもコミュニティに貢献できればと思い、今後も情報発信を続けていきますので、引き続き宜しくお願いします。 さて、ここ最近僕はState Channelに熱中しており、調査を進めてまいりましたので、何回かに分けて記事を書いていこうと思います。 第一弾の今回は、State Channelの基礎と全体像を見ていきます。 はじめに State Channelの基的な流れ ユースケース State Channelの

    State Channelの基礎と全体像 - Gunosy Blockchain Blog
  • Go言語を嫌う6個の理由 - さめたコーヒー

    ある仕事でそれまでRubyで書かれていたサーバーサイドをGo言語ですべて書き直すことになって、それまでRubyのコードを書いていた僕はそのままGo言語を書くことになった。その仕事そのものはお客様(僕は外部委託のエンジニアとして参画していた)との関係も良好で素晴らしい仕事をさせてもらうことができたと思っているが、Go言語だけは好きになれなかった。 はじめは流行っている言語だから何か素晴らしい魅力があるのではないかと期待していた。しかし書き始めるうちにどうも自分には合わないなと思うようになり、2年ほど書いて案件の契約が終わる頃にはGo言語でサーバーサイドを書くことは危険だとさえ思うようになった。 あれから数年がたちますますGo言語の案件は増えている。サーバーサイドを書く選択肢としてGo言語を選択する会社も増えている。しかし当にそれでいいのか?ただ流行っているからという理由だけで選択するにはあ

    Go言語を嫌う6個の理由 - さめたコーヒー
  • nginx upstream パッシブヘルスチェックはかなり使える (max_fails, fail_timeout) - Neinvalli

    今回は nginx upstream のパッシブヘルスチェックの挙動について調べます。 前回の consistent hash (http://neinvalli.hatenablog.com/entry/2017/10/29/235721) の調査でも出てきた下記の設定について、 今度はヘルスチェックの挙動がどうなっているのか調査しました。 upstream myapp1 { hash $host$uri consistent; server 127.0.0.1:10080 max_fails=100 fail_timeout=10; server 127.0.0.2:10080 max_fails=100 fail_timeout=10; server 127.0.0.3:10080 max_fails=100 fail_timeout=10; server 127.0.0.4:100

    nginx upstream パッシブヘルスチェックはかなり使える (max_fails, fail_timeout) - Neinvalli
  • SSPリニューアルの新規参入者向けチュートリアルを作って内定者アルバイトが爆速で即戦力になる予定の話 - MicroAd Developers Blog

    はじめに システム開発部アプリケーションエンジニアの新卒1年目の輿水です。 前提としてマイクロアドのCOMPASSというSSPのプロダクトをScala、Catsを用いてDDDの戦術的戦略を取り入れてリニューアルすることになりました。 Scala、Cats、DDDを初めて学習する人にとっては参入障壁があまりにも高すぎるのですが、その障壁をすこしでも下げて、メンバーに即戦力になってもらうためにチュートリアルを作成しました。 この記事では、実際に内定者アルバイトのS君に研修としてやってもらった時の所感を話していこうと思います! COMPASSとは MicroAd COMPASSはメディアの広告配信の最適化と、包括的な管理を行うことで広告収益を最大化する次世代のサプライサイドプラットフォーム(SSP)です。 https://www.microad.co.jp/services/adplatfor

    SSPリニューアルの新規参入者向けチュートリアルを作って内定者アルバイトが爆速で即戦力になる予定の話 - MicroAd Developers Blog
  • マイクロアドのPC事情 - MicroAd Developers Blog

    マイクロアドで社内SEをやっております高橋です。 今回はマイクロアドのPC事情(支給PCや交換サイクル)について紹介したいと思います。 マイクロアドで支給してるPC 特にこだわり等がなければ現在は下記の中から選択してもらっています。 こだわりがある場合、条件を満たすPCならば、適宜相談をして購入するPCを決めております。 【営業】 HP elitebook dragonfly [Core i7 16GB 256GB] SurfaceLaptop3(13inch) [Core i5 16GB 256GB] 【開発】 HP ZBook Firefly 14 G7 Mobile Workstation[Core i7 16GB 512GB NVIDIA Quadro P520] MacBookPro 13inch [Core i5 16GB 512GB] MacBookPro 13inch [A

    マイクロアドのPC事情 - MicroAd Developers Blog
  • Athenaを使ったデータ処理基盤の設計 - Speee DEVELOPER BLOG

    こんにちは。UZOUのプロダクト開発をしているエンジニアの@kanga333です。 UZOUでは広告データの集計の一部にAmazon Athenaを採用しています。 この記事ではUZOUにおけるAthenaを使ったデータ処理基盤の設計について紹介したいと思います。 全体構成 データ処理基盤の全体構成は次のようになっています。 以後はそれぞれのコンポーネントについて順次紹介していきます。 FleuntdによるS3への集約 UZOUでは特にFluentdアグリゲータのような中継サーバは設けていません。広告配信サーバに常駐するFluentdがログを直接S3にプットしています。 以下はFluentdのS3 output部分の設定の一部抜粋です。 <buffer time> @type file timekey 60m </buffer> path example_table/dt=%Y%m%d/h

    Athenaを使ったデータ処理基盤の設計 - Speee DEVELOPER BLOG
  • Akkaを利用したクローラ開発 - MicroAd Developers Blog

    こんにちは、Tech Labの中野(@tosametal)です。 記事ではAkka(Scala)を利用して開発したクローラの紹介を行います。 ストリームデータに対してクロールをする上で工夫した、ドメインごとのクロール頻度制御などについて紹介します。 Akkaはメッセージ指向のアクタシステムがベースとなっており、スケーラブルで弾力性のあるシステムを構築することが出来ます。 Akkaの詳細な説明は記事では省略するため、興味がある方は 公式ドキュメント を読んで頂ければと思います。 概要 マイクロアドで独自に定義した、あらゆる事柄を目的を軸に階層構造で分類したものをトピックカテゴリと呼びます。 今回紹介するのはサイトのページのトピックカテゴリを判定するための前処理として動くクローラです。 以下はページのトピックカテゴリ判定を行うシステムの一部で、クローラは赤枠で囲った部分です。 kafkaか

    Akkaを利用したクローラ開発 - MicroAd Developers Blog
  • データベースライブラリTkrzwの初版リリース - 豪鬼メモ

    データベースライブラリであるTkrzwの初版をリリースした。Kyoto Cabinetの正式な後継製品である。家のサイトはここである。設計目標の通り、高速かつ堅牢で多目的に使える実装になったと思っている。私の下手な英文を読ませるのも忍びないので、ここに概要を書いておこう。 ダウンロードとインストール このディレクトリにソースファイルのパッケージが置いてあるので、ダウンロードする。あとは典型的なインストール手順を踏襲すればよい。 $ tar zxvf tkrzw-0.9.1.tar.gz $ cd tkrzw-0.9.1 $ ./configure $ make $ make check $ sudo make install自分の環境でもテストをしたいという人は以下のコマンドを実行してもよいし、しなくてもよい。テストケースはGoogle Testを使って書かれているので、予めそれをインス

    データベースライブラリTkrzwの初版リリース - 豪鬼メモ
  • 圏論初心者が関手に入門し、Scalaで実装した話 - MicroAd Developers Blog

    はじめに こんにちは。マイクロアドでソフトウェアエンジニアをしている飛田と申します。私は主に UNIVERSE Ads というプロダクトの開発に携わっています。 UNIVERSE Ads では、より関数型ライクな設計や実装を取り入れることにより、高い保守性と効率性を目指しています。 過去の記事では、圏やモノイドについて書きましたが、今回の記事では「関手」について共有させていただきたいと思います。 過去の記事: 「関数型言語をもっと使いこなしたい!」マイクロアドの新卒エンジニアがデータサイエンティストの先輩に圏論の初歩を指導してもらった話 - MicroAd Developers Blog 新卒2年目のエンジニアがモノイドの数学的な定義について調べてScalaで実装してみた - MicroAd Developers Blog 以降、関手について説明しますが、数学用語としてそれについて言及する

    圏論初心者が関手に入門し、Scalaで実装した話 - MicroAd Developers Blog
  • プロダクトにKotlinを導入して1年弱経ったので振り返る - MicroAd Developers Blog

    アプリケーションエンジニアの宮田です。 自分の所属しているチームでは2019年10月から、既存のJava8で書かれたSpringBootアプリケーションへKotlinの導入を始めました。 今回のブログでは、Kotlinを導入して良かったこと、導入に当たって直面した課題、1年弱やった感想についてまとめます。 Kotlinを導入して良かったこと 安心感を持ってコードを書ける 個人的には「特に意識しなくてもnull安全・immutableなコードが簡潔に書けるようサポートが行き届いていて、その中でコードを書ける」というのがKotlinを導入して最も良かったことです。 やろうと思えばJavaでもKotlinと同じくらい堅牢なコードは書けますが、そのために必要とされる知識や努力は大きく、コードも煩雑になります。 また、「コード全体が基的に安全な方向に作られている」という安心感はJavaに無いもので

    プロダクトにKotlinを導入して1年弱経ったので振り返る - MicroAd Developers Blog
  • MAASを導入した話 - MicroAd Developers Blog

    こんにちは。マイクロアドでインフラエンジニアをしているハダです。 2回目にして久々のブログ執筆です。 今回の記事では、マイクロアドで利用を始めたCanonical社のMAASについて記事を書いていきたいと思います。 インストール方法や使い方などの詳細については公式ドキュメントを読んだほうが確実ですのでこの記事の中で触れていません。 背景 マイクロアドではPXE bootとkickstartを利用したOSインストールを、長年利用しています。 現在もその仕組は現役なのですが、今回はデータセンターの移設に伴ってMAASの導入を進めていくことになりました。 マイクロアドでの課題 マイクロアドではPXE BootとkickstartによるOSの自動インストールを行ってきました。 過去から引き継ぎ、より使いやすいようにしてきましたが以下のような課題も出てきました。 PXE Bootを利用したインストー

    MAASを導入した話 - MicroAd Developers Blog
  • アラートメールのslack通知の話 - MicroAd Developers Blog

    マイクロアドでアプリケーションエンジニアをしているタカギです。 バッチ開発がメインのチーム(第4開発ユニット:通称ゆーよん)に所属しています。 バッチといえば避けては通れないのが、アラート対応ですね。 そういうわけで、今回の記事では、アラートメールのslack通知について記事を書いていきたいと思います。 背景 マイクロアドでは、非常に多くのバッチ処理が走っています。バッチスケジューラとしては、最近はDigdagが主流ですが、一部にはJenkins、Rundeckなどから実行されるバッチも存在します。また、監視ツール系のバッチはcrontabで動いていたりもします。 大抵の場合、アラートメールはメーリングリスト宛に送信され、所属しているメンバーの会社の個人メールアドレスに届く事が多いと思います。 個人のメールボックスには、アラートメール以外にも多くのメールが届いているはずなので、必然的にアラ

    アラートメールのslack通知の話 - MicroAd Developers Blog
  • Vue 3 に向けて Composition API を導入した話 - MicroAd Developers Blog

    システム開発部アプリケーションエンジニアの Edy です。 マイクロアドの WEB アプリケーションのフロントエンドは、大半を Vue.js を用いて開発しています。 その Vue.js ですが、「Vue 3 is now in RC! (Vue 3 is now in RC! · Issue #189 · vuejs/rfcs · GitHub)」が公開され、version 3 ( Vue 3 ) が盛り上がりを見せています。 今回は、Vue 2 から 3 へ移行する理由と、 2 から 3 へ version up するために行なっている Composition API の導入 についてお話していこうと思います。 そもそも Vue.js とは ? SFC TypeScript Vue 2 の限界 大規模なプロジェクトになるほど開発効率が落ちる ロジックの再利用にかかるコストが大きい 単

    Vue 3 に向けて Composition API を導入した話 - MicroAd Developers Blog
    kmatsumiya6
    kmatsumiya6 2020/08/12
    執筆お疲れさまです。勉強になりました。
  • Workplace from Facebookを導入した話 - MicroAd Developers Blog

    はじめまして。IT戦略グループの比嘉です。 マイクロアドでは社内コミュニケーションツールとして、Facebook社のWorkplaceというビジネス向けSNSを利用しています。2017年11月に利用を開始していますので3年弱の運用を続けています。 今回は導入に至った経緯や社内での活用方法などをご紹介したいと思います。 Workplaceとは? Facebookが2016年10月にリリースしたビジネス向けSNS「Workplace from Facebook」です。 企業及び企業間コミュニケーションツールです。 左がFacebookで、右がWorkplaceです。 導入経緯 導入以前は様々なツールが乱立し情報が入り乱れていました。 BLOG 社内向けに複数ブログが存在し、それぞれのブログを包括しているプラットフォームが存在せず、アクセスが手間でした。また、WordPressの特性上、コメント

    Workplace from Facebookを導入した話 - MicroAd Developers Blog
  • Chrome84(beta)におけるUser-Agent Client Hintsの調査 - MicroAd Developers Blog

    Chrome84(beta)におけるUser-Agent Client Hintsの調査 はじめまして。Tech Labの郭です。 Tech Labは弊社の開発効率・運用効率・技術レベルの向上を目的として、業界最新かつ有効な技術を研究・導入するチームです。 今回はブラウザ界隈の最新仕様、User-Agent Client Hints(以下UA-CH)の調査結果を少し共有したいと思います。 UA-CHは Client Hintsの拡張で、仕様自体1はまだ提案中のため、確定していません。 この調査結果は、2020/6/16時点 Chrome84(beta)での検証結果となります。 調査経緯 今年の1/14に現在UA-CHの策定者の1人、GoogleのYoav Weiss氏から一通のGroupメール、「段階的にUser-Agent文字列を非推奨と凍結にする2」の中で、2020中に段階的にUser

    Chrome84(beta)におけるUser-Agent Client Hintsの調査 - MicroAd Developers Blog
  • 研修を終えて思ったこと - FLINTERS Engineer's Blog

    初めまして、今年新卒入社した北井です。 研修が日で終わりなので振り返っていきたいと思います。 自己紹介 まずは軽く自己紹介させてもらうと、中学卒業後に、高専の情報工学科に入り、C,C++,PHPなどを学んで、卒業研究ではC++を使ったシステムを開発しました。その後、フィンテックの領域を学ぼうと、大学の経済学部経済工学科に編入したんですが、入ってからは学生起業に興味を持ってしまって、講義では経営学とか計量経済学中心に学び、放課後起業していたので、技術的なことをほぼ触らない生活をしてました。弊社には、今まで学んだことを生かせそうな職場で且つ起業や新規事業に前向きな印象から入社しました。 研修について 研修の全体的な特徴で言えることは、コロナによってリモート研修だったことですかね。BN含め社員の殆どの人とあったことがない状態での研修は、4月の頭の方は特に違和感がすごかったです。(笑) 個々の研

    研修を終えて思ったこと - FLINTERS Engineer's Blog
  • 人は知ってることしか見えない - いつか博士になる人へ

    大学院に入ったばかりの頃、配属された研究室で研修を受けた。 僕は先輩について回って、実験機器を使ってみたり、実験ノートのとり方を教えてもらったりした。 ある日、先輩が先生たちとミーティングをするというので見学させてもらった。 そのときのことは今でもよく覚えている。 最初に、先輩が実験でとれたデータについて説明した。 先輩の堂々とした説明を聞いて、僕はとても感銘を受けた。 ふんふんとうなずきながら、はたして自分はこんなふうに説明できるだろうか(いや、できない)と思っていた。 でも先輩の説明が終わったとき、 「なんか変だね」 と助教さんが言った。そして、 「普通はこうなるはずなんだけど」 と、他のデータとの違いを指摘した。 先輩と僕は他のデータを知らなかったから、そこが変だと気がつかなかった。 なぜこのデータは変なんだろうねと、皆でうんうん考えていると、 「3次元でグラフを描いてみて」 と先生

    人は知ってることしか見えない - いつか博士になる人へ
  • 【翻訳】技術的負債という概念の生みの親 Ward Cunningham 自身による説明 - t-wadaのブログ

    システム開発の世界において「技術的負債Technical Debt)」は繰り返し話題になり、しばしば炎上しています。 技術的負債という概念の生みの親は Ward Cunningham (ウォード・カニンガム)です。彼は 1992 年にオブジェクト指向プログラミングの国際カンファレンス OOPSLA '92 の Experience Report でコードの初回リリースを負債に例えました("Shipping first time code is like going into debt")。 Ward Cunningham はソフトウェアの世界に多くの貢献を果たしてきました。Wiki の発明者であり、XP と TDD の父 Kent Beck の師匠のような存在であり、建築の世界の「パタン・ランゲージ」を Kent Beck と共にソフトウェアに輸入した人であり、「アジャイルソフトウェア開

    【翻訳】技術的負債という概念の生みの親 Ward Cunningham 自身による説明 - t-wadaのブログ
  • Moleculeのdelegatedドライバ + OpenStackでAnsibleのテストを行う - MicroAd Developers Blog

    インフラエンジニアの長田です。 今回は、Ansibleのテスト支援ツールであるMoleculeの実践例について記事にしたいと思います。MoleculeはDockerPodmanでコンテナを起動し、その中でAnsibleロールのテストを簡潔に行うことができる便利なツールですが、Ansibleで実行したいロールの中にはgrub2のようなブートローダのコンフィグやカーネルパラメータの変更、ネットワーク機器の操作など、コンテナ上でのテストが困難であるケースも存在します。そこで、Moleculeのdelegatedドライバを用いてOpenStack上にインスタンスを構築し、これらのテストを実現したいと思います。 以下、各ツールのバージョンについて、Ansibleは 2.9.9 を、Moleculeは 3.0.4 を前提としています。 OpenStackインスタンスの作成・削除 Moleculeのd

    Moleculeのdelegatedドライバ + OpenStackでAnsibleのテストを行う - MicroAd Developers Blog
  • マイクロアドのログ蓄積の流れ - MicroAd Developers Blog

    はじめまして。サーバサイドエンジニアの前西と申します。主にETL処理*1のバッチ開発を行っています。 マイクロアドでは、広告配信ログやアクセスログなどのデータを元にして、様々な加工を行った上で蓄積を行なっています。 今回の記事では、私が普段業務で扱っているデータの蓄積処理について、生ログが加工されてデータの利用者側へと渡るまでの流れをご紹介できればと思います。 データ基盤 以前の記事でも紹介されていますが、マイクロアドではデータ基盤にHadoopを利用しています。 developers.microad.co.jp 下図のように、Kafkaに集約された数TB規模の広告配信ログ・アクセスログはFlumeでHadoopクラスタへと転送された後、Hadoop内で加工や集計などの処理が行われています。 ログ変換 HadoopではJSON形式の生ログからParquet形式のデータへの変換がまず行われま

    マイクロアドのログ蓄積の流れ - MicroAd Developers Blog