k_osawaのブックマーク (166)

  • サマーオンライン勉強会を開催します! - MicroAd Developers Blog

    こんにちは。サーバーサイドエンジニアをしている武井と申します。 日は、私が所属している採用委員会からのお知らせをさせていただきます! 【22卒エンジニア】サマーオンライン勉強会 | 株式会社マイクロアド 22卒向け サマーオンライン勉強会を開催します!🏝 2020年9月6日(日) 15:00 ~ 18:00 に サマーオンライン勉強会を開催します! 勉強会の内容ですが、ざっくり言うと 「マイクロアドの会社紹介」と「アドテクの基礎」と「機械学習に関するマイクロアドの取り組み」の3つです。 ※ アドテクとは、アドテクノロジーの略で「インターネット広告に関するシステム」を指しています。 1.マイクロアドの会社紹介 マイクロアドはデータとテクノロジーをかけ合わせたマーケティングプラットフォームを提供する会社です。 「たまたま見つけたけど、マイクロアドってどんな会社だ」 だったり、 「エンジニア

    サマーオンライン勉強会を開催します! - MicroAd Developers Blog
    k_osawa
    k_osawa 2020/08/21
  • 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
  • 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
    k_osawa
    k_osawa 2020/07/27
  • 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
  • リモートワークでDiscordを導入しました - MicroAd Developers Blog

    追記:この記事がきっかけで活用事例としてに紹介されました。詳しくは以下をご覧ください。 developers.microad.co.jp マイクロアドのサーバサイドエンジニアでチームリーダーを担当している松宮です。 マイクロアドは先月まで全社員フルリモートで、現在はリモートワークを取り入れた新しい働き方を模索している段階です。 リモートワークにおけるコミュニケーションは大きな課題であり、いくつかの試行錯誤がありました。現在はタイトルにもあるように音声・ビデオ通話ソフト「Discord」を導入することで、コミュニケーションの改善をはかっています。 今回は、Discordを導入して、どのようにコミュニケーションを改善したかをご紹介したいと思います。 Discordとは そもそもDiscordとは、無料で利用できるゲーマー向けの音声・ビデオ通話ソフトです。クラウド上にサーバをホスティングし、ユ

    リモートワークでDiscordを導入しました - MicroAd Developers Blog
  • 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
    k_osawa
    k_osawa 2020/06/18
  • 新卒2年目のエンジニアがモノイドの数学的な定義について調べてScalaで実装してみた - MicroAd Developers Blog

    はじめに モノイド 代数学 圏論 Scalaでモノイドを実装する 代数学的な定義に従った整数を加算するモノイドの実装 圏論的な定義に従った整数を加算するモノイドの実装 モノイドの合成 Catsによるモノイドの利用例 おわりに はじめに こんにちは。マイクロアドでソフトウェアエンジニアをしている飛田と申します。私は主に UNIVERSE Ads というプロダクトの開発に携わっています。 UNIVERSE Ads では、より関数型ライクな設計や実装を取り入れることにより、高い保守性を目指しています。 この記事では、関数型プログラミングの入門的な話として、モノイドについて調べてみたので、この記事で共有させていただきたいと思います。 モノイドについてより深い理解をするために、まず、圏論と絡めたモノイドの説明をしたいと思います。 そしてその次に、より理解を深めるために、Scala のサンプルコードを

    新卒2年目のエンジニアがモノイドの数学的な定義について調べてScalaで実装してみた - MicroAd Developers Blog
    k_osawa
    k_osawa 2020/05/19
    モノイド
  • Hive パフォーマンスを改善する設定の紹介 - MicroAd Developers Blog

    マイクロアドではデータ基盤に Hive が使われています。 データ基盤について、以下の記事をご確認ください。 MicroAdのデータ基盤 より使いやすいデータ分析基盤にするために この一年間、Hive を使う機会が増えましたのでクエリパフォーマンスを改善する為に Hive 設定を試行錯誤しましたので、その中からいくつか紹介します。 前提条件 1. Vectorization 2. Cost-based Optimization (CBO) 3. 並列実行 4. MapJoin 参考リンク 前提条件 Hive 1.1.0-cdh5.14.0 まず基ですが SET; を実行すると、以下が表示されます。 システム変数 環境変数 Hadoop 設定(ユーザーが定義した・デフォルトプロパティ) Hive 設定(ユーザーが定義した・デフォルトプロパティ) set, define, hivevar で

    Hive パフォーマンスを改善する設定の紹介 - MicroAd Developers Blog
  • Jestを使ったVueコンポーネントのテストを導入した話 - MicroAd Developers Blog

    はじめまして、フロントエンドエンジニアをしている川上です。 業務では、主にサービス要件に沿ったフロントエンド開発を担当しています。 今回は、私自身初めての経験だったフロントエンドのテスト導入手順や、 導入するにあたって気をつけた点などをお話しできればと思います。 はじめに Vueコンポーネントのテストについて Jestの導入について Jestを利用したテスト おわりに はじめに マイクロアドには様々なプロダクトがありますが、私の担当しているUNIVERSEというプロダクトについては、 フロントエンドフレームワークにVue.jsを利用しています。 jp.vuejs.org テストの導入を行うにあたって、今後、現在利用しているVue2をVue3へ移行していくことを考えると*1 TypeScript*2でテストを書いていくのがいいということになりました。 また、TypeScriptのメリットでも

    Jestを使ったVueコンポーネントのテストを導入した話 - MicroAd Developers Blog
  • 新卒がMLOpsに挑戦していく話 - MicroAd Developers Blog

    システム開発部のデータサイエンスユニットに所属している19新卒の豊原です。 巷で結構耳にするMLOpsですが、結構苦労していらっしゃる組織も多いと考えます。 今回の記事では、マイクロアドで挑戦するMLOpsについての概要と、その挑戦について解説します。 機械学習システムが抱える根的な問題 私たちの思うMLOpsとは CEという概念 レコメンドシステムが抱える根的な性質 マイクロアドが作るシステムの現状 MLOpsで実現すること 技術的詳細 Airflowを用いて学習を同時並行で回す MLflowを用いて学習結果を保存する 機械学習エンジニア絶賛採用中 機械学習システムを構築する上で、他の通常のシステムと決定的に違うことがあります。 それはシステムの劣化の早さ*1と問題調査という点にあります。 機械学習システムが抱える根的な問題 機械学習システムが抱える根的な性質として、データを基

    新卒がMLOpsに挑戦していく話 - MicroAd Developers Blog
  • Cloud 版 Jira Service Desk の導入と社内ワークフローの整理 - MicroAd Developers Blog

    マイクロアドでコーポレートエンジニアをしている米田(マイタ)です。 マイクロアドでは以前から Atlassian 社の Cloud 版 Jira Software と Confluence を導入していますが、今回は「2019年から Jira Service Desk を導入して社内のワークフローを整理している話」について書きたいと思います。 1. きっかけ 2. Jira Service Desk とは 3. Jira Service Desk の検証 3.1. カスタマーとエージェント 3.1.1. カスタマー 3.1.2. エージェント 補足:コラボレーター 3.2 コメント 3.3. 承認処理 3.4. 自動化 3.5. アドオン 3.5.1. Automation for Jira Cloud 3.5.2. Smart Checklist for Jira Cloud 3.6.

    Cloud 版 Jira Service Desk の導入と社内ワークフローの整理 - MicroAd Developers Blog
    k_osawa
    k_osawa 2020/03/06
  • より使いやすいデータ分析基盤にするために - MicroAd Developers Blog

    京都研究所・TechLabの田中です。 今回は、データ分析基盤をより使いやすくするために実施した取り組みをご紹介します。 この記事では、結論だけでなくそこに至るまでの過程も一緒に紹介しているので、実務の雰囲気の一端も感じ取っていただければ幸いです。 1.ことの始まり 2.状況の整理 2-1 Hive on MR 2-2 Complex型のカラムに対する pushdown が機能しない 3.対策を考える 3-1 Hive on MR 以外の選択肢 3-2 ネストしたカラムへのpushdown 3-3 必要なアクションは? 4.つまづきポイント 4-1 HDFSファイルが圧縮できていない 4-2 そのDDLは無力 4-3 SETで指定するパラメータ 4-4 HDFSファイルの圧縮形式を確認 5.対策の効果 参考リンク 1.ことの始まり マイクロアドでは、すべてのデータを1つのHadoopクラス

    より使いやすいデータ分析基盤にするために - MicroAd Developers Blog
    k_osawa
    k_osawa 2020/02/18
  • マイクロアドの新卒エンジニアがCatsに入門してみた - MicroAd Developers Blog

    目次 目次 はじめに 型クラス シンタックス インタフェースオブジェクト implicitlyメソッド Catsの型クラスとインスタンス Catsまとめ 考察および雑感 型クラスのメリット 実装の責務のイメージ 終わりに はじめに こんにちは、19新卒バックエンドエンジニアの飛田です。 マイクロアドでは、プロダクトの一部にCatsという関数型プログラミングを行うためのライブラリを導入しています。 現状では、広告掲載料の算出やログの処理、エラー処理などを中心にCatsを使用していますが、今後、Catsをより多くの用途で使用していく予定です。 というわけで、今回、Catsの初歩的な内容を自分でまとめてみることにしました。 型クラス 型クラスは実装したい機能を表すインターフェースです。Catsにおいて、型クラスは少なくとも1つの型パラメータをとります。 以下のサンプルコード*1は、型クラスを使っ

    マイクロアドの新卒エンジニアがCatsに入門してみた - MicroAd Developers Blog
    k_osawa
    k_osawa 2020/02/18
  • Apache Hadoop OzoneがCSIに対応(=Kubernetesでも使える)してたのでお試してみる - やっさんメモ

    qiita.com qiita.com 遅れてしまいましたが、この記事は、 MicroAd Advent Calendar 2019 及び Distributed computing (Apache Spark, Hadoop, Kafka, ...) Advent Calendar 2019 - Qiita の20日目の記事です。 公式ドキュメント より TL;DR Apache Hadoop Ozoneって? Ozoneのアーキテクチャ さっそくお試ししてみる クラスタの用意 ダッシュボードの準備 kubectlからMicroK8sのクラスタを触れる様にようにする Ozoneのデプロイ 管理画面(SCM)の確認 awsコマンド使ってファイルをputしてみる バケットの作成 適当にputしてみる 確認 最後に 補足 スライド 動画 その他 TL;DR Apache Hadoop Ozon

    Apache Hadoop OzoneがCSIに対応(=Kubernetesでも使える)してたのでお試してみる - やっさんメモ
    k_osawa
    k_osawa 2019/12/27
  • 人生のステージに応じた壁と井口祐未 - sola

    これは SHIROBAKO Advent Calendar 2019 22 日目の記事です。 SHIROBAKO とは一体何なのか。この問いに対して 10日目の記事 では、 「辿り着きたい場所」に向かっていく物語 という一つの仮説にたどり着いていました。答えは無数にありそうですが、それを抽象化した結果が SHIROBAKO は人生 なのだと思います。 それは SHIROBAKO に登場するストーリー/キャラクターが、誰しもの過去/現在/未来の人生と重なる部分があるからです。今回は数ある SHIROBAKO と自分の人生の重なりの中でも、井口祐未のストーリーについて振り返ってみようと思います。 ちゃぶだい返し 『ちゃぶだい返し』は 16話のタイトルであり、ストーリーとしてはキャラクターデザインを担当している井口のデザインに対して原作者からダメ出しを受け、修正を繰り返していくうちに井口が追い詰

    人生のステージに応じた壁と井口祐未 - sola
    k_osawa
    k_osawa 2019/12/24
  • GCP環境にCloudera Altus Directorを入れてみた話 - MicroAd Developers Blog

    Distributed computing (Apache Spark, Hadoop, Kafka, ...)のカレンダー | Advent Calendar 2019 - Qiita の 2日目(12/2)の記事になります! qiita.com インフラエンジニアのN村です。子育て中につき時短で勤務中です。 今日は、育休開け早々にGCP環境にCloudera Altus Directorを導入した時の話をします。 なぜCloudera Altus Directorを? なぜGCPに? 前提 導入ステップ Directorでのデプロイ作業のなかで出てくる用語 「Environment」 「Deployment」と「Cluster」 「Instance Template」 悩んだ点 プリエンプティブルVMの使用 スペックについて Clouderaのドキュメントについて 良かったこと 最後に

    GCP環境にCloudera Altus Directorを入れてみた話 - MicroAd Developers Blog
    k_osawa
    k_osawa 2019/12/12
  • 奥只見から新潟へ - 日々に疎し

    新潟県と福島県の境に奥只見湖(銀山湖)と呼ばれる湖がある。只見川の上流に位置して総貯水量は日で2番目という大きな人造湖だ。 そこからさらに上流部の奥只見川の流で釣りをすることにした。 入渓してすぐに反応がありヤマメとイワナが顔を見せてくれた。 釣り上がりたかったのだが100mほど先に釣り人の影が見える。そのため支流へ入り釣りを続けることにした。 支流では倒木にキノコが生えていた。おそらくツキヨタケではないだろうか。シイタケに似ているため毒キノコと思わずに中毒する人もいるとのことだ。 支流でも先行者がいたようで反応がなくなってしまったため流へ戻り釣り下ることにしたのだが禁漁の直前ということもあってか時間と共に釣り人の数が増え100mごとに釣り人の影が見える状況になってしまった。 道路脇の少ないスペースも満車状態でこれではなかなか難しい。思い切って川を下り新潟の河川で釣りをすることにした

    k_osawa
    k_osawa 2019/12/11
  • データ指向アプリケーションデザインを読んでLSM-treeインデックスに基づくKVSを作る - 油そば

    この記事はMicroAd Advent Calendar 2019の4日目の記事です。 qiita.com はじめに どういうKVSを作るか 手始めにログベースのKVS 書き込み, 読み取り, 削除 ログフォーマットの決定 実装 LSM-treeインデックスを持つKVSを実装する 書き込み MemTableからSSTableの生成 SSTableの反映 SSTableのマージとコンパクション バッファを使ったマージ&コンパクション ステップ1. SSTable毎にキーを読み出す ステップ2. バッファ内の最小のキーの最新の値を読み出す 再起動時の復元 アクターで組み立てる 書き込みのケース 読み取りのケース コード はじめに データ指向アプリケーションデザインは今年買って読んだ技術書の中で最も読み応えがあったでした。 www.oreilly.co.jp 単に周回で読むだけでも学びが多い

    データ指向アプリケーションデザインを読んでLSM-treeインデックスに基づくKVSを作る - 油そば
    k_osawa
    k_osawa 2019/12/04
    本筋と関係ないけどバイナリー表現でサイズ->実値の順になってない理由はなんでだろ
  • エンジニアからプロダクトマネージャーになっての気付き - BASEプロダクトチームブログ

    この記事はBASE Advent Calendar 2019の1日目の記事です。 devblog.thebase.in こんにちは。BASE BANK株式会社でプロダクトマネージャーをしている柳川(@gimupop)です。 直近では、即時に資金調達ができる金融サービス「YELL BANK(エールバンク)」というプロダクトのグロース施策に取り組んでいます。 今回はアドベントカレンダーということで、今年僕個人にとって一番大きな変化であった、サーバーサイドエンジニアからプロダクトマネージャーにジョブチェンジしたことを題材に記事を書きます。 プロダクトマネージャーになった顛末 僕はもともと新卒時から、サーバーサイドエンジニアとして働いていました。会社の雰囲気はそれぞれ違っていて、どちらかというとエンジニアの役割が限定的な会社で働いていました。BASE入社後もサーバーサイドエンジニアとして入社し働い

    エンジニアからプロダクトマネージャーになっての気付き - BASEプロダクトチームブログ
    k_osawa
    k_osawa 2019/12/03
    プロダクトマネージャは、Howにより過ぎない
  • KotlinフレンドリーなBeanPropertyRowMapper的なものを作った - MicroAd Developers Blog

    アプリケーションエンジニアの宮田です。 自分のチームでは、10月から既存のSpringBootプロジェクトKotlinの導入を進めています。 今回は、そんな中で直面した課題への対策として、「KotlinフレンドリーなBeanPropertyRowMapper的なもの」を作った件についてまとめます。 BeanPropertyRowMapperとは まずはじめに、RowMapperインターフェースと、その実装の1つであるBeanPropertyRowMapperについて説明します。 RowMapperとは、JdbcTemplate::query等の処理を実行した際に、DBから取得した結果とJavaのオブジェクトとを紐づける機能のインターフェースです。 RowMapperを手動で書いた場合、以下のようになります。 ResultSetからカラム名と対応する型でそれぞれ取得を行い、SampleCl

    KotlinフレンドリーなBeanPropertyRowMapper的なものを作った - MicroAd Developers Blog
    k_osawa
    k_osawa 2019/11/18
    kotlin