ブックマーク / techblog.gmo-ap.jp (195)

  • 再帰型ニューラルネットワークの要約

    皆さん こんにちは、GMOアドマーケティングのS.Rです。 前回は 畳み込みニューラルネットワークの要約を投稿しました。皆さんいかがでしたでしょうか。今回は時系列データ(株価、機械翻訳なと)に一番使われてるモデルの一つ、再帰型ニューラルネットワーク(英語はRecurrent Neural Networkです、以下RNNと記載します)を皆さんへ紹介したいと思います。 機械学習の問題の種類 まずは機械学習の問題の種類を一緒に復習しましょう。機械学習の問題は目標によって主に分類問題と回帰問題に分かれます。 1、分類の問題: 分類対象の特徴と分類を確定した上に分類対象の学習データの学習として各対象の種類を予測する事です。良くある例は乳がん検査、手書き画像の認識、物体認識です。 2、回帰の問題: 分類対象の特徴と分類を確定し連続するデータの予測をすることです。良くある例は物件の値段の予測、オンライン

    再帰型ニューラルネットワークの要約
    gt0824
    gt0824 2019/07/25
  • メディアと広告のフロント周りを見ている自分がよく使う不具合調査のときのChrome DevToolsの機能(tips編)

    と入れてみましょう。 「740」という値が返ってきています。 ここからウィンドウのサイズを変えてみましょう。狭めてみます。 自動実行されて返ってきている値が「556」に変わっているのが分かります。 こちらは名前の通りライブで自動実行し続けます。更新は250ms毎です。 さらに特徴としては、Live Expressionはページがリフレッシュしたり別ページに遷移しても自動実行してくれることです。 使用シーンとしては、例えばリダイレクトが絡む遷移でリファラを確認したい場合などで、都度「Console」なり「Snippets」に を書いて実行する手間を省くために、「Live Expression」で自動的に変化をみたい場合などです。 その他グローバルオブジェクトのプロパティの変化について見たい場合などでも、役に立つと思います。 ページの任意のiframe内で任意のJSのscriptを実行させてみ

    メディアと広告のフロント周りを見ている自分がよく使う不具合調査のときのChrome DevToolsの機能(tips編)
    gt0824
    gt0824 2019/07/11
  • Google Kubernetes Engineで不要なクラスタを週末に自動削除する

    こんにちは。GMOアドマーケティングのmizkichです。 この記事では、「GKE(Google Kubernetes Engine)上のClusterやPodをCronJobで定期的に削除する方法」について紹介します。 開発環境など24h/365dでの運用が必要ない環境では、夜間や週末にサーバ台数を減らすことで、費用を大きく削減出来ます。 私が担当しているシステムでは、少し乱暴なスクリプトでこれを実現しているため、その方法を紹介させて頂きます。 目的 弊社の開発環境では、開発者が自由に新規のクラスタを作る事が出来ます。 クラスタを1つ作る毎に平均5台以上のGCEインスタンスが起動し、1日約800円xクラスタの数の費用が発生します。 だれも居ない週末にクラスタの数だけ費用が発生してしまうため、強制的にこれを削除する仕組みを作りました。 仕様 弊社開発環境のクラスタには、開発者が自由に作る開

    Google Kubernetes Engineで不要なクラスタを週末に自動削除する
  • 10分で分かるGCE:Webサーバを構築しよう

    こんにちは、GMOアドマーケティングの星野です GMOアドマーケティングではいまGCP勉強会を実施しています。 その勉強会の中でGoogleComputeEngine(GCE)の基礎について発表する機会がありましたので掲載します。 ざっと見をすることで、GCEについての基礎を学べると思います。 勉強会では「GCEを使ってみよう」のページにてCentOSの実際にVMを立ち上げて動かしてみました。 スライドで記載している通り、「Linux VM の使用に関するクイックスタート」をベースに動かしましたが、詳細は省略してしまっているので、簡単に説明させていただきます。 GCEを使ってみよう まず、GCPコンソールからVMインスタンスページに移動します。 インスタンス作成をクリック後、マシンタイプをテスト用に[micro]に変更します。 ブートディスクの変更を選択して、「OS イメージ」からCent

    10分で分かるGCE:Webサーバを構築しよう
    gt0824
    gt0824 2019/07/09
  • Java 12 〜ラッパークラスのキャッシュについて〜

    GMOアドマーケティングのT.Nです。 今年も弊社にエンジニアの新入社員が入ってきました。 新入社員研修の一つとして、Java研修も実施しました。 Java研修では、「Java格入門」というJavaの基礎を学びながら、 Servlet/JSPでWebアプリケーションの開発を行いました。

    Java 12 〜ラッパークラスのキャッシュについて〜
    gt0824
    gt0824 2019/07/04
  • Chartkickを使ってRailsプロジェクトでグラフを描画してみた

    こんにちは。 GMOアドマーケティングのR.Sです。 今回は、Railsで簡単にグラフを描画できる「Chartkick」を使ってみたので実装の手順と使い方を紹介します。 動作環境 Rails 5.2.2 chartkick 3.1.0 実装方法 実装はとても簡単で、Gemをインストールして、グラフを描画するJavaScriptライブラリを読み込むだけです。 Gemのインストール まずはGemfileに gem 'chartkick' を追加して、 $ bundle install を実行します。 JavaScriptライブラリを読み込む application.jsに以下の2行を追加します。

    Chartkickを使ってRailsプロジェクトでグラフを描画してみた
    gt0824
    gt0824 2019/06/21
  • PHP7.3の変更点

    はじめに こんにちは。 GMOアドマーケティングのK.Kです。 前回のPHP7.2の記事に引き続き、今回はPHP7.3の変更点に関して掻い摘んでご紹介させて頂きます。 このエントリーは、GMOアドマーケティング Advent Calendar 2018 の 【12/2】 の記事です。GMOアドマーケティングとしては初のAdvent Calendar参戦です。はじめにこんにちは。18年新卒で入社いたしました、GMOアドマーケティングのK.Kです。新卒研修を終え、現在はゴリゴリ業務に取り組んでいます。今回の記事では、弊社のプロジェクトGMOSSPのPHPのバージョンを、PHP7.0からPHP 7.2にバージョンアップしましたので、バージョンアップの際の対応内容に関してご紹介させていただきます。(引用元|https://secure.php.net/download-logo... (引用元|h

    PHP7.3の変更点
    gt0824
    gt0824 2019/06/21
  • 監視を少し改善した話

    こんにちは、GMOアドマーケティングでインフラ開発を担当していますsandatsです。 今回はインフラで使っている監視を少し改善した話をします。 インフラで使っている監視ツールについて まずは、今回の話に出てくるインフラの監視ツールについて少しお話します。 インフラでは収集したログを可視化するツールとして、Grafanaを使っています。 Grafanaを使って、各サーバーのメトリクス(LoadAverage、Memory、Swap、etc)やレスポンスタイム、リクエスト数などを可視化しています。 Grafanaの運用改善について Grafanaはこれまでもインフラチーム内で定期的に見るようにしていましたが、常時表示する事によって変化に気付きやすくしたいという思いから今回の改善を行いました。 どう改善したのか 大きなモニターを購入し、いつでもグラフを見れるようにしました。(見栄えが悪いですが

    監視を少し改善した話
    gt0824
    gt0824 2019/06/19
  • Go言語 DatastoreのEntityを特定条件で一括削除

    GMOアドマーケティングのy.yです。 今回はGo言語でCloud DatastoreのEntityを特定の条件で一括削除する方法について書きたいと思います。 引用元:The Go Blog The Go Blog by Google CC BY 3.0 単純なEntityの一括削除を行う場合にはCloud Datafllowを使用するのが良さそうです。 エンティティの一括削除について Cloud Datastore APIでCommitオペレーションに渡せるエンティティの最大数 は500となっています。 なのでAPIへ一度のリクエストで書込、更新、削除できる最大数は500件までとなります。 詳しくはこちらを参照してください そのため、ある特定の条件に当てはまるEntityを全て削除する場合は下記の内容で行えます。 例)更新日が30日以上経過しているentityを削除 package da

    Go言語 DatastoreのEntityを特定条件で一括削除
  • GoogleのJava用Logging API「Flogger」を使ってみた

    /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/java -Dfile.encoding=UTF-8 -classpath /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines

    GoogleのJava用Logging API「Flogger」を使ってみた
  • Google Cloud Functionsを利用してSlackからRedmineへのチケット登録を作った

    はじめに こんにちは、 GMOアドマーケティング 開発部長のクリスです。 インフラチームのマネージャーも兼任してます。 先日、インフラチームのために、 Google Cloud Functionsを使ってSlackで依頼されたタスクを自動的にRedmineに登録する仕組みを作りました。今回、そちらについて紹介したいと思います。 普段マネジメントがメインですが、久しぶりに開発ができてとても楽しかったです。 背景 最近、プロダクトの増加に連れて、インフラチームへのタスク依頼も増えています。 会社ではSlackを使っていますが、コミュニケーションが取りやすい分、インフラへの依頼があちこちのチャンネルに分散されている状態でした。 ・マネジメント側としては、タスクの依頼状況の全体がみえず、フォロー、調整がしにくい ・インフラエンジニア側としては、タスクのチケット登録に追われ、あちこちのチャン

    Google Cloud Functionsを利用してSlackからRedmineへのチケット登録を作った
  • Rubyを使ってGoogleチームドライブにアップロードしてみた

    こんにちは。 GMOアドマーケティングのT.Mです。 はじめに Rubyでチームドライブにファイルをアップロードする方法をご紹介します。 チームドライブについて Googleドライブを使っている方も多いと思います。 個人の場合は「マイドライブ」という名前になっていると思いますが、 企業で「G Suite」を使っていると「チームドライブ」という機能が使えるようになります。 このチームドライブは、マイドライブと同様にファイルのアップロードやスプレッドシートの作成、メンバとのファイル共有などできることは一緒です。 大きな違いはファイルの所属が個人からチームに変わるので、マイドライブの場合メンバの離職時にファイルの引き継ぎが必要でしたが、チームドライブであればファイルの引き継ぎが不要になります。 やってみてできなかったこと Googleドライブを操作する方法は色々あるので、チームドライブに対しても

    Rubyを使ってGoogleチームドライブにアップロードしてみた
    gt0824
    gt0824 2019/05/17
  • 過去最大規模のRuby on Railsのカンファレンス「Rails Developers Meetup 2019」に参加しました!

    過去最大規模のRuby on Railsのカンファレンス「Rails Developers Meetup 2019」に参加しました! こんにちは! GMOアドマーケティングのT.Iです。 2019年3月22〜23日の2日間にわたって開催されたRails Developers Meetup 2019に参加したので、当日の様子を参加レポートという形で紹介させていただきます。 ※今回は有料の勉強会でしたが、社内のエンジニア支援制度を使って参加費は会社負担で参加させていただきました。 Rails Developers Meetupとは? Rails Developers Meetupは『Rails導入企業・Rails開発者が集まり、Railsコミュニティの活性化と技術交流を目的とした勉強会』で、2017年5月に第1回のイベントが開催されました。 開催ごとに規模は拡大し、今年開催された『Rails

    過去最大規模のRuby on Railsのカンファレンス「Rails Developers Meetup 2019」に参加しました!
  • エンジニアが技術以外を語ってみた 語り愛 〜エンジニア〜

    みなさまこんにちは!テックしてますか? 趣味を楽しむ女性のためのサイト「めるも」の開発マネージャーA.Y.です。 さて今回は、「エンジニア技術以外を語ってみた 語り愛 〜エンジニア〜」の模様をお伝えします。 語り愛 〜エンジニア〜 ってなあに? この企画、元は昨年末に弊社GMOアドマーケティングの初参戦となったQita Advent Calendar 2018 の慰労会でした。 しかし、最近のテック会社はテックブログで技術以外の社内イベントも発信していくのがトレンドです。 乗るしか無い、このビックウェーブに!ということで、我々もAdvent Calender参加者限定の懇親会の模様をテックブログで配信すべく、わいわい美味しいものをべながら、「みんなに技術以外で語りたいことをシェアしてもらう会」を実施しました! みんなで美味しいものをべて、みなさまにも社内の雰囲気を伝えることができて、

    エンジニアが技術以外を語ってみた 語り愛 〜エンジニア〜
    gt0824
    gt0824 2019/03/29
  • Trello x JIRA 自動連携

    GMOアドマーケティング SSP開発チームのKA.Mです。前回紹介したJIRA x GitHub自動連携の記事は見て頂けましたでしょうか。まだ、ご覧でない方は先にそちらを見て頂けると幸いです。 アドマーケティング SSP開発チームのKA.Mです。無事引っ越しできました。チーム内でGo言語が盛んになっており、同僚と共に日々精進しています。vim-go と ale というPluginによるGo言語サポートが熱いですね。✕引用元: https://github.com/logos引用元: https://atlassian.design/guidelines/marketing/resources/logo-files最近、SSP開発チームでJIRA Softwareを使い始めました。実際に使いSSP開発チーム仕様にカスタマイズを加える事で利便性が向上した事例をご紹介致します。まずはじめにJIR

    Trello x JIRA 自動連携
    gt0824
    gt0824 2019/02/25
  • 複数のGPUを使ってCloudML上でモデルをトレーニングする

    こんにちは、GMOアドマーケティングのS.Rです。 良いモデルを作るには、大きなサイズの学習データが必要です。そして、高速にモデルをトレーニングすることができれば、イテレーションの短縮になります。今回は高速にモデルをトレーニングするために、複数のGPUでディープラーニングのモデルをトレーニングする方法を投稿します。記事中の図説は、筆者が自らの環境で作成したものを含みます。 1. LibraryとTool: 今回は下記のディープラーニングのツールまたはライブラリを利用していました。 Tensorflow ディープラーニングに対応しており、Googleの各種サービスなどでも広く活用されている。 2017年2月15日に TensorFlow 1.0 がリリースされた。 対応プログラミング言語はC言語、C++PythonJavaGo。 対応OSは64ビットのLinux(ただしバイナリ配布は

    複数のGPUを使ってCloudML上でモデルをトレーニングする
  • KerasでTPUを使ってトレーニングをする

    こんにちは、GMOアドマーケティングのS.Rです。 Googleが開発しているTPUをご存知ですか?TPUはディープラーニングを高速化するため、Googleが開発したプロセッサです。TPUでディープラーニングのモデルのトレーニング時間は20倍以上の改良が可能です。2018年9月26日にColabというGoogleが提供されている、 機械学習のオンラインノートサービスでTPUインスタンスの無料提供を始めました。今回はColabでTPUを利用する方法を投稿させていただきます。記事中の図説は、筆者が自らの環境で作成したものを含みます。 1 Colabのインスタンスを作る Colabの利用を始める最初のStepは、Colabのファイルを作ります。Google Driveの管理画面へ遷移し、新しいColabのファイルを作ります(図1)。 図1: Colabのインステンスを作る 2 TPUを設定する

    KerasでTPUを使ってトレーニングをする
  • Kubernetesを本番導入する際にハマった5つのこと | GMOアドパートナーズグループ TECH BLOG byGMO

    このエントリーは、GMOアドマーケティング Advent Calendar 2018 の 【12/25】 の記事です。 GMOアドマーケティングとしては初のAdvent Calendar参戦です。 こんにちは。GMOアドマーケティングの佐藤です。弊社では今年3つのマイクロサービスにKubernetesを導入しました。minikubeのローカル環境で開発、ステージング環境でテスト後、番環境にデプロイします。弊社ではGKEを使っていますが、ローカルではうまくいっても、番にデプロイした際に、いくつかのトラブルに見舞れることがありましたので、その内容と解決方法を共有できればと思います。 1. Preemptive VM Instanceが買えない場合がある 広告のサービスはピーク時間帯とアイドル時間帯でアクセスが10倍以上違う場合があるため、アクセスに応じてオートスケールするように設定していま

    Kubernetesを本番導入する際にハマった5つのこと | GMOアドパートナーズグループ TECH BLOG byGMO
    gt0824
    gt0824 2018/12/25
  • Google Kubernetes EngineでIngressのSSLポリシー設定をTLS1.2以上に制限する

    このエントリーは、GMOアドマーケティング Advent Calendar 2018 の 【12/23】 の記事です。 GMOアドマーケティングとしては初のAdvent Calendar参戦です。 こんにちは。GMOアドマーケティングのmizkichです。 この記事では、「GKE(Google Kubernetes Engine)上のIngress(Load Balancer)に対して脆弱性のあるSSL/TLSを無効化する方法」について紹介します。 KubernetesにはSSLを実装する方法が複数存在しますが、今回はingress-gceでの設定方法を紹介します。 目的 GMOグループでは、2018年7月より脆弱性のあるSSL/TLSプロトコルを順次無効化する方針となりました。 私が担当しているGKE上のシステムも対象です。 ingress-gceを使った場合は初期状態でTLS1.0やT

    Google Kubernetes EngineでIngressのSSLポリシー設定をTLS1.2以上に制限する
  • Rails6のAction Textを試してみる

    このエントリーは、GMOアドマーケティング Advent Calendar 2018の 12/22 の記事です。 GMOアドマーケティングとしては初のAdvent Calendar参戦です。 GMOアドマーケティングのエンジニアS.Yです。 来年の2019年にRails6がリリースされる予定ですが、新機能のAction Textを試してみたので、紹介したいと思います。 Action Textとは、ブログなどで使われているリッチなテキストエディタ機能を簡単に実装できるものとなっています。 それでは試していきましょう! 動作環境 macOS High Sierra Ruby 2.5.3 Ruby on Rails 6.0.0.alpha 環境構築 Rails6はRubyのバージョン2.4.1以降が必須なので、 Rubyのバージョンが古い場合はrbenvなどで新しいバージョンをインストールします

    Rails6のAction Textを試してみる