k_osawaのブックマーク (166)

  • 社内電話システムをリプレイスした話 - MicroAd Developers Blog

    マイクロアドで社内システムの管理や運用、ヘルプデスクをしています高橋と申します。 今回は直近で行いました社内電話システムをリプレイスした話をしたいと思います。 リプレイスの背景 マイクロアドはPHSとPBXを利用した社内電話システムを使用していたのですが、まだ先の話ではありますがPHSのサービスが終了するとの事で、社内電話システムのリプレイスをすることになりました。 リプレイスの条件 リプレイスをする際の要件として、今まで使用できていた機能で必要なものを出来る限り残した上で、ネックであった管理コストを軽減出来る事を前提としました。 以前のシステムではPHSで0ABJ番号を使用した発着信や同じグループ間でのピックアップ等色々と出来ており便利ではあったのですが、専用の機器を利用しないといけなかった為、設定の変更等をこちら側で自由にすることが出来ず、変更はすべて業者に依頼を出して設定を変更しても

    社内電話システムをリプレイスした話 - MicroAd Developers Blog
    k_osawa
    k_osawa 2019/01/28
    dialpadは文字起こし機能がついているのだけど間違えているけど面白い文章作りがち
  • 新卒が初めてScalaを触って詰まったところと解決方法 - MicroAd Developers Blog

    18新卒でマイクロアドに入社した山城です。 今回はScalaを一切触ったことのない僕が、いきなりScalaで開発を初めて困ったところと、どうやって解決していったのかをセットにして紹介したいと思います。 初心者がどこで詰まるのかというところ、どのようにして解決したのかを見ていただいて、新人にScalaを教える際の参考にしていただけたらと思います。 目次 前提 新人がScalaで困ったこと一覧 Scalaってそもそもなに? JavaでかけてしまうのでJavaで書いてしまう Optionの扱いにはじめ戸惑う Scala特有のコレクションの扱いに戸惑う まとめ 前提 前提として、僕がどれくらいプログラミングができるのかを話します。 入社半年の新人で、普段はJavaを使って既存のプロダクトの改修や、新規プロジェクトのサーバーサイドからフロントまでを書いています。Scalaは名前だけ知っているくらいで

    新卒が初めてScalaを触って詰まったところと解決方法 - MicroAd Developers Blog
    k_osawa
    k_osawa 2019/01/11
    Optionは他の言語にも欲しくなることが多い
  • 2018年アドベントカレンダー完走 - MicroAd Developers Blog

    MicroAd Advent Calendar 2018 - Qiita 昨年から参加しているアドベントカレンダー(2017年はこちら)、今年も参加表明してくれたメンバーが頑張ってくれたおかげで完走することができました。年末の忙しい時期に時間を割いて投稿してくれた皆さんお疲れ様でした! せっかく完走したのにQiitaを見ていない人もいると思いますのでブログで全記事を一挙紹介!といきたいところですが上記リンクから辿れますので、ここでは気になった記事をピックアップして紹介したいと思います。 思った以上にカテゴリがバラバラだったので絞り込みをしようと思います。記事にタグがついているのでタグが多かった記事を探してみることにします。 qiita.com この記事を参考に全記事をスクレイピングして、 <meta content="キーワード1,キーワード2,..." name="keywords" /

    2018年アドベントカレンダー完走 - MicroAd Developers Blog
    k_osawa
    k_osawa 2018/12/31
  • Redis x MessagePack - MicroAd Developers Blog

    こんにちは。 マイクロアドでアプリケーションエンジニアをしている新卒1年目の武井です。 今回は私が最近の案件で Redis と MessagePackを使った開発のお話をさせていただければと思います。 Redis と MessagePack まず題名のRedisとMessagePackのそれぞれの説明を超軽くしたいと思います。 Redisとは、高速に動作するインメモリのキーバリュー型のデータベースです。 そしてMessagePackとは、JSONの置き換えとして利用できる効率の良いバイナリ形式のオブジェクト・シリアライズ フォーマットです。 Redisは有名ですが、MessagePackに関して初めて聞いたという人も少なくないのではないでしょうか。少しだけどのようなものか見ていきます。 MessagePackについて MessagePackはあらゆるオブジェクトをシリアライズ・デシリアライ

    Redis x MessagePack - MicroAd Developers Blog
    k_osawa
    k_osawa 2018/12/20
    MessagePackのシリアライザをJacksonに渡せる所が面白い
  • DockerライクなUXでCloud Nativeな体験が出来るらしいRioを試してみる - やっさんメモ

    qiita.com 遅れてしまいましたが、この記事は、 MicroAd Advent Calendar 2018 の16日目の記事です。 はじめに Rioって何? コンセプト 実際にお試ししてみる GCEでインスタンスの用意 Rioのインストール Rio Serverの起動 Rio Serverに接続 カナリアリリースを試してみる 最後に はじめに 当は、 Rancher Labsの RKE を試す記事にしようかなぁと思っていたが、すでに他社の別の人 1 がやっているのを観測してしまったので、どうせなら、 同じく気になっていた Rio に変更しました。 とは言え、 febc-yamamoto.hatenablog.jp 上記の記事とも被りますが、そんな事を言いだしたら永久に何も出来ないので、まずは、 「個人的な興味として」 触りたい(大事)。 って事で続きます。 Rioって何? ranc

    DockerライクなUXでCloud Nativeな体験が出来るらしいRioを試してみる - やっさんメモ
  • 信じる者なのでどうぞ救ってください - It is fine

    親戚の法事に行ってきたんだが、法事って坊さん来るじゃない。当たり前だけど*1。 坊さんがお経読み終えて法事が一通り済むと、みんなでご飯べるでしょ。 その時、たまたま坊さんの横に座ってしまったのよ*2。 んでまあ会話せざるを得ない状況になって、 「大学では心理学の研究やってたんですよ、HAHAHA」って話したのよ。 「ふーん」で終わると思ってたんだけど、 そしたらその坊さんが心理学ってキーワードに予想以上にいついてきたのね。 坊さん曰く、 心理学ってのは、ヒトの思考をデータ・事実に基づいて科学的に研究する立場。 宗教ってのは、神とか仏とか極楽浄土とか、いわば「空想の産物」*3を信じることしかできない立場。 ヒトのココロだの心情だのと密接にかかわり合う領域っていう点ではどっちも同じ気がするけど、 そのスタンスは真逆。 らしいのよ。んで、 「心理学の人たちには、我々のような宗教ってどう映って

    信じる者なのでどうぞ救ってください - It is fine
    k_osawa
    k_osawa 2018/12/12
    心理学 vs お坊さん
  • 心理物理学入門 - It is fine

    1. はじめに この記事はMicroAd Advent Calendar 2018の12日目の記事です。 今回は心理物理学と呼ばれる領域のお話です。あまり聞き慣れない言葉だと思いますが、この記事ではその導入として、基的な知識を解説していきます。 2. 古典的心理物理学 まずはじめに、心理物理学とはどのような世界なのか見てみましょう。 我々人間は常に感覚器を通して外界を認識しています。例えば外界の光は眼(の奥にある網膜)で検出していることはよくご存知だと思います。 このまま光を例に考えてみましょう。我々が普段感じている明るさ、あるいは「見えている」という感覚は、ある強度と波長をもった可視光によって引き起こされたものになります。このことは、明るさのように我々人間が感じる心理的な量と、可視光のように外界に存在する物理的な量が、感覚器を媒介にして関連していると捉えることができます。 このような心

    心理物理学入門 - It is fine
    k_osawa
    k_osawa 2018/12/12
    あとで読む
  • 機械学習処理におけるカテゴリ変数の扱い方(Feature hashingについて) - MicroAd Developers Blog

    こんにちは!機械学習エンジニアの桶原です。 業務では主に機械学習処理を用いた広告効果予測と改善をテーマとしています。 今回は機械学習処理におけるカテゴリ変数の扱い方の中でもあまり触れられることのない、Feature hashingを利用した方法についてお話できればと思っています。 カテゴリ変数の取り扱い Feature hashingとは Feature hashingの種類 hashing functionの比較 概要 注意事項 実装 1. Shi's hash function 2. Weinberger's hash function 結果 次元圧縮手法としてのFeature hashing 1. Shi's hash function 2. Weinberger's hash function まとめ カテゴリ変数の取り扱い カテゴリ変数の扱う方法として多くの教科書ではOne ho

    機械学習処理におけるカテゴリ変数の扱い方(Feature hashingについて) - MicroAd Developers Blog
  • Scala関西Summit 2018に参加したので感想を書きます - MicroAd Developers Blog

    マイクロアドのサーバサイドエンジニアの松宮です。少し時間が経ってしまったんですが、今年もScala関西Summitに参加してきましたのでマイクロアドと絡めながらつらつらと感想を書きたいと思います。 ちなみに今年はマイクロアドからも初めてスポンサードさせて頂きました! 今までもマイクロアドではScalaを採用したプロダクトはいくつかありましたが、全体ではJavaがメインだったため、Scala関係のイベントへのスポンサードはしておりませんでした。しかしここ数年でApache Sparkを採用したり、主要プロダクトのScala化をきっかけに社内全体にScalaが浸透していき、その結果、今回のScala関西Summit 2018へのスポンサードができました! Apache SparkやScalaへの変遷については以前のブログ記事で紹介させて頂いていますので、良ければご覧ください。 順序保証型分散ス

    Scala関西Summit 2018に参加したので感想を書きます - MicroAd Developers Blog
    k_osawa
    k_osawa 2018/11/20
    松宮さんぜひRustも触ってみてください
  • Wikipedia2Vecを用いた文書分類 - MicroAd Developers Blog

    こんにちは、機械学習エンジニアの岸です。マイクロアドのシステムにおいて、機械学習などデータ解析が関わる部分の研究開発を行っています。 学生時代は、医用画像を対象とした医師の診断を支援するシステム (Computer-Aided Diagnosis; CAD) の研究開発を行っていました。マイクロアドに入社してからは、画像解析や広告配信のログを対象とした機械学習を行ってきましたが、最近では主に自然言語処理を行っています。 広告配信をユーザへの広告のレコメンドと捉えると、ユーザに対してWebページの閲覧履歴などから、「何にどれだけ興味があるか」を定量的に評価することが重要です。そこでWebページに記載されている内容から、トピックを推定したり重要なキーワードを抽出したりすることが必要になってきます。マイクロアドでは、こういったところで自然言語処理を活用しています。 自然言語処理においてWiki

    Wikipedia2Vecを用いた文書分類 - MicroAd Developers Blog
  • ホワイトボックススイッチとCumulus Linuxを使った話 - MicroAd Developers Blog

    はじめまして。マイクロアドでインフラエンジニアをしているハダです。 今回の記事では、マイクロアドで採用しているホワイトボックススイッチと、 その上で動かしているCumulus Linuxについて導入から使用している感想までを書いていきたいと思います。 背景 マイクロアドでホワイトボックススイッチの検証を始めたのは、2015年4月頃からだったと記憶しています。 当時ホワイトボックススイッチが"ちまた"で話題になり始めた頃で、 インフラチーム内でも「実際どうなんだろうね…」と興味はあるけどという状況でした。 ホワイトボックススイッチとは 従来のネットワークスイッチは、購入するとハードウェアとソフトウェア(OS)がセットになって提供されてきました。 ユーザはハードウェアとソフトウェアの組み合わせを自由に行うことはできず、 操作コマンドもスイッチメーカーが提供する独自のものを利用する必要がありまし

    ホワイトボックススイッチとCumulus Linuxを使った話 - MicroAd Developers Blog
    k_osawa
    k_osawa 2018/11/01
    Spine-Leaf構成というものを初めて知った
  • Rustのクエスチョンマーク - 簡潔なQ

    Rustに出現するクエスチョンマーク let f = File::open("input.txt")?; はRust 1.13で導入された機能で、ほぼ try! の構文糖衣である。 「ほぼ」というのは、 ? が将来的にはより汎用的に使えるように設計されているためで、 Result に限らない一般の std::ops:Carrier に対して動作する。 構文的には、 ? はメソッドチェーンと同じ優先度で解釈される。 (syntax::parse::parser 2495行目) let j = a??.x?.f????().g().y??; let j = ((((((((((((((a?)?).x)?).f)?))?)?)?)()).g()).y)?)?; わかりやすく言うと ? は try! の構文糖衣のようなものである。 try! の定義は以下の通り。(core::macros 309行

    Rustのクエスチョンマーク - 簡潔なQ
    k_osawa
    k_osawa 2018/10/07
  • Digdagを使ったジョブ管理 - MicroAd Developers Blog

    はじめまして。アプリケーションエンジニアの中野です。 以前、MicroAdのデータ基盤の記事で紹介されていましたが、マイクロアドではデータ基盤刷新のタイミングでワークフロー管理ツールのDigdagを採用しました。 今回の記事では、Digdag採用の経緯やワークフローを作成する際に注意した点を紹介します。 Digdag採用の経緯 マイクロアドのDSP*1であるBLADEではBidRequestやImpression*2、Click、Conversion*3、その他BLADEから出力される様々なログやマイクロアドの他のプロダクトのログ、他社から提供されるデータなど、様々なデータを広告配信最適化の分析に活かしています。 これらのログを分析するバッチ処理は各々のジョブが複雑な依存関係を持っています。 これまではcronやJenkinsを用いてこれらの処理を行っていましたが コード管理が出来ていない

    Digdagを使ったジョブ管理 - MicroAd Developers Blog
    k_osawa
    k_osawa 2018/10/03
    Digdag結構よさげ
  • SparkでGeoIP2を使うとjava.lang.NoSuchMethodErrorが発生する問題の回避方法 - MicroAd Developers Blog

    マイクロアドのサーバサイドエンジニアの松宮です。今回はプログラミングのTips的な記事になります。 タイトルの通り、「SparkでGeoIP2を使うとjava.lang.NoSuchMethodErrorが発生する問題の回避方法」を説明したいと思っておりまして、というのも、SparkでGeoIP2ライブラリの依存を上手く解決できずに、結構時間を使ってしまったので、犠牲者を増やさないためにもこの場でみなさんに共有したいと思います。 事象と解決策を先に示して、詳細な原因は後述しますので、解決策だけ早く知りたい方は前半まで読んでもらえれば大丈夫です。 前提 言語はScala/Java ビルドツールはsbt or Maven 実行可能なjarを生成するために記事ではsbt-assemblyを使っている Sparkのバージョンは最新の2.3.2 (2018年8月現在) GeoIP2ライブラリのバー

    SparkでGeoIP2を使うとjava.lang.NoSuchMethodErrorが発生する問題の回避方法 - MicroAd Developers Blog
    k_osawa
    k_osawa 2018/09/12
    sbtでバージョンを強制しても変になる動作には大変困った
  • マイクロアドに新卒で入っていきなりScalaを書かされた話 - MicroAd Developers Blog

    はじめまして。マイクロアドでアプリケーションエンジニアをしている新卒1年目の石田です。 主に、MicroaAd BLADEという広告配信プラットフォームの開発をしています。 内定者アルバイト時代からマイクロアドでBLADEの開発に携わっていました。BLADEのソースコードはJava/Scalaを中心になっており、大半がJavaでした。現在は新規機能開発や、リファクタではScalaで実装を行なっています。 今回は、自身が担当した 「JavaコードのScala化を行う実案件」 に絡めて、「可変オブジェクトの問題」や「ScalaでのDDD」に関する話を書いていきたいと思います。 JavaコードのScala化 自分のScala力が多少まともになった要因となったのが、このScala化の案件です。 私が学生の時には、とあるインタプリタ方式の手続き型プログラミング言語を書いていました。加えて浅学だったの

    マイクロアドに新卒で入っていきなりScalaを書かされた話 - MicroAd Developers Blog
    k_osawa
    k_osawa 2018/09/07
    TryとOptionは他の言語にもほしいと思うときがある
  • マイクロアドの新卒4人が研修で社内システムを開発した話 - MicroAd Developers Blog

    マイクロアドの新卒グループです。 全体研修が終わり、システム部の研修として「ななさん」という福利厚生制度を管理するシステムの開発を行いました。 今回はその概要と開発時に工夫した点をまとめて記事にしました。 What's ななさん? ななさんとは、個人やチームの成長を支援する目的で システム開発部に所属する社員ごとに半期7万円の経費精算を可能にする制度です。 7万円だからななさん、分かりやすいですね! 具体的には以下の3つの経費を精算することができます。 書籍購入 技術や業務関連の書籍購入 セミナー、カンファレンス、研修費 研修参加費用及び交通費 チーム運営用物品購入 ホワイトボードなどチーム運営改善に利用する物品購入 これが申請できることに加え、いくつかの細かい仕様をいただきました。 カンパによる共同購入ができる 物品購入をななさん購入担当者に依頼することができる 書籍購入後や研修後1ヶ月

    マイクロアドの新卒4人が研修で社内システムを開発した話 - MicroAd Developers Blog
    k_osawa
    k_osawa 2018/08/22
    VueJS理解に時間がかかるのわかる
  • 無停止ブラウザ配信をささえる仕組み - MicroAd Developers Blog

    どうもはじめまして、アプリケーションエンジニアの築野です。 主にデジタルサイネージ配信関連に携わっております。 今回は、Webブラウザにて配信アプリを支えている仕組みについて紹介したいと思います。 デジタルサイネージとは 従来の看板や紙のポスターに代え液晶ディスプレイなどを用いて、画像や動画を表示させて情報を発信するシステムのことを指します。 マイクロアドデジタルサイネージ社では、上記写真のようなデジタルサイネージを商材としています。 こちらはゴルフ場での例ですが、施設情報などの情報更新頻度を高め、利用者の満足度を高めてリピート率の向上に繋げることを目的に導入を行ったりしています。 http://www.mads.co.jp/about-sototere/ またマイクロアドでは、以下のように社内告知等の情報共有にも利用しております。 配信で実現したいこと 街中でも最近はよく見かけるデジタル

    無停止ブラウザ配信をささえる仕組み - MicroAd Developers Blog
    k_osawa
    k_osawa 2018/08/08
    IndexedDB 2GBも保存できるのか・・・。
  • 【イベントレポート】Qiita Career Meetup for Server Side Engineers - MicroAd Developers Blog

    こんにちは。インフラの元井です。体温よりも高い気温の日々が続いていますが、みなさんいかがお過ごしでしょうか。開発部メンバーは都会のど真ん中、新宿京王百貨店の屋上でバーベキューという、この時期、そして今年のこの気温のヤバさ、もはや罰ゲーム的なイベントを開催して楽しく(?)過ごしていました。まあ、暑くて熱くて酒で酔っているのか熱中症気味なのかわからないけど社内チャットに誤爆するエンジニアも。。真夏のバーベキューには気をつけたほうがいいですね。 そしてこちらがメインですが、7/20(金)に行われたQiita初の採用イベントにマイクロアドのエンジニアが参加してきたのでそのときのレポートです。 connpass.com みなさん参照したり投稿したりと日々Qiitaを使っていると思いますが、マイクロアドではOrganization設定してもらっていて、昨年末にはAdvent Calenderに初挑戦し

    【イベントレポート】Qiita Career Meetup for Server Side Engineers - MicroAd Developers Blog
    k_osawa
    k_osawa 2018/07/25
  • JavaScriptフレームワーク(Vue.js)を導入して - MicroAd Developers Blog

    マイクロアドでアプリケーションエンジニアをしているNです。 日々、バッチを作ったりWEBアプリケーションを作ったりしています。 今回はライトにJavaScriptフレームワークを導入したお話を書いていきたいと思います。 導入のきっかけ その1~きっかけのきっかけ~ マイクロアドではいろいろな用途でWEBアプリケーションを利用しています。 当然ではありますが一部特殊な用途ではない限りJavaScriptでの実装が含まれています。 これらのいくつかにはjQueryが使われており、現在も運用されています。 そんな中、 あるWEBアプリケーションを刷新する機会があり改めてjQueryを多用したコードを見返すことに、、、 その2 ~jQueryって非常に強力~ jQueryを多用した実装を見返して、改めて思ったのが jQueryって非常に強力。 一方で、この強力なライブラリになんでもお世話になってい

    JavaScriptフレームワーク(Vue.js)を導入して - MicroAd Developers Blog
    k_osawa
    k_osawa 2018/07/19
    jQueryは闇
  • さようならオーバーレイアニメーション - MicroAd Developers Blog

    はじめまして、マイクロアドのSSPサービス COMPASS をメインで担当している「F」です。 オーバーレイ広告は正直ウザいという声もあるとは思いますが、 表現方法という意味では興味深いところでもありました。 そんなオーバーレイ広告ですが、先日遂にアニメーションが廃止となりました。 執筆の機会を頂いたこのタイミングを逃すと、二度と日の目をみることがなくなってしまう COMPASS のオーバーレイアニメーションを今回はご紹介をさせていただきたいと思います。 SSPとは Supply Side Platform(サプライ・サイド・プラットフォーム)の略で、オンライン広告において媒体の収益最大化を図るツールです。 COMPASS を利用することで媒体に広告が表示され、それに応じた収益を得ることができます。 もっと詳しくは知りたい方はこちら オーバーレイ広告とは スマートフォン向けの広告で、サイト

    さようならオーバーレイアニメーション - MicroAd Developers Blog
    k_osawa
    k_osawa 2018/07/04
    スワイプ型の広告は昔見た気がするけど他はないなー