タグ

ブックマーク / recruit.gmo.jp (14)

  • Apple Silicon (M1/M2)MacでのVagrant+VirtualBoxの代替手段 - GMOインターネットグループ グループ研究開発本部

    みなさんこんにちは、グループ研究開発AI研究開発室のK.Fです。 これまで、Intel MacでVirtualBox + Vagrantを利用してCentOS 7の仮想(VM)環境を利用していたのですが、Apple Silicon MacPCを乗り換えたので、代替方法がないか調査してみました。 結論 Ubuntu 22.04/aarch64 on multipass -> CentOS 7/x86_64 on vagrant + libvirt が最もよい 動作は少し遅いと感じることがあるが、x86_64をエミュレートしているので番との環境差分が少なくなってうれしい 1. はじめに 筆者の環境 MacBook Pro 14 inch, M2 Pro, 32GB RAM MacOS Ventura 13.4.1 なるべくこれまで使ってきたVagrantfileを変更したくないので、

    Apple Silicon (M1/M2)MacでのVagrant+VirtualBoxの代替手段 - GMOインターネットグループ グループ研究開発本部
  • Google Apps Scriptをローカルで開発する - GMOインターネットグループ グループ研究開発本部

    こんにちは。次世代研究室のH.Uと申します。 今回は、Google Apps Scriptのローカルでの開発を試みましたので、その結果を共有させていただきたく思います。 Google Apps Scriptとは Google Apps Script(GAS)とは、Googleの開発するプログラミング言語です。 こちらの用途ですが、Google Workspace(GSuite)のさまざまなソリューションを連携させるなどが挙げられます。 (e.g.Googleフォームで回答があった際に、回答者にサンクスメールを送信する) これにより業務の一部を自動化することが可能であり、Power AutomateのようないわゆるRPAソフトとは異なりますが、生産性向上のツールと言えるでしょう。 GASには、Google製のWEBエディターが用意されており、そちらを使えばすぐに開発を始められます。 しかし、

    Google Apps Scriptをローカルで開発する - GMOインターネットグループ グループ研究開発本部
  • VSCodeで始めるPlantUML生活 - GMOインターネットグループ グループ研究開発本部

    こんにちは。次世代システム研究室のS.Iです。 今回は、最近Visual Studio CodeとPlantUMLを使用して設計によく利用しているので、メリットや私がよく利用している便利な機能やコマンドについて紹介したいと思います。 利用するツール macOS 10 Visual Studio Code 1.45 Visual Studio Code Plugin PlantUML 2.13 UML作図ツールの課題 これまで、excelやvisio、astah、cacooなどで設計してきましたが、一番困るのが設計した後の変更です。仕様の変更などで別の担当者が修正を行う際、どのツールも変更が困難だったり画像で共有されたものは変更が出来ないような状況になってしまいます。 これまでの課題 修正した時に差分がわかりにくい レビュー時にフィードバックしづらい ツールに依存するため編集が困難 バージョ

    VSCodeで始めるPlantUML生活 - GMOインターネットグループ グループ研究開発本部
  • メールや外部サービス連携を伴うテストの自動化 - GMOインターネットグループ グループ研究開発本部

    こんにちは。 今回はYii2ベースのCodeception/PhantomJSを利用して、メールや外部サービスとの連携を伴う機能のテスト自動化について紹介します。 数ヶ月前、関わっていた開発案件で作ったプログラムがリリースされ、現在は不具合の修正、改善要望、新機能の追加などの開発を行うフェーズになりました。改善や機能追加の開発スパンは短いため必然的にリリース作業も多くなっています。 当然リリース前に動作確認をするわけですが、メールや外部サービスと連携した機能を有するサービスの場合、手動でテストすると非常に時間がかかってしまいます。そこでメールや外部サービスとの連携を伴う機能のテスト自動化で動作確認にかかる時間の短縮を目指しました。 テスト自動化の際に利用したフレームワーク/APIの紹介とメール、外部サービスとの連携を伴う機能として以下の処理のテスト自動化を紹介します。 会員登録機能 会員登

    メールや外部サービス連携を伴うテストの自動化 - GMOインターネットグループ グループ研究開発本部
  • Ansibleで簡単オーケストレーション - GMOインターネットグループ グループ研究開発本部

    はじめに こんにちは。次世代システム研究室のT.Tです。 以前の記事でAnsibleのベストプラクティスへの橋渡しとなる基的な構成についてご紹介しました。 今回はローカル環境から番環境まで通して適用できるplaybookの構成例について、ベストプラクティスに加えて効果的なplaybookの構築手法も取り入れた、より実践的な例をご紹介したいと思います。 構築する環境 構成図 以下の図のようにローカル、開発、ステージング、番(図中ではそれぞれlocal、dev、staging、production)の4つの環境を構築し、Webサーバーではnginxphpを稼働させ、DBサーバーではMySQLをmasterとslaveの構成で稼働させます。 構成概要

    Ansibleで簡単オーケストレーション - GMOインターネットグループ グループ研究開発本部
  • OpenID Connect IDトークン署名検証 - GMOインターネットグループ グループ研究開発本部

    こんにちは。次世代システム研究室のM.Mです。 過去のブログにてOpenAMを利用したOpenID Connectについて紹介したことがありましたが、その際はOpenID ConnectのIDトークンの検証については省略していたので、今回はその続きとしてIDトークンの署名検証についてPHPにてどのように実施したか紹介したいと思います。 過去のブログはこちら OpenID Connectについてはこちら ・OpenID Connectプロバイダーとしては前回同様OpenAMを使って確認を行っています。 ・このブログに記載しているIDトークンの値などは実際の値を別の値に加工しているので利用することはできません。 目次 IDトークンとは IDトークン構造について PHPによるIDトークンの検証 1.IDトークンとは ユーザーがOpenID Connectプロバイダーにてログイン認証した後、Ope

    OpenID Connect IDトークン署名検証 - GMOインターネットグループ グループ研究開発本部
  • Codeceptionの導入事例 - GMOインターネットグループ グループ研究開発本部

    こんにちは。次世代システム研究室のS.Iです。 次世代システム研究室ではシステム開発を行う上で様々な取り組みを行っています。 現在進行中のプロジェクトでは、Codeceptionを利用して生産性や品質を向上させる取り組みを行っています。ここではその導入事例について触れていきたいと思います。 Codeceptionによるテストの自動化 概要 CodeceptionはテストフレイムワークでLaravel5やsymfony、Yii2、Zend FrameworkなどのPHP Frameworkをサポートしています。また、コードジェネレータが提供されているため、簡単なサンプルのテストコードを素早く生成することが出来ます。 コードを生成する 「./codecept list」で以下のように各コマンドを表示することができます。まずは「generate:suite」設定ファイルを作成し、各テストプログラ

  • React.jsアプリケーションのFluxアーキテクチャを調べてみた - GMOインターネットグループ グループ研究開発本部

    最近、関わったプロジェクトReactを使っていますが、自分は今回Reactをはじめて使うので、Reactを用いたアプリケーションアーキテクチャFluxを調査してみました。今回の記事で、Fluxアーキテクチャと実際の実装について調べた内容を書きたいと思います。 Fluxとは Reactを用いたアプリケーションアーキテクチャ Facebookが提唱したSmalltalk MVCの焼き直し データが一方通行へ流れるようにするアーキテクチャ ウェブUIについてそれを適応する Fluxをインストールすればレールに乗れる 調査するため、自分のCentos7サーバに以下の手順でFacebookのTodoMvcアプリケーションの開発環境を構築しました。 ソースコード https://github.com/facebook/flux NodeJsのインストール $ sudo yum install epe

    React.jsアプリケーションのFluxアーキテクチャを調べてみた - GMOインターネットグループ グループ研究開発本部
  • Golang vs PHP7(追記あり) - GMOインターネットグループ グループ研究開発本部

    Golangが一番パフォーマンスが良いかと予想していましたが、全く逆の結果になってしまいました。 Golangが遅い理由 遅い原因をいくつか考えて改善できないか試してみました。詳細は省きますが、以下の点については問題なさそうでした。 goroutineはリクエスト単位で起動している コネクションプールは有効になっている BeegoORM特有の処理は主原因ではない(標準ライブラリのsql関数と大差なし) DB側のCPU使用率は100%になっているが、CPU使用率とメモリ使用量はPHP環境と同程度の負荷になっている ここまで確認して、プロファイラを使った方が良さそうに思えたので、いったんプロファイラで状況を確認するために、標準で提供されていて手軽に使えそうなpprofを使ってみました。topで確認すると次のような結果がでました。 (pprof) top 20 -cum 920ms of 15

    Golang vs PHP7(追記あり) - GMOインターネットグループ グループ研究開発本部
  • OpenAMによるOpenID Connect - GMOインターネットグループ グループ研究開発本部

    こんにちは。次世代システム研究室のM.Mです。 現在、IDサービス、SSOに関連する開発案件に携わっており、OpenAMにてOpenID Connectによる認証・認可の仕組みを提供するIDサービスを検討しております。 OpenAMによるOpenID ConnectについてはGoogleなどで検索するとたくさん記事がでてきますが、実際に使ってみると苦労する箇所がいくつかでてきました。 今回はその苦労したポイントを紹介したいと思います。 OpenAMについてはこちら 以下の説明ではhttp://openam.example.com:8080/openamにてOpenAMにアクセスできるようにしたケースになります。 尚、今回利用しているOpenAMのバージョンは13.0.0になります。 目次 OpenAMによるOpenID Connectの設定方法 OpenID Connect利用の流れ 何に

    OpenAMによるOpenID Connect - GMOインターネットグループ グループ研究開発本部
  • NoSQLデータベース Riak - GMOインターネットグループ グループ研究開発本部

    次世代システム研究室の データストア 好きの Y.I. です。 今回は個人的に注目している Basho Technologies, Inc. の分散 NoSQL データベース Riak についてご紹介します。 ■ Riak について 現在、 Riak(シリーズと言えばいいのでしょうか?) には3つのプロダクトが展開されています。 ・キーバリューストアの Riak KV ・2015年に公開された時系列データ向けの Riak TS ・AWS S3 APIと互換性があるオブジェクトストレージの Riak S2 各プロダクトは全て分散型となっておりノードの追加を行うことでリニアにキャパシティや性能があがります。言語はErlang言語で作られていて並行処理や対障害性に優れています。またOSSとしても提供されています。 ■ Riak KV の特徴 Amazon Dynamo 論文をベースに設計された分

    NoSQLデータベース Riak - GMOインターネットグループ グループ研究開発本部
    okinaka
    okinaka 2016/07/04
  • HashiCorp製品(Vagrant, Consul, Atlas, Otto)の活用による開発環境構築の自動化について発表しました - GMOインターネットグループ グループ研究開発本部

    2015.12.21 HashiCorp製品(Vagrant, Consul, Atlas, Otto)の活用による開発環境構築の自動化について発表しました この記事は HashiCorp Advent Calendar 2015 の第22日目です(急きょ参加させてもらったので、公開日と1日ズレてます……)。 次世代システム研究室の DevOps ネタ担当の M. Y. です。今回は、2015年12月21日に開催された社内の研究発表会にて、HashiCorp の新ツール “Otto” に関する発表を行いましたので、その内容をご紹介します。 Otto とは、2015 年 9 月末に HashiCorp 社が発表した新しいツールです(参考:公式サイト、リリース時のブログ記事)。単一の設定ファイル “Appfile” で、開発環境と番環境の両方を管理できる “The Successor to

    HashiCorp製品(Vagrant, Consul, Atlas, Otto)の活用による開発環境構築の自動化について発表しました - GMOインターネットグループ グループ研究開発本部
  • Composerのローカルリポジトリ(satis)を利用してdeployを安全かつ高速にする - GMOインターネットグループ グループ研究開発本部

    はじめに こんにちは。次世代システム研究室のA.Zです。 composerの普及で、PHPプロジェクトの外部ライブラリをcomposerで管理するケースが増えました。 私が担当するプロジェクトでも、外部ライブラリの管理はcomposerで行い、deployするタイミングで、外部ライブラリのupdate、またはinstallを行います。 しかし、こちらのdeployの仕組みには、以下の問題があります。 外部システムに依存するため、外部システムでトラブルが発生した場合、リリースの遅延・停止が発生する。 インターネット経由で外部システムに接続するため、deployに時間がかかる。 以上の問題を解決するため、社内のcomposer用のプライベートリポジトリを構築する必要が出てきました。 今回は、その構築手順を紹介したいと思います。 前提条件 まずは、社内のプライベートリポジトリを利用することで、

    Composerのローカルリポジトリ(satis)を利用してdeployを安全かつ高速にする - GMOインターネットグループ グループ研究開発本部
  • Docker Client for Windowsで拡がる夢 - GMOインターネットグループ グループ研究開発本部

    こんにちは、次世代システム研究室のN.O.です。 以前こちらの記事でMac上にDockerを利用したfuelphp+LAMPの開発環境を構築する記事を書きましたが、WindowsにもDocker clientが登場したので、Mac/Windowsで同じような操作で開発ができるようになるのでないかと思い調べてみました。実際にはまだまだ同じような操作でという訳にはいかなかったのですが、できる範囲でWindows+Dockerでfuelphp+LAMPの開発環境構築を試してみました。今回はfuelphpのWelcome画面の表示を目指します。環境はWindows 7 Pro 64bit, boot2docker 1.6.0を使用しています。 docker-composeが使えない まずdocker-composeが使えない事が分かりいきなりつまづきました。docker-composeはアプリに必

    Docker Client for Windowsで拡がる夢 - GMOインターネットグループ グループ研究開発本部
  • 1