サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
tech.naviplus.co.jp
ナビプラス 梅染(@dr4caena)です。 本日、「NaviPlusレコメンド」にて自動最適化機能をリリースしました。折角ですので私からは自動最適化機能にて使われる機械学習の一種である「強化学習」について簡易的に説明をさせていただければと考えております。 ※ 自動最適化機能の説明などは以下のニュース等を参照くださいませ。 ナビプラス、「NaviPlusレコメンド」にAIによる自動最適化機能を追加し提供開始 〜ルミネが「i LUMINE」のおすすめアイテム表示に活用〜 「NaviPlusレコメンド」AI自動最適化機能リリース! 強化学習とは何ですか? 普通の機械学習の場合は、教師データ(入力と、その入力に対する正解出力の組)を与えて学習させることによって、未知の入力に対しての出力が正しくなる様に学習させます。 ところが、例えば広告Aと広告Bと、どちらを表示するとクリック率が良いのか、という
こんにちは。ナビプラス、サイバーリスク研究所 所長の片山です。 インターネットが普及し、知人とFacebookやのメッセンジャーのやりとりも多くなってきたと思います。 その中でFacebook上の知人より、メッセンジャーでもたらされた動画のURLをクリックすることでマルウェアに感染しましたので、本日は感染内容、一時的な対処法と除去方法をご紹介します。 【感染内容】 1.URLをクリックすると、下記の画面が表示されました。 この時点では、マルウェアは動画ファイルのように見えますが、実際にはPDFになっており、Google Drive によって提供されていました。 2.このPDFをクリックしますと、複数のURLに遷移を繰り返し、最終的には、youtubeを思わせるような下記のサイトにたどり着きました。 3.上記のサイト上、どこでも良いのでクリックをしますと、下記のメッセージが表示され、Goog
編集長の佐藤(@akihirosato1975)です。 この一つ前の記事(DNS Summer Day 2017)で、DNSレコードの一つとして新たに追加される「CAA」レコードの話が出ましたが、本記事ではそれについて色々書いてみたいと思います。ただCAAレコードそのものの話は既に他のサイトでいろいろ解説が出てるので、本記事ではどちらかというと「じゃ具体的に何を設定すりゃいいのよ?」というところを中心にします。 CAAの概要 まずそもそも「CAAって何よ?」という話を簡単に。正式名称は「DNS Certification Authority Authorization」と言いまして、DNSのリソースレコードタイプの一つとして、2013年にRFC化されてます。 目的は「ドメイン所有者の方で指定した認証局(CA)以外が、勝手にSSL/TLS証明書を発行するのを防止する」というもので、具体的には
言語処理研究会 「自然言語処理の中長期研究構想を論じる会」を聞きに行きました。 このシンポジウムは、6名の「中長期の自然言語処理関連プロジェクトを推進している研究者」の方々に「研究構想や成果の大きな絵を語っていただき」、「言語処理が今後進むべき方向性について一段高い視点からの議論を狙」うというシンポジウムでした。大きなプロジェクトのリーダーをされているような先生方が、どんなプロジェクトを今運営しているのか解説してくれるということで、研究者ではない素人の我々にとっては、最近注目を浴びている話題について概観できる良い機会だったと思います。 「データを言語で記述する」は東工大の高村先生の講演でした。「サッカーの試合の解説の自動生成」を目標に、時系列データに対して文章を生成する、という話でした。天気予報の文章の生成などは、ちょっと変なところもある、ぐらいの感じになっているようにも思います。 「クロ
編集長の佐藤(@akihirosato1975)です。 弊社のサービス統括部(いわゆるDevOps部署)には「セキュリティ対策室」なんてものがありまして、一応私もそこのメンバーの一員だったりします。 なので定期的にUS-CERTやJVNなどの脆弱性レポートをチェックして、社内で使われていそうなソフトについては開発者向けにアナウンス出したりといったことをやっているわけですが、今日はそんな中から一つ引っかかったネタが。 元ネタは CVE-2016-10142 なんですが、斜め読みすると「IPv6にプロトコルレベルで脆弱性がある」ように読める上、CVE番号でGoogle検索かけても日本語の情報がほとんどないという。 実際にはまだナビ社内ではIPv6はほとんど使ってないんですが、気になったので「Overview」だけでもざっくり翻訳してみました。 #たぶん翻訳ミスありそうな気がするのでご指摘お待ち
高橋です。 JMeterは負荷試験を行うときの定番ツールですが、GUIで設定していくにしてもXML編集するにしてもどうも取っ付きづらい。もう少し書きやすくできないものかと思い調べてみたらruby-jmeterというrubyのDSLでテストシナリオを書けるgemがあったので使ってみました。 インストール グローバルにインストールする場合は gem install ruby-jmeter と叩いてインストールしてしまえばOK。 作業領域を指定して使う場合は、以下の様なGemfileを用意して bundle install を実行。 source "https://rubygems.org" gem 'ruby-jmeter' 次に、テストシナリオファイルを定義します。ファイル名は自由ですがtest.jmx.rbとします。 require 'ruby-jmeter' base_url = 'ht
編集長の佐藤(@akihirosato1975)です。 先週話題になったLogjam脆弱性ですが、SSL/TLS以外にもSSHやIPSecが影響を受けることが明らかになっているのに、SSL/TLS以外での対応について意外と情報がありません。 自分が探した範囲では、OpenSSHについて日本語で情報がまとまっているところがなかったので、とりあえず概略をまとめてみました。 基本的なところについては「On OpenSSH and Logjam」を参照してますが、もし不完全な所があればコメントで連絡ください。 サーバ側 基本的には以下の2手順を踏む。 /etc/ssh/moduli から、ビット長が2000bit以下のものをコメントアウトする。またはビット長を2048bit以上にして、同ファイルを新規に生成する。 /etc/ssh/sshd_config で、「KexAlgorithms」ディテク
梅染(@dr4caena)です。 遅くなり申し訳ありません。2月26日(木)に行われた統計処理及び機械学習に基づくデータマイニング勉強会 #01の動画を公開します。 その他資料等については、イベントグループページ「統計処理及び機械学習に基づくデータマイニング勉強会」を参照ください。 #02の動画については、今週木曜を目処に公開する予定です。 それでは、引き続きよろしくお願いします! p.s. 全てを反映できるかと言われると難しいのですが、より良い勉強会にしていきたいと考えていますので、もしご意見あれば是非教えてくださいm(_ _)m
梅染(@dr4caena)です。 3月12日(木)に行われた統計処理及び機械学習に基づくデータマイニング勉強会 #02の動画を公開します。 その他資料・情報等については、イベントグループページ「統計処理及び機械学習に基づくデータマイニング勉強会」を参照ください。 それでは、次の勉強会でもよろしくお願いします!
編集長の佐藤(@akihirosato1975)です。 昨年の情報ネットワーク法学会のレポートが途中で止まったままですが、あの後本業の開発業務が多忙になっている間に、個人情報保護法改正案の動きが二転三転していて、今さらレポートを書いても変更点が多すぎてお話にならない状況となってしまいました…(汗 だからというわけでもないですが、代わりに今週月曜日(3/16)に開催された「第4回プライバシーフリークカフェ」のレポートを。 ちなみに以下の資料も参考。 Togetterのまとめ 国会提出法案(第189回通常国会)(内閣官房) Administration Discussion Draft: Consumer Privacy Bill of Rights Act of 2015 ※後で出てくるアメリカ版個人情報保護法改正案 エンジニア的結論 法律屋的視点でのレポートは以下でタップリするとして、まず
鈴木です。ラズパイ部がやや休止中気味です。私の久しぶりの記事は、Unicodeにある横棒のコレクションです。 ハイフンとかダッシュとか、半角と全角とか、複数あることはご存じの方も多いと思います。Shift-JISとの変換で悩まされるケースもありますよね。 Unicodeにあるハイフンとかマイナスとかダッシュとか、横線に見える文字をある程度を一覧にしたブログなどはたくさん見つかるのですが、結構漏れがあったりします。自分で納得できるレベルにまで網羅した横線一覧がなかなか見つからなかったので、自分で作りました。せっかくなのでここに公開しておきます。 ハイフンやカタカナの長音記号など、直線が横に延びているものが対象で、縦方向や斜めの線は除きます。 ほとんど横方向だけどちょっとだけ傾いているものや、端にちょっとしたハネとかうろことか付いているもの、太さが途中で変わっているものは含めました。横線の場所
梅染 @dr4caena です。 第1回は基本的な内容で分かりやすかったと思います。どんどん難しくなっていくかと思いますので、頑張って勉強をしていこうと思います。 参考までに、機械学習に基づく自然言語処理勉強会 #02 のタイトルは、「テキストの分類」です。線形識別モデル、ナイーブベイズ、サポートベクターマシン、決定木などをやっていきます。
鈴木です。Raspberry Piに新モデルB+というのが登場するらしいですね。GPIOのピンが増えたのと消費電力が下がったのが私にとっては魅力的です。私のRaspberry PiはGPIO不足に悩んでいるのと、電池駆動なので消費電力にはシビアですので。 Raspberry Piでやったことを順番に紹介しようかとも思ったのですが、順番に読む人も少ないでしょうし、時系列気にせず、気が向いたネタから書いていくことにします。今回の記事はADコンバータというものについてです。 Raspberry Piのようなデジタル回路は、回路のどの部分も電圧が0Vか3.3Vのどちらかを示しています。3.3Vでなくて5Vの場合もありますが、とにかく電圧は一定で、その中間の電圧を扱うことはできません。そのため、連続に変化するアナログな電圧値を扱いたい場合は、アナログとデジタルを変換する必要があります。土壌センサーの
編集長の佐藤(http://cocky.exblog.jp/)です。 最近当ブログも投稿が少ないのでちょっと小ネタをひとつ。 形態素解析といえばおなじみmecabですが、最近は標準のIPADICではなく、代わりにUniDicを使うケースがちょっとずつ出てきてます。特にVer.2.0.1以降はGPL/LGPL/BSDのトリプルライセンス化されたことでライセンス上の問題がなくなったので、その点でも使いやすくなりました。 ただmecabでUniDicを使うと、なぜか標準だと「–node-format」などの出力整形が効きません。しかもUniDicの場合、吊るしの状態で使うと「-Oyomi」などの出力フォーマット指定もできません(UniDicのdicrcに書いてないので当たり前ですが)。 でもIPADICと比べると、UniDicの方が辞書の収録語数などが圧倒的に多いので、どうしても「mecab +
鈴木です。技術ネタではなく異色のマニアックなネタです。 社内では統計の勉強会を毎週行っております。 その中で、普通の分散は\( n \)で割るのに、 不偏分散はなぜ\( n – 1 \)で割るのか、という疑問がわいたのですが、 社内では誰も納得できる答えを持ち合わせておりませんでした。 文献によっては「自由度」という概念で説明されていたのですが、 単に言葉で誤魔化しただけのような気がして、 自分で納得できる答えを探し求めた結果をここに残しておきます。 不偏分散とは 日本人全体の身長の平均と分散を求めることを考えてみます。 分散というのは、平均からどの程度散らばっているかを示す数値です。 例えば、120cm、140cm、160cmの3人は、138cm、140cm、142cmの3人よりも分散が大きくなります。 日本人全員の身長の分散といった場合は、身長の平均を求めて、 各人の身長から平均を引い
インフラ担当の池田(@mikeda)です。 最近、Kibanaでアクセスログの可視化をやってみてるのですが、手でダッシュボードいじるのがダルいです。 例えばうちの場合はサーバクラスタ、顧客アカウントごとのアクセスを見たい場合が多く、その条件を毎回指定するのがめんどくさい。 ここを動的に生成できないかな、と思って調べてみました。 イメージとしては、 内部管理画面にクラスタ/顧客アカウントの一覧があるのでそこにKibanaのリンクを設置して、 クリックすると適切に設定されたKibanaに飛ぶ、 という感じです。 Kibanaのソースコードやドキュメントはぜんぜん読んでないのですが(すませんw)、UIをポチポチ触ってるととりあえず以下の2つの方法でなんとかできそうでした。 Kibanaサーバに設定ファイル配置 ElasticSearchに設定突っ込んでリダイレクト Kibanaサーバに設定ファイ
インフラ池田(@mikeda)です。 今日はNaviPlusの開発環境について話します。 今回話すのは各開発者が自由にいじれる個人向けの開発環境についてです。 ※ステージング環境、デモ環境は別途、DCにVMが常時起動しています。 ちなみに1年前はDCに共用開発サーバが何台かあって、それを取り合いながら開発していました。 このころはいくつか不便なことがありました。 コストがかなりかかる 使うときの調整がめんどう(「dev01って今だれが使ってるんだっけ!?」みたいな) 共用なので好きにいじれない インフラとしても『新しいミドルウェアを検証して終わったらポイ』みたいなのができなくて不便でした。 こういう『やってみたい』をすぐ実現できないのは機会損失の1つだと思ってるので、なんとかしないとですね。 というわけで『開発環境をもっとみんな好き勝手に作れるように』と、現在は以下の2つが整備されています
編集長の佐藤(@akihirosato1975)です。 今年に入り、会社側で実験的にQiita Organizationのページを開設し一部のエンジニアで運用を行っていましたが、そちらのほうが投稿が活発になってきたことか… 続きを読む »
どもです。インフラ池田(@mikeda)です。 今日は『NaviPlusではどういうふうにサーバ構築作業をしているのか』について話します。 ※編集長注:以下は記事執筆時点のものです。将来的に弊社がこの手順を使用することを保証するものではありません。 まずNaviPlusでは今のところクラウドは利用していないので、 サーバ構築は基本的に以下のどっちかになります。 物理サーバ KVMのゲスト OSはCentOSの6系です。 作業は以下の技術を使って自動化しています。 PXE Boot + kickstart chef-solo それではさっそく、ザックリとした実際の構築手順から。 構築手順 物理サーバとVMに分けて説明します。 事前にローカルDNSの登録と、chefのnode定義の作成だけやっておきます。 物理サーバ まずは物理サーバの構築手順です。 以下の作業は並列実行可能、 またiLO/i
ちわっす!インフラ担当の池田(@mikeda)です。 今日はサーバ監視周りの話です。 まずNaviPlusでは、サーバ監視にNagiosとMuninを使っています。 普通ですね! 気をつけていることは、ちゃんとサービスも監視する(正常なHTTP応答、応答速度など)ということでしょうか。 まぁこのへんは今日の本題ではないので別の機会に話します。 システム運用してると、こんな情報も見たいなーというのが出てきます。 例えば、今回紹介するのはこんなのです。 障害発生時(例えば昨日のXX時XX分)の全サーバのプロセスリスト 全サーバのリソース使用状況のザックリとしたレポート あのDBでXX時ごろに流れてたクエリはどんなのか 去年のセール時のアクセス数やサーバ負荷の状況が見たい 本番サーバでtmuxを起動しっぱなしの人がいないか こういう既存ツール(うちだとNagios/Munin)にマッチしないもの
インフラ担当の池田(@mikeda)です。 今回はNaviPlusのインフラの概要的な話をします。 サービスについて まず提供しているサービスについてです。 他にもいろいろあるのですが、メインはレコメンド(NaviPlusレコメンド)と検索(NaviPlusサーチ)です。 どちらも主にECサイト向けのASPサービスです。 レコメンド:顧客のアイテム情報、ユーザの行動履歴からオススメ商品/ランキングなどを生成する 検索:顧客のアイテム情報を検索できるようにする システムはレコメンドと検索で大きく異なっています。 なぜかというと、検索系のシステムは1年前にコトハコという会社を買収して吸収したものだからです。 なので以降の話はそれぞれ別々の説明になること多しです。 サービス規模について まずアクセス数と物理サーバ台数についてザックリと(2013年12月現在)。 レコメンド アクセス数:10億/月
インフラ担当の池田(@mikeda)です。 tmuxを使い初めて1年くらいになりました。 今日はtmuxの、普段のオペレーションでよく使ってる機能を紹介します。 複数サーバで同時オペレーション tmuxにはキー入力を全てのpaneで同期する機能があります。 この機能を使って複数paneでそれぞれ別のサーバにsshログインすると、 複数サーバに同じコマンドを打ったり、 内容が同じ設定ファイルであればviで同時編集したりができます。 同期する/しないはコマンドでも切り替えられますが、 set-window-option synchronize-panes on set-window-option synchronize-panes off tmux.confにショートカットを設定しておくと便利です。 bind e setw synchronize-panes on bind E setw sy
このページを最初にブックマークしてみませんか?
『NaviPlus Engineers' Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く