タグ

ブックマーク / mixiengineer.hatenablog.com (39)

  • Char2Vec で文字の特性について調べてみた - mixi engineer blog

    ミクシィ Vantage スタジオのAI・ロボットチームで自然言語処理関連の研究開発に関わっている原(@toohsk)です. Vantage スタジオでは人の感情に寄り添った会話ができるAIの研究開発を通じて,新しいコミュニケーションサービスを生み出そうとしています. 今回, Char2Vec を用いた,文字毎の特性について実験を行いましたので,紹介したいと思います. Word2Vec とは Word2Vec は単語をベクトル表現に変換する方法です. これまでは自然言語処理の分野では単語を扱う場合, one-hot の形式で文章内の単語を表現することが多かったです. しかし,自然言語を機械学習で扱う場合や論文では,最近では必ずといっていいほど Embedding された状態,すなわち単語をベクトルに変換してから機械学習のアルゴリズムに与えています. ではなぜ one-hot の形式ではなく

    Char2Vec で文字の特性について調べてみた - mixi engineer blog
  • 新卒研修の受講レポート~git編~ - mixi engineer blog

    はじめに はじめまして、2017年新卒エンジニアの親川と玄馬です。 記事では、git研修でおこなった内容や得た学びについて紹介したいと思います。 そもそもgitとは何なのか、という方は以下のサイトを参考にしてください。 Gitを使ったバージョン管理【Gitの基】 | サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ 研修の様子 前半は、先輩社員による座学形式の研修でした。gitを楽しく学ぼう、ということで内容は gitの使い方 commitとbranchについての解説 歴史の取り込み方(merge, rebase) となっていました。 研修で使用した資料は以下のページで見ることができます。 すごいGit楽しく学ぼう // Speaker Deck gitの使い方ではリポジトリの作り方から、変更のステージング方法、commit・pus

    新卒研修の受講レポート~git編~ - mixi engineer blog
  • git challengeの自動採点高速化に向けたインフラのハナシ - mixi engineer blog

    git challengeのインフラを担当している2016年度新卒エンジニアの轟 (@tdrk18) と、2017年度新卒エンジニアでSREの見習いをやっております佐藤 (@jtwp470) です。今回は、git challengeという技術競技イベントの自動採点の高速化に向けたインフラのお話です。 git challengeとは git challengeとは、gitを使う上で起こり得る問題を、ふたり一組のチームで解いていく競技形式のイベントです。 各チームに設問ごとのリポジトリが与えられ、問題点を解消した差分をコミットし、それをリモートリポジトリにpushして解き進めていきます。 git challenge についてはこちらをご覧ください。 また、git challengeの運営に関するインタビュー記事も用意していますので、あわせてご覧ください。 git challengeのインフラに

    git challengeの自動採点高速化に向けたインフラのハナシ - mixi engineer blog
  • 新卒研修受講レポート~テスト編~ - mixi engineer blog

    はじめまして、17新卒エンジニアの村上と林です。 今回は「テスト」という「プログラムが正しく動作しているかチェックするためのプログラム」についての研修を受けたので、まとめていきたいと思います。 研修の内容は以下のようなものでした。 ・テスト/設計についての簡単な講義 ・ペアプログラミングでの実習 車窓からのTDD 円の面積を求めるプログラムをTDD emailアドレスの正誤判定プログラムをTDD テストについての簡単な講義 テスト研修の目的 まず、なんでこんな事やるの?という事で、研修の目的について述べたいと思います。 研修の目的は「良い設計を覚える」、これだけです。 良い設計ってなんなの? そこで、良い設計とは?となると思います。 疎結合?可読性? 色々あると思いますが 「経営的な要求・条件に応えられること」です! 経営判断としてスピードが求められる場合には可読性よりも開発スピードを優

    新卒研修受講レポート~テスト編~ - mixi engineer blog
  • 新卒研修受講レポート~セキュリティ編~ - mixi engineer blog

    こんにちは。2017年新卒エンジニアの追田と服部です。 記事では、4月におこなわれた新卒エンジニア向けのセキュリティ研修の大まかな概要や感想を受講者の立場からお伝えしたいと思います。 講師はXFLAG事業部 たんぽぽGの亀山さんです。 内容 研修は以下の3部構成で実施されました。 セキュリティの必要性や脆弱性とその対策についての説明 WebGoat(研修用やられサイト)を用いた実習 スマートフォンゲームのチート事情についての解説 1. セキュリティの必要性や脆弱性とその対策についての説明 まず、企業が情報セキュリティ上の過失によって個人情報漏洩などの事故を起こしてしまった場合、どのような影響が考えられるでしょうか。 その企業の信頼の低下やイメージダウンを招いてしまうことはもちろん、それに伴う業績悪化や対応費用によって数百億円規模の損失を計上してしまう場合もあります。 研修では過去に発

    新卒研修受講レポート~セキュリティ編~ - mixi engineer blog
  • Apple IPv6審査対応 NAT64/DNS64環境構築について - mixi engineer blog

    こんにちは、arukasaです。 今回IPv6 (NAT64/DNS64) のWi-Fi環境構築という貴重な経験をしましたので、情報共有を兼ねて寄稿させて頂きます。 背景 Appleが、2016年1月以降はIPv6環境で動作しないアプリはリジェクトすると宣言しましたので、ミクシィ社内でもその検証環境が必要になりました。 現時点ではApple側も回線から上位はv4想定のようなので、検証環境もそれに倣いLAN側はIPv6、WAN側はIPv4の構成を取りました。 構成 ネットワーク uplinkはIPv4 only クライアントはIPv6 only サーバとASA間のみv4&v6 併用 機器構成 ASA 5505 ( NAT64 ) Raspberry Pi DNS64 (unbound 1.5以降) RA (radvd) Aruba (Wi-Fi) 実は構成が確定するまでが一番苦労した部分で、

    Apple IPv6審査対応 NAT64/DNS64環境構築について - mixi engineer blog
  • 2日でできる! JavaScript トレーニング - mixi engineer blog

    こんにちは。SNS mixi の JavaScripter、kuniwak です。 新しい仲間たちが入社する季節になりましたね。 さて、ミクシィを支えるエンジニアが作成した JavaScript 研修の資料を Github にて公開しました。 ミクシィは 2013年から研修資料を公開していましたが、今年は JavaScript の進化に合わせて内容を刷新しています! 2015年度の JavaScript 研修は、Web アプリケーションの部品(モジュール)をつくれるようにすることを目標とした、実践的な研修として計画されました。 JavaScript 研修のために与えられた期間は2日ということもあり、MVC や Flux といった設計方面の話題には踏み込めていませんが、Promise、Fetch API、Bower など、現在・未来のフロントエンド開発に必須の要素を盛り込んだ最新のJavaS

    2日でできる! JavaScript トレーニング - mixi engineer blog
  • OpenStackとLXCを導入した話 - mixi engineer blog

    こんにちは、運用部 アプリ運用グループの清水です。Golang鋭意勉強中です。 今回は、SNS「mixi」に限った話ではなく、ミクシィ社全体として利用している仮想環境について紹介したいと思います。パブリッククラウドも一部のサービスで利用していますが、今回は、自社で運用している仮想環境にフォーカスして書いてみようと思います。 今まで利用してきた仮想環境 今まで利用してきた仮想環境というと、手作業で構築したKVM(Kernel-based Virtual Machine)環境が中心でした。手作業といってもある程度手軽に構築できるように、シェルスクリプトとCobblerでVMを構築できるようになっています。構築の流れは以下のとおりです。 CobblerにVMのIPやホスト名などをスクリプトで登録する。 KVMのホスト上でスクリプトを実行(koanコマンドでCobblerと連携してVMをセットアッ

    OpenStackとLXCを導入した話 - mixi engineer blog
  • systemdを本番運用してわかったこと - mixi engineer blog

    こんにちは、運用部 アプリ運用グループの清水です。モンスト仲間募集中です。 以前、Fedora 8からFedora 17への移行のお話を書きました。Fedora 17ではsystemdがデフォルトで使われています。そのsystemd番環境で運用して1年以上が経ち、様々な経験をしてきました。systemdの環境で知っておくと役に立つと思われることについていくつか紹介したいと思います。 まずは、systemdの概要について簡単に紹介します。 systemdの概要と歴史 systemdは、従来のSysVinit/Upstartに代わるもので、Linuxサーバの起動時に初期設定やサービス起動をおこなうことにとどまらず、プロセスやリソースなど様々な管理をおこなうデーモンです。 Fedora 14の頃(2010年11月リリース)にTechnology Previewとして提供され、Fedora 1

    systemdを本番運用してわかったこと - mixi engineer blog
  • SDNインターン - mixi engineer blog

    はじめまして。こんにちは! インターン前日の夜中にGが現れた絶望感から殆ど眠れず、初日から寝不足でインターンを開始した青山(真也)です。 Gは1匹いると、沢山居るって言いますよね…… 今回、8/1~9/13まで「システム部 運用部 アプリ運用G」という部門でインターンに参加していた学部3年生の僕が、ミクシィのエンジニアブログを書かせていただけることになりました。 運用部でのインターン採用開始は今年からだそうなので、魅力もたっぷりと含め全力でご紹介したいと思います。 ミクシィインターンのメリット 日常生活編 やはり渋谷に構える大手Web企業。 働きやすさが尋常じゃないです。 フリードリンクはもちろんのこと、コラボエリアからべ物を調達することも出来ます。 もちろん服装はどんな私服でも問題ありません。 暑くったってへっちゃらですね。 快適な環境で仕事に打ち込むことが出来ます! また、周辺には

    SDNインターン - mixi engineer blog
  • 社内研修「JavaScript基礎」の資料を公開します! - mixi engineer blog

    どうも、新卒2年目エンジニアJavaScript委員会の重田です。 帰省がてら鳥取砂丘や小豆島に行ったらだいぶ日に焼けてしまいました。 さて、もう4ヶ月ほど前になってしまったのですが、新卒研修でJavaScript基礎の講師を担当したので、そのときの資料を公開します。加えて、JSを学ぶ上で押さえておくとよいポイントを解説します。 研修資料 https://github.com/mixi-inc/JavaScriptTraining JavaScript初心者向けの資料になります。 JavaScriptに触れるのがはじめての人でも、配属後すぐに活躍できるようになることを目指して研修を実施しました。 デベロッパーツールで素早くトライ&エラーを繰り返し、JSを学ぶ 去年ぼくはこの研修を受ける立場でした。今年の講師を担当するにあたって、研修の進め方で最も変えたのはデベロッパーツールを積極的に使う

    社内研修「JavaScript基礎」の資料を公開します! - mixi engineer blog
  • Cobblerを使ったOSインストールとその後のクラウド化 - mixi engineer blog

    こんにちは。運用部 アプリ運用グループの清水です。趣味の楽器も気づけば20年目を迎えましたが、いっこうに上達している気がしません。 何回かに渡ってOS移行のお話を書いてきましたが、今回は、OSのインストールで使っているCobblerというツールの利用例を中心に紹介したいと思います。 OSインストールを楽にしたい ミクシィでは非常に多くのサーバーを運用しています。それらのサーバーにおいて、OSインストール作業は日常的に行われています。OSのインストールが必要になるケースは、例えば以下のような場合です。 サーバーを購入した サーバーが壊れ、修理した OSをバージョンアップする(移行する) サーバーの役割を変える(クリーンインストールする) VM(Virtual Machine)を作る 当然ながら、OSインストール作業をするために、わざわざデータセンターに行ってCDやDVDといったメディアを使い

    Cobblerを使ったOSインストールとその後のクラウド化 - mixi engineer blog
  • DeployGate無料プラン&配布ページ作成機能をリリースしました! - mixi engineer blog

    みなさんこんにちは!デプロイゲート開発チームのkyoroこと井上恭輔と申します。 私たちはAndroidアプリ開発者向けのプライベート配信サービス「DeployGate」を開発・運営しています。 先日3月4日(月)に、このDeployGateを無料でご利用頂ける『無料プラン(FREE)』と、新機能として最大3万人の方々にアプリをワンクリックで配信できる『配布ページ作成機能』をリリースさせて頂きました。今日はこの場を借りてDeployGateのご案内と、開発に込めた想いなどをご紹介させて頂ければと思います。 私が新卒時代に書いたエントリー「オンラインコーヒーメーカー「萌香たん」とはじめるドキドキ☆コーヒーブレイク」から、実に丸4年ぶりの記事になります。人生というのは当に色々な事があるのだなと実感しています。技術面だけでなく、サービスの企画・運営面の想いなどもお話できればと思っておりますので

    DeployGate無料プラン&配布ページ作成機能をリリースしました! - mixi engineer blog
  • データ解析用ワークフローフレームワーク Honey の紹介 - mixi engineer blog

    最近,もっぱら上原ひろみさんの曲をエンドレスに聴いて癒しを得ています.もちろんピクルス作りも最高です.みなさんは何で癒しを得ていますでしょうか.こんにちは,技術部の石川有です. 以前,「mixi の解析基盤とApache Hive での JSON パーサの活用の紹介」で mixi における Hadoop/ Hive の活用の仕方について記事を書かせていただきました.今回の記事では,ちらっと触れていた Hive などで定期実行する必要のある処理をワークフローとして定義するフレームワークについて書きます. 文章の構成 まず最初に,今回ご紹介するデータ解析用ワークフローフレームワーク Honey とは何か,なぜ作ったのかを説明します.つぎに,どのような構成や機能があるのかを簡単に説明します.それから具体的なデータ解析処理を記述する方法について説明します.その中で,定型的な処理を YAML とし

    データ解析用ワークフローフレームワーク Honey の紹介 - mixi engineer blog
  • 今日からはじめるお手軽 Hive データ移行 - mixi engineer blog

    こんにちは. 昨年知人のオーケストラ演奏会で聴いたメンデルスゾーン交響曲第4番「イタリア」が大好きな,技術部の石川有です. そんな「イタリア」大好きな私ですが Hive のデータ移行も大好きという体で, 今回の記事ではオンプレミスで Hive を頑張って運用している方たちに向けて,どうしてもというときの Hive のデータ移行方法を紹介したいと思います. 弊社では最近,Cloudera's Distribution including Apache Hadoop 3 update 2 (CDH3u2) から CDH 4.1.2 にバージョンアップを行なっています. このようにオンプレミスで Hive を運用している方たちの中には,すでに持っているデータをうまく移行したいという方も多いかと思います. Hive には現状 MySQLmysqldump のような機能が提供されていないのでバ

    今日からはじめるお手軽 Hive データ移行 - mixi engineer blog
  • Androidの機種依存問題を吸収するプロジェクトAndroid-Device-Compatibilityを公開したお話 - mixi engineer blog

    こんにちは。Androidユニットで開発とスクラムマスターをしています、横幕です。すっかり寒くなって、朝起きるのが辛い季節になりました。 先日、Android(TM)の様々な機種に依存する問題を吸収するためのライブラリプロジェクトをmixi, IncのGitHubリポジトリで公開しました。 今回は、このライブラリプロジェクトを公開するに至った経緯をお話しようと思います。 様々な種類の端末に対応するために乗り越えてきた困難 現在、Androidを搭載した端末には、多種多様なものがあります。 そして、OSのバージョンごとの違いだけでなく、同じAndroidを搭載していても、端末ごとに微妙に挙動が異なることがあります。 mixi公式クライアントアプリでも、端末ごとに微妙に挙動が異なることで発生する問題にいくつか直面してきました。 特定の端末で、文字が9,000文字までしか入力できない EditT

    Androidの機種依存問題を吸収するプロジェクトAndroid-Device-Compatibilityを公開したお話 - mixi engineer blog
  • Apache HiveにおけるJSON連想配列処理の最適化 - mixi engineer blog

    あけましておめでとうございます. 平野啓一郎著「葬送」がようやく読み終わった技術部の石川有です.ショパンの死を題材とした内容が難解で重く,すべて読み終えるのに都合5ヶ月ぐらい掛かっていたのではないかと思います.当にとても重い内容ですが,濃厚で至福な時間を過ごせました. さて「重い」と言えば,「大規模データ解析」という言葉が頭に思い浮かびますよね.以前の記事「mixi の解析基盤とApache Hive での JSON パーサの活用の紹介」の通り,ミクシィの解析基盤として Apache Hive を利用しています. また Apache Hive で"No More 「刺身の上にタンポポをのせる仕事」 - 単純作業の繰り返しで開発者の時間を浪費しないために。"を実現するための Hive の JSON パーサを活用しています. 新年最初のエントリーは,Apache Hive で JSON 連想

    Apache HiveにおけるJSON連想配列処理の最適化 - mixi engineer blog
  • mixi Engineers' JavaScript Advent Calendar 2012をやりました - mixi engineer blog

    はじめまして、課金・プレミアムユニットの尾関です。 イブはクリスマスイベントのありそうなアプリ、ゲームを起動してイベントを回収するという神聖な行いをしていました。 さて、今日は皆さんに「mixi Engineers' JavaScript Advent Calendar 2012」というイベントをご紹介するため、初めてエンジニアブログを書きます。 「mixi Engineers' JavaScript Advent Calendar 2012」はその名の通り、ミクシィのエンジニア24人が12/1~12/24までの毎日、JavaScriptやそれに近い何かについてエントリを書いていくというイベントでした。 執筆者は全員がJavaScript委員会という、JavaScriptが大好きな人達が集う会に所属しています。 このAdvent Calendarをやることになったきっかけは、だんだんと委員

    mixi Engineers' JavaScript Advent Calendar 2012をやりました - mixi engineer blog
  • 技術的負債の把握と改善を促すために - mixi engineer blog

    こんにちは. 先日水道を止められて水のありがたみを再確認したgoccyこと五嶋@たんぽぽグループです. 今回は, 先日q_zouさんから紹介のあった技術的負債を減らす取り組みの一環で, 僕が開発したビジュアライザについてご紹介させて頂きます. はじめに 弊社では主な開発言語としてPerlを採用しており, そのソースコード量は数十万行単位に上ります. 自社で開発したライブラリ群はプロジェクトルート下のlib/Mixi/配下に設置されており, 更にその下でサービスや用途毎にNamespaceが分かれています(lib/Mixi/APIやlib/Mixi/Photo, lib/Mixi/Voiceなど). ※以降, 文章中のNamespaceという表現は, これら(lib/Mixi/APIなど)を指すものとします. 来であればNamespace単位で疎結合化されているべきですが, なかなかうまく

    技術的負債の把握と改善を促すために - mixi engineer blog
  • 技術的負債を減らす - mixi engineer blog

    こんにちは、システム部長の松岡です。 はじめに 今回はミクシィの物作りの中で、技術的な負債を返済する取り組みの一つについてご紹介します。 ミクシィは2012年8月にユニット制に移行しました。これはユーザーファーストな開発を促進するための挑戦です。 裁量権が各ユニット長に落ちることで早い判断と実施が可能になります。 反面、ソースコードがユニットごとに完全に疎結合しているわけではありませんので、早い判断と実施の結果、他のユニットに迷惑がかかるかもしれません。 いつまでも、どの開発者も困らないような開発を進めていければ、問題ないことですが、これまでの開発で負債として溜まってきた事、今後の進め方次第でいずれ行き詰まる事があるとも考えています。 そこで、負債を解消するため or 未来に積まないための対応が必要となります。 ミクシィはとても技術に理解のある会社です。 私含め経営陣から積極的に負債を返

    技術的負債を減らす - mixi engineer blog