k_osawaのブックマーク (166)

  • ホスト名で許される文字って何なんだっけという話 - suu-g's diary

    以前の同期の友人と、そういえば数字だけのドメイン名って許されてるんだっけ?という話題で一通り盛り上がった。なかなか面白いことがわかったのと、イマイチよーわからんなーということが出てきたので、せっかくなので記事にしておこうと思う。 TL;DR 数字のみのホスト名は RFC 的に OK アンダースコアはホスト名的には NG だがドメイン名的には OK 数字だけのドメイン https://0.30000000000000004.com/ というサイトが Twitter で回ってきた。 こういうドメインって RFC 的にどうなんだっけ。数字だけのドメインって大丈夫なんだっけ? ホスト名の定義(大元) host name については、元々は RFC952 に記載がある。以下、関係のある部分だけ抜き出し。 GRAMMATICAL HOST TABLE SPECIFICATION <official h

    ホスト名で許される文字って何なんだっけという話 - suu-g's diary
    k_osawa
    k_osawa 2022/03/10
    面白かった
  • 占いのキュレーションサービス「Ftune」を作った - sola

    こんにちは、突然ですが僕たち日人にとって空気のように身近にあるものといえば何でしょうか?それはもちろん「占い」です。朝の情報番組にはほぼ確実に占いのコーナーがあり、僕たちはそれを何の疑いもなく享受しています。ニュースと占いは2つが合わさって1つと言っていいでしょう。そして、平均的日人である僕はもれなく占いが好きです。(偏見ですがこのブログを読む人はあまり占いに興味がないでしょう) 占いが確定的なら問題ないのですが、残念ながら占いとは曖昧なもので各メディアで別々の占いが取り扱われています。僕たちはそれをくまなく確認したいものです。僕は無職なので何ら問題はないのですが、現代人は忙しいのでせいぜい1つか2つの占いに目を通して終わりでしょう。当にそれでいいのでしょうか?あらゆる物事は比較することで真実が見えてきます。出来るならもっと沢山の占いを確認するべきです。 でも時間がないという方におす

    占いのキュレーションサービス「Ftune」を作った - sola
    k_osawa
    k_osawa 2022/02/25
    占い
  • Pythonのdigdagモジュールを利用してDigdagバッチの処理継続可能なエラーをハンドリングする - MicroAd Developers Blog

    はじめに サーバサイドエンジニアの前西です。主にETL処理1のバッチ開発を行っています。 マイクロアドでは、データ処理バッチを主にDigdagとPythonで開発2しています。 今回は、マイクロアドで開発しているDigdagバッチでのエラー処理について、簡単に紹介したいと思います。 処理中断すべきエラーと処理継続可能なエラー エラーには下記の2種類があります。 処理中断すべきエラー 処理継続可能なエラー 特に何もエラーハンドリングをしない場合、エラー発生時には処理が中断されます。今回の記事では2の処理継続可能なエラーのハンドリングについて考えます。 処理継続可能なエラーが発生する場面 例えば、バッチ処理において処理の対象が複数あり、それらを一つずつ処理するようなロジックを書くことがしばしばあります。具体例として、下記のhoge.pyとworkflow.digで構成されるジョブについて考えて

    Pythonのdigdagモジュールを利用してDigdagバッチの処理継続可能なエラーをハンドリングする - MicroAd Developers Blog
  • Jestを使ったVueコンポーネントのマウントテストを導入した話 - MicroAd Developers Blog

    お久しぶりです。フロントエンドエンジニアの川上です。 業務では、UNIVERSE Adsのフロントエンド開発,フロントエンドの開発環境改善などを担当しています。 以前、以下の記事を書きました。 developers.microad.co.jp 今回はJestのテストを導入し、運用するにあたって考慮したことなどをお話できればと思います。 はじめに 課題 デグレの起因となったコンポーネント例 タイプミスの検出方法の検討 Jestで事前に検知可能なタイプミスのパターン Jestでは検知不可能なタイプミスのパターン Jestでも開発者ツール上でも検知が不可能なパターン 例にあげたタイプミスが検知されない理由 例にあげたタイプミスを検知する方法 おわりに はじめに マイクロアドには様々なプロダクトがありますが、私の担当しているUNIVERSE Adsというプロダクトについて、 フロントエンドフレーム

    Jestを使ったVueコンポーネントのマウントテストを導入した話 - MicroAd Developers Blog
    k_osawa
    k_osawa 2022/02/15
  • MySQL Shellのユーティリティをコマンドラインで実行する - MicroAd Developers Blog

    はじめに インフラエンジニアの長田です。今回は、MySQL Shellで提供されている種々の便利な機能をコマンドラインで実行する方法について紹介したいと思います。 MySQL Shellとは MySQL Shellは、公式に提供されている新しいMySQLのコマンドラインクライアントで、従来の mysql クライアントと同様にSQLによるデータベースの操作に加え、JavaScriptまたはPythonによる操作を行うためのMySQL Shell APIを備えています。 その中の一つである util グローバルオブジェクトには、これまでのバージョンアップにより、並列スレッドで実行する高速なダンプ・リストア、テーブルデータのインポート・エクスポートなどといった便利な機能が追加されています。 MySQL ShellはWindowsLinuxmacOS向けに提供されています。 dev.mysql

    MySQL Shellのユーティリティをコマンドラインで実行する - MicroAd Developers Blog
    k_osawa
    k_osawa 2022/02/15
  • アドベントカレンダー完走 2021 - MicroAd Developers Blog

    アドベントカレンダー完走 2021 あけましておめでとうございます。 マイクロアドのシステム開発部 の 奈良橋 です。 昨年 年末のことになりますが 例年通り無事 MicroAd (マイクロアド) Advent Calendar 2021 を完走しました!(ほぼ去年のままの書き出し) まずは投稿内容を独断と偏見によるキーワードで分類し、投稿数の多かった順にトップ3まで並べてみました。 1. Scala 5件 1. Python 5件 3. Java 2件 3. JS 2件 3. React 2件 3. Docker 2件 同率が多くトップ3までの紹介のつもりが6件。 1位のScalaPythonはマイクロアドでの利用頻度が高い開発言語なので非常にらしさが出てます。 なんですが、、、3位にはあまりマイクロアドであまり使われることのないReactがランクイン(なんでや) 続いて、執筆時点(

    アドベントカレンダー完走 2021 - MicroAd Developers Blog
  • Cats の関数覚え書き - MicroAd Developers Blog

    はじめに 前回 Scala With Cats を読む前に知っておきたかったこと というタイトルで、Scala With Cats の輪読会に参加した際の感想などを書きました。 developers.microad.co.jp その中で "今後やろうと思っていること" として挙げた「Cats で実装されている型クラスについて勉強すること」についてチームメンバーへの共有も兼ねて書いていこうと思います。 現在開催中の MicroAd Advent Calendar 2021 にも参加しており、そこでは以下の型クラスに実装されている関数について紹介しています(する予定のものも含めています)。 flatMap とそれに連なる型クラス Functor Bifunctor FunctorFilter Apply Applicative FlatMap エラー処理に関する型クラス Applicative

    Cats の関数覚え書き - MicroAd Developers Blog
  • マイクロアドでのWebページカテゴリ分類の取り組み - MicroAd Developers Blog

    はじめに マイクロアドで機械学習エンジニアとして働いている守屋です。 21卒として新卒入社し、配属後はWebページのカテゴリ分類精度改善や、広告オークションの入札戦略改善に取り組んでいます。 この記事では、私が新卒開発研修終了後に取り組んでいた、 Webページのカテゴリ分類アルゴリズム刷新の背景、問題設定、使用した手法や主に工夫した点などについて紹介します。 はじめに Webページのカテゴリ分類刷新の背景 Webページカテゴリ分類の問題設定 分類モデルの構成 SWEM(Simple Word-Embedding Model) 入力となる文書の前処理 ラベル不均衡に対する対処 カテゴリ構造を考慮した分類層の重み作成 まとめ 機械学習エンジニア絶賛採用中 参考文献 Webページのカテゴリ分類刷新の背景 現在、マイクロアドではWeb閲覧者の閲覧傾向を基にしたターゲティング機能が存在し、 そこでW

    マイクロアドでのWebページカテゴリ分類の取り組み - MicroAd Developers Blog
  • JVMアプリの暖機運転の導入と効果 - MicroAd Developers Blog

    京都研究所・Tech Labの郭です。 今回は、マイクロアドが提供する広告配信プラットフォーム「UNIVERSE Ads」の広告配信システムを開発する中で取り組んだ、JVMアプリの暖機運転について紹介していきたいと思います。 JVMの暖機運転とは 課題 アプローチ アイディア 設計と実装 効果 最後に JVMの暖機運転とは 以下、JIT コンパイラー からの引用です。 Just-In-Time (JIT) コンパイラーはランタイム環境のコンポーネントであり、実行時にバイトコードをネイティブ・マシン・コードにコンパイルすることによって Java™ アプリケーションのパフォーマンスを向上させます。 Java プログラムは、多数の各種コンピューター・アーキテクチャー上で JVM が解釈できる、プラットフォームに依存しないバイトコードを含むクラスで構成されています。ランタイムには、JVM がクラス

    JVMアプリの暖機運転の導入と効果 - MicroAd Developers Blog
    k_osawa
    k_osawa 2021/11/30
  • オフィス移転をした話 - MicroAd Developers Blog

    はじめに はじまり タスク(必須) 新規ネットワーク回線の契約 社内サーバルーム機器の移設 監視カメラの撤去 オフィス扉のセキュリティ導入 複合機の移設と削減 電話/FAXの契約と解約 契約関連の住所変更 無線アクセスポイントの移設 タスク(検討) ネットワーク機器のリプレイス タスク(その他) 新旧ビル管理会社との折衝 オフィス移転業者との折衝 会社備品の梱包と設置 おわりに はじめに マイクロアドはより一層の業務効率化を図るために、2021年7月1日に東京社のオフィス移転*1をしました。 今回は情シス視点でオフィス移転を振り返ってみようと思います。 はじまり 2021年1月に6月にオフィス移転の計画がある旨を共有され、オフィス移転プロジェクトが発足します。 準備期間は約5ヶ月とスケジュール的に少しタイトなイメージがありました。 前提として、新旧オフィスの広さは同等になります。 タスク

    オフィス移転をした話 - MicroAd Developers Blog
  • マイクロアドでのAnsibleの活用方法 - MicroAd Developers Blog

    はじめに 初めまして。マイクロアド21年卒サーバーサイドエンジニアの陶山(id:suyama_naoki)と申します!普段はUNIVERSE Adsの開発を行なっています。 今回の記事では、マイクロアドで使用している構成管理ツール「Ansible」について共有させていただきます。 はじめに Ansibleとは Ansibleでできること 継続的インテグレーション 継続的デリバリー Ansibleを使うメリット 冪等性 注意点 エージェントレス Ansibleを使う際に気をつけること 分岐や反復の処理を記述する際は複雑化しやすい マイクロアドでのAnsibleの活用 Ansibleの役割 Ansibleプロジェクトの主な構成 Slack通知 まとめ Ansibleとは Ansibleとは、Red Hat社が開発するオープンソースの構成管理ツールです。あらかじめ用意したYAML形式の設定ファイ

    マイクロアドでのAnsibleの活用方法 - MicroAd Developers Blog
  • 『バッタを倒しにアフリカへ』行き、必殺技を見つけてきました - 砂漠のリアルムシキング

    皆さまがお元気であることを信じてやまない2021年の秋。 今回、久しぶりのブログのため、力が入っており、めちゃ長です。 全部読むのに12分はかかるので、心してお読みくださいませ。 吉報です。 長い修行の末、とうとうバッタを退治する必殺技を編み出しました! (殴っているフリです。植物を痛めつけるようなことはしておりません) 私の正拳突きでも愛するバッタを叩き潰すことは可能ですが、彼らは空を飛ぶため、私のこぶしは彼らに届きません。 そこで、彼らの繁殖行動を研究し、その習性を逆手に取って、バッタをやっつけ放題になる状況を突き止めました。 研究内容に触れる前に、まずは今回の研究を実行するための私の心構えを先に説明いたします。 私は今、婚活中で、異性との出会いに大変興味があります。 出会うだけではダメです。相手に気に入ってもらい、そして私も相手を気に入るという、マッチングも望んでいます。 さらに、ゆ

    『バッタを倒しにアフリカへ』行き、必殺技を見つけてきました - 砂漠のリアルムシキング
    k_osawa
    k_osawa 2021/11/01
  • SpeeeのOSS開発実例 - サポプロによる楽しく高速な知識習得 - Speee DEVELOPER BLOG

    こんにちは。Speeeエンジニア香川です。SpeeeではUZOUという広告配信プラットフォームの開発をしています。Speeeはクリアコードの須藤さんにOSS活動をサポートして貰っています。 この記事ではサポプロ(サポートプログラミングの略)と私達が呼んでる形式でOSS活動を須藤さんにサポートしてもらった事例についてサポートして貰った側(私)とサポートした側(須藤さん)の視点で紹介します。 当時、私はred-arrowというApache ArrowのRuby実装に足したい機能がありPRを出したかったのですが、難しすぎて断念した事がありました。それを須藤さんに相談した所、じゃあ詳しい人(須藤さん)が適宜アドバイスしながらやってみるのはどうでしょうか??と提案して貰い、お言葉に甘えてサポプロという活動が始まりました。 サポプロってなに? サポプロはペアプロ(ペアプログラミングの略)のドライバー

    SpeeeのOSS開発実例 - サポプロによる楽しく高速な知識習得 - Speee DEVELOPER BLOG
  • Label Distribution Learningを用いた順序を持つ確率分布の学習 - MicroAd Developers Blog

    はじめに こんにちは、マイクロアドで機械学習エンジニアをしている大庭です。現在はUNIVERSE Adsというプロダクトで入札アルゴリズムの研究開発および実装を担当させていただいてます。 今回の記事では、Real-Time-Biddingにおけるオークションの落札額、自社の落札確率を求めるタスクである落札予測に対しLabel Distribution Learning(LDL)という手法を試してみたのでその結果をご紹介したいと思います。 落札予測 落札予測とはRTBのリクエスト情報からそのリクエストがいくらで、どのくらいの確率で落札されるのかを予測するタスクのことです。 落札予測ではモデルの出力が確率分布であることが特徴で、これにより予測結果を「落札額の推定」や「ある入札額で入札した場合の落札確率」など複数の用途に利用できます。 落札予測の問題設定やモデルの詳細については以下の記事にまとめ

    Label Distribution Learningを用いた順序を持つ確率分布の学習 - MicroAd Developers Blog
  • Javaのダイレクトバッファの利用上の注意点と、各種バッファを使った読み込みパフォーマンスの比較 - seraphyの日記

    概要 前回では、ヒープ上に確保したByteBufferと、ダイレクトバッファとして作成したByteBufferでのデータの読み取りパフォーマンスを比較した結果、圧倒的にダイレクトバッファが速いことが分かった。 しかし上記ベンチマークは、あえてByteBuffer単体でのパフォーマンスの比較を行ったものであり、実際のファイル入出力処理を含んだ比較ではない。 いわば、純粋なByteBufferの性能比較である。 では、実際にファイルの読み取りを含んだ場合でも、はたしてダイレクトバッファを使ったほうが速いのであろうか? 今回は、実際の利用方法を意識して、このあたりを調べてみることとする。 ヒープバッファとダイレクトバッファの違い ByteBufferには大きく分けて2種類がある。 ヒープ上の作成されるヒープバッファ ネイティブ領域に作成されるダイレクトバッファ ヒープバッファは以下のように作成さ

    Javaのダイレクトバッファの利用上の注意点と、各種バッファを使った読み込みパフォーマンスの比較 - seraphyの日記
    k_osawa
    k_osawa 2021/10/13
  • マイクロアドのデータ基盤と機械学習活用事例に関する勉強会を開催します! - MicroAd Developers Blog

    こんにちは。機械学習エンジニアをしている福島と申します。 マイクロアドの開発部では、自己組織化のために以下3つの委員会があります。 広報委員会 : 技術広報 社内活性化委員会 : エンジニア組織の制度作成 採用委員会 : エンジニアの採用 日は、私が所属している採用委員会からのお知らせをさせていただきます! オンライン勉強会を開催します!🏝 2021年11月6日(土) に以下の様にオンライン勉強会を開催します! ※その他学年や中途採用希望の方も是非ご参加ください! hrmos.co hrmos.co 今年はサーバーサイドと機械学習の2つの勉強会を準備しております! ざっくりとしたタイムテーブルは下記のようになっています。 サーバサイド 2021年11月6日(土) 10:00~12:00 時間 内容 10:00 - 10:20 マイクロアドの会社紹介 10:20 - 11:00 アドテク

    マイクロアドのデータ基盤と機械学習活用事例に関する勉強会を開催します! - MicroAd Developers Blog
  • 最強のPython型チェッカーmypy - MicroAd Developers Blog

    はじめまして!今年マイクロアドに入社してサーバーサイドエンジニアとしてバッチ開発を担当している根( id:realyutanemoto )といいます! 今回は、マイクロアドのバッチ開発で利用している静的コード解析ツールのmypyについてのご紹介です。 はじめに バッチ開発で使っているリンター・フォーマッターなど yapf mypy flake8 最強の型チェッカーmypy mypyで型チェックしよう 最近のmypy オプションの追加 エラーコードの有効化/非有効化 特定のファイル/ディレクトリをビルドから除外 スタブパッケージの自動インストール 確認不要のスタブパッケージの自動インストール Pythonのサポート対象バージョンの変更 stdlibのモジュール以外に対してのスタブをmypyが提供しなくなる メソッドや変数の型範囲を狭めやすくなった type(x) を用いた型範囲の決定 Ty

    最強のPython型チェッカーmypy - MicroAd Developers Blog
  • CDH (Hadoop) 入門 - MicroAd Developers Blog

    はじめに 初めまして。マイクロアド21年新卒インフラ担当の森( id:bosq )と申します。 7月に新卒研修を終えてからは、基盤開発グループにて日々勉強しています。 配属後は新しいことのインプットが多いため、今回は学んだことの整理とアウトプットを兼ねて、マイクロアドのデータ基盤で利用しているHadoopについて紹介したいと思います。 はじめに 分散処理基盤 Hadoop / CDH とは Hadoop エコシステム データストレージ (HDFS) と リソース管理 (YARN) HDFS (Hadoop Distributed File System) YARN (Yet Another Resource Negotiator) ノードの役割 分散処理エンジン (MapReduce, Tez, Spark) MapReduce Apache Tez Apache Spark クエリエンジ

    CDH (Hadoop) 入門 - MicroAd Developers Blog
  • 2021年新卒チームでコーディング試験の管理システムを作った話 - MicroAd Developers Blog

    はじめに こんにちは。マイクロアド2021年新卒チーム ( id:bosq, id:realyutanemoto, id:suyama_naoki, id:tsuno_ryo, id:moriya_shun ) です。 新卒研修が無事に終わりましたので、今年の研修について紹介したいと思います。 はじめに 開発研修について マイクロアドのコーディング試験 成果物 開発研修の流れ システム設計 開発環境とアーキテクチャ 採用したインフラ環境 さいごに 開発研修について マイクロアドの新卒研修では、ビジネス職を含めた全体研修の後に、エンジニアの新卒メンバーのみで1つのシステムを作る『開発研修』を実施しています。 今年は、新卒メンバー5人で、新卒採用で利用されるコーディング試験の管理システムを開発しました。 過去の開発研修についてはこちらから参照できます! developers.microad.c

    2021年新卒チームでコーディング試験の管理システムを作った話 - MicroAd Developers Blog
    k_osawa
    k_osawa 2021/09/07
  • kotlinx-metadata-jvmを使って、kotlin-reflect無しでreflectする - MicroAd Developers Blog

    はじめに こんにちは、マイクロアドでソフトウェアエンジニアをしている宮田です。 この記事では、kotlin-reflectの機能を代替しうるライブラリとして、kotlinx-metadata-jvmについて紹介します。 Maven Repository: org.jetbrains.kotlinx » kotlinx-metadata-jvm この記事を作成した時点でのバージョンは以下の通りです。 Kotlin: 1.5.21 kotlinx-metadata-jvm: 0.3.0 Kotlin(JVM)でのリフレクションについて kotlinx-metadata-jvmに関する話の前に、JVM環境のKotlinでのリフレクションについて軽く触れます。 Kotlinでリフレクションをフルに活用するためには、kotlin-reflectを依存に追加する必要が有ります。 Maven Repos

    kotlinx-metadata-jvmを使って、kotlin-reflect無しでreflectする - MicroAd Developers Blog