読者です 読者をやめる 読者になる 読者になる

ユアマイスター株式会社エンジニアブログ

ユアマイスター株式会社のエンジニアが日々徒然。

VagrantでVMを2台立ち上げてMySQLのMaster/Slaveを作ってレプリケーション

こんにちは!ユアマイスターの星です。 今回、ローカル環境で、MySQLのレプリケーションを動作確認する機会があったので、その手順を備忘のために書いておきます。 大きく詰まる所はなく、トントンと行けると思います。 VMはCentOS6.3で立ててあります。(My…

tigを逆から読むと

どうもエンジニアインターン生竹本です!! 最近の弊社のサービス「あなたのマイスター」では母の日キャンペーンとして新社会人になられて初任給をもらった方や、 中々親孝行ができていないと感じている社会人の皆様に向けてハウスクリーニングをプレゼント…

N+1問題

N+1問題とは? アソシエーションをした上でeach doで紐づいた先のデータを取って来る際に データベースに取りに行く回数が多い分SQL文が多く発行される。すなわち、時間がかかる 膨大な量になると重くなってしまう…. N+1問題の解決方法 rails版 controller…

レンダ(render)ーって便利だー

みなさんこんばんわ。桜が散り、これから緑深くなる季節の前触れかのように気温が急に上がり始めましたね。 だからってまだ朝方は少し寒いみたいで、掛け布団なしで寝たら風邪を引いたエンジニアインターン生の竹本です。 さて、最近の株式会社ユアマイスタ…

MastodonをFranzプラグインを追加して、コミュニケーションツールの一括管理!

こんにちは、ユアマイスターの星です。 最近何かと話題のMastodon(マストドン)ですが、僕も早速使い始めてみてます。(もしよかったらフォローしてください) Macのデスクトップアプリがまだなさそうだったので、普段使用頻度の高いアプリFranz(フランツ…

1ヶ月CakePHPを使った感想を書いてみた!

こんばんは!1週間ほど前からインターンとしてお世話になっている高梨です。 プログラミング歴も4ヶ月ほどで、共同開発はこのインターンが初の経験ですので、 そんな若者が書いた「Cakeを1ヶ月使ってみた!」だと思って 軽い気持ちで見てもらえると幸いです…

PHPUnitでテストを省略する方法

こんにちは。ユアマイスターの星です。 今日はPHPUnitで便利だなーと思ったメソッドの紹介です。 どんな時? ユアマイスターではユニットテストにPHPUnitを使っています。 基本的にはModelとComponentに対してテストを書いていってるわけですが、 他メンバー…

mixpanel ベストプラクティス

日曜も働くよ!エンジニア兼マーケターの日高です! 古い記事になるんですがmixpanelのベストプラクティスについての記事を掘り起こしてきました! ・開発用のデータと、本番のデータは分けよう はい、まさにその通りです。 わたくし、ごっちゃにしておりま…

Ruby on Rails でのアソシエーション

こんにちは!エンジニアインタンーンの土屋です! phpを学んでいる上でアソシエーションが沢山出てきます。これまでrubyでruby on railsを勉強しながらやっていたのでphpを勉強するときは、railsでやったことと照らし合わせることが多いです。今日はrailsで…

モデルの作り方

みなさんこんばんは!エンジニアインターン歴が今一番長い竹本です。 なんとみなさんに朗報です。先日から期待の新星ショーケイくんがユアマイスター株式会社のエンジニアチームにインターンとして参加してくれることになりました! 彼のガッツ溢れる忍耐強…

Circle CI で PHPUnit 動かしたいと思ったら SQLSTATE[HY000] [2002] No such file or directory

こんにちは、ユアマイスターの星です。 弊社では、CIツールとして Circle CIを使っています。 導入時にうまくいかなかったポイントとその解決方法を書いておきたいと思います。 背景 Circle CIではcircle.ymlという設定ファイルで、 初期条件や実行コマンド…

mixpanelライブラリの読み込み完了イベントを感知するには

こんばんは、エンジニア兼マーケッターの日高です。 mixpanelを使っていて、掲題のことについて困ったことはありませんか? 例えば、mixpanelの読み込みが完了してからPageViewイベントを発行したり、 流入元別に異なるメッセージを表示したいなどの場面に遭…

.bashrcとalias(エイリアス)を使って便利にスピーディーに

こんにちは!エンジニアインターンの土屋です!yourmystarで開発を始めてこんなにスピーディーに便利にできるのかと思わされる機能に出会ったり、教えてもらったりで、今日は「alias(エイリアス)」と「.bashrc」について、教えてもらった事と、調べた事をて…

CakePHPで深いAssociateを持った階層の値をDBから取得する

こんばんは!エンジニアインターンの竹本です! 今回はControllerと直接繋がっているテーブルの「ひ孫要素テーブル」という深い階層のデータをとってくる時に気にしなければいけないことについて書いていきたいと思います。 そもそもCakePHPでDBから値を持っ…

まだ見ぬ君へ。

こんにちは。ユアマイスターの星です。 なんのきなしに、Googleで「エンジニア憲章」を検索してみたら、10位になってました。 競合が少ないページだと一気に上まで行けるんですね。 yourmystar-engineer.hatenablog.jp さて、本来であれば技術的なことを書…

番外編*プレスリリースの投稿

初めまして、安岡と申します! 普段はマーケティングをしています。レアキャラなので今日見れた方ラッキーですね。はい。 今日は、プレスリリースという広告の一種の運用方法について、ちょこっとお話します。 プレスリリースとは 【プレスリリース】出稿の…

bootstrap3と4の違い

bootstrap4を使っている方はまだ少ないと思いますが、気になっている方は多いと思います。 私も気になっているので、軽く調べてみました。 主な変更点の中で気になったのは、以下の3つ。 1. グリッドの種類が4つ(xs, sm, md, lg)から、5つ(xs, sm, md, lg…

RWD(レスプンシブWebデザイン) & 第一回 ユアマイスターEngineer Night

こんにちは!エンジニアインターンの土屋です! 今回は、ユーザーにwebサイトを見やすくさせるための工夫の一つとしてRWD(レスプンシブウェブデザイン)について書こうと思います。 また、ユアマイスターではないところでエンジニアをされている人やデザイナ…

自分の所在地がわからなくなった時

卒業式 こんばんは、エンジニアインターン2の竹本です。 昨日ユアマイスター株式会社では4/1から社会人になられる卒業生の門出を讃える卒業式が行われました! 社長のありがたい言葉や、会を盛り上げてくれるおもろい関西人の人のおかげで四年生も喜んでいた…

array_walk_recursiveで配列の要素が配列でもコールバックを適用したい

こんにちは、エンジニアインターンの國丸です。 今日はphpのarray_walk_recursive関数で配列の要素が配列でもコールバックを適用したいというシーンがあったので、解決方法を書きたいと思います。 配列に再帰的にコールバックを適用しない場合はarray_map、 配列…

ユアマイスターエンジニア憲章

こんにちは!ユアマイスターの星です。 今日は弊社エンジニアで働く上で大事にしていこうと思っていることを書きたいと思います。 書こうと思ったきっかけ まだまだエンジニアとしては人数も少ないですし、目の届く範囲内で一緒に仕事ができる環境なので大丈…

sketch3とIcoMoonでオリジナルicon fontを作ってみる。

こんにちは、日高です。 3回目の投稿となりました。 本日は、弊社サービスで利用するicon fontを作ってみたいと思います。 通常、font awesomeというサービスのフォントを使わせてもらっているんですが、 使いたい形がないことがたまにあるんですね(△とか) …

便利なBootstrap

こんにちは!エンジニアインターンの土屋です! 今日はbootstrapの基本的なことについて今まで学んだことを書いていきたいと思います!! 複雑なレイアウトも簡単にレスポンシブ対応できるグリッドシステム サイトの横幅を12分割にして均等に分けるガイドライ…

複数ページのheader一括化!

こんばんは!エンジニアインターン歩兵クラスの竹本です! 皆さんWBC盛り上がりましたか??ユアマイスター株式会社は昨日のアメリカ戦を皆で応援してましたが…残念な結果でしたね、、 その悔しさを仕事のパフォーマンスに変える。それがユアマイスター株式…

phpのSplObjectStorage

こんにちは、エンジニアインターンの國丸です。今日はphpのStandard PHP Libraryのデータ構造に関するクラスの一つ、SplObjectStorageを紹介します。 SPL Datastructures SplDoublyLinkedList:連結リスト SplStack:スタック SplQueue:キュー SplHeap:ヒープ …

2017/3/31 ユアマイスターTGIF Night開催します!

peraichi.com 「スタートアップってどんなのか見てみたい!」 「あなたのマイスターってどんなサービスなの?」 「タダで食べ飲みできるって聞きました」 理由はなんでもいいんです。 渋谷の片隅でせっせと働くユアマイスターズを 「応援」しに来てくれませ…

「エンジニアブログ、今日書くのだあれ?」をSlackに自動でリマインダー通知してみる。

こんにちは!星です。(諸事情あったのですが、ついに名前を公表できるようになりましたw) 今日は弊社で使ってる Google Calendar と Slack の連携で、便利なものがあるので紹介します。 やりたいこと 設定方法 Google Calendarの設定 Slackの設定 どんな感…

サイトの表示速度は収益を左右する!!画像を最適化して、簡単に表示速度UP

0.1秒が売り上げを左右する amazonの調べによると、ページの読み込み時間が0.1秒減ると、売り上げが1%上がるようです。 弊社のサイトも、サービス数が増えるに従って表示速度がきになるようになってきましたので、 スピードアップを図りたいと思います。 簡…

エンジニアレクチャー!

プラウザにURLを打って画面表示まで(今回はリクエストについて) 自分のローカル → インターネット → 環境構築によってできた仮想環境 HTTP(プロトコル)リクエストによってサーバーへリクエストを送る プロトコルとは…?? こんにちは!エンジニアインター…

git stashを使ってみた!照

GitHubって?? チームで開発して感じたこと 「同時に行うタスクが多くてブランチきりかえたい」->「でも差分ファイルはコミットして残して置くほどでもない」 git stashの使い方 注意点 こんばんわ!エンジニアの卵:竹本です! 今週もエンジニア初心者の方…

goroutineでRELIVERSにアクセスしてみる

こんにちは!エンジニアインターンの國丸です。今日はgolangを書いてみたく、gouroutineを使って弊社のオウンドメディアであるRELIVERSにアクセスするプログラムを書いたので紹介します。本来はurlの数がもっと多く、channelによる並行度制限が意味を持つのです…

CakePHPのDBアクセスについて

データの取得 データの追加 / 更新 データの削除 テーブルの連結 最後に こんばんは!ユアマイスターエンジニアチームの高崎です。 今日は弊社で採用しているPHPフレームワーク、CakePHPのDBアクセス機能について書きたいと思います。 CakePHPではSQL文が持…

mixpanel.track_links()やtrack_forms()がたまに計測されない件

mixpanelを使い始めた頃 はまったポイント 答えは隠されていた mixpanelを使い始めた頃 こんばんは、日高でございます。今回で2度目の投稿になります。 弊社では、先月からmixpanelを利用していますが、 実は私、初めてこれを使い出したのは3〜4年ほど前に…

ユアマイスターの開発フロー

こんにちは。ユアマイスターエンジニアです。 今日はうちの開発フローについて紹介したいと思います。 GItHubとCircle CIを中心にした開発フロー 流れのポイント解説 ポイント1 基本開発はローカルで! ポイント2 Slackにつぶやいてプルリク作成! ポイン…

PHPでのエラー解析方法について

はじめに エラーとは 原因の特定 続きは・・・ こんにちわ! エンジニアの大塚です。 皆さんはコーディングの際に発生したwebアプリケーションエラーについてどのように解決してますか。 そんなものググればわかるだろ!とか、ログを見ればわかるだろ、とい…

エンジニアの世界に足を踏み入れる

挑戦!!! インターンをはじめて 学んだ事 現在のタスク 終わりに 挑戦!!! 初めまして!エンジニアインターンで働かせていただいている土屋です。 私がプログラミングを知ったのはつい半年前で、ユアマイスターで開発のチームの一員として初めて2週間で…

CakePHPで画面上で同じ処理を行いたいときのコントローラーのいじり方

そもそもコントローラって? M(Model) V(View) C(Controller) 複数のViewでトークの通知アイコンを表示させる 三つのページの親コントローラーで処理を行う これをまず親コントローラー(AppController.php)で定義して、beforeFilterの※1に入れ込む 親コント…

PHPで変数の中身を検証する

こんにちは、エンジニアインターンの國丸です。今日はユアマイスターの開発で使われているPHPで、変数の中身をチェックする方法について書こうと思います。 PHP: PHP 型の比較表 - Manual 知識は上の型の比較表で事足りるので、開発をしていく中で出てきた具体例…

CakePHPのいいところ、気をつけること

CakePHPとは? どこがいいの? 気をつけること こんにちは!ユアマイスターエンジニアチームの高崎です。 今日は弊社で採用しているPHPフレームワーク「CakePHP」について書いてみようと思います。 cakephp.org CakePHPとは? もうここであらためて書くのも…

sitemap.xmlからディレクトリ名だけ抜き出す

きっかけ 制限事項 どうするか やり方 まとめ きっかけ あなたのマイスターでもページがだんだん増えてきたので、 sitemap.xmlの見直しを行おうと思い、下記サイトを利用しようとした。 www.sitemapxml.jp このサイトではURLを設定すると自動でsitemap.xmlを…

mixpanelのaliasとidentifyの使い分けについて

mixpanel.alias()とmixpanel.identify()の使い方 それぞれをなんのために呼び出すのか 初めまして!マーケターの日高です。 先日、行動解析ツールとして有名なmixpanelを弊社サイトに導入してみましたので、 その時に分かりづらかったことと調べたことを備忘…

統合開発環境はPhpStormがオススメです。

PHP

PhpStorm PHPStormとは? おすすめ機能 - 強力なコード解析 最後に はじめまして! エンジニアの大塚です。 私はユアマイスタへー参画して間もないこともあり、ブログネタに何を書こうか迷っていましたが、 エンジニアブログということで私の使っている開発…

Smoochをエンジニアブログに導入しました。

経緯 国産 KARTE チャットポート Chamo 外国産 Zendesk chat(旧Zopim) Smooch 経緯 我々のサービス「あなたのマイスター」においても、チャットによるカスタマーサポートをしたいという話が持ち上がっており、 色々なチャットツールを試しに入れてみたいとい…

タスクのレベル名

自己紹介 ジェネレーションギャップ インターンをやってみて 自己紹介 こんばんは。ユアマイスター、エンジニアインターン二号機の竹本です。 僕はこの会社に勤めて二週間ほどしか経ちません。がユアマイスター株式会社はとても熱い会社だともう実感できるく…

3/2 アップデートのお知らせ

3/2に以下の機能のアップデートを行いました。 1. 新規会員登録画面のフォームのUIを改善しました 2. キャンペーン情報を掲載しました その他、軽微なバグ修正も同時に行いました。 詳細は以下の通りです。 1. 新規会員登録画面のフォームのUIを改善しました…

インターンについて

自己紹介 ユアマイスターの開発チームにいて僕が感じたこと おわりに 自己紹介 はじめまして、エンジニアインターンの國丸です。 ユアマイスターで2016年の9月から、エンジニアインターン初号として働かせていただいています。 入ってから暫くは、あなたのマイス…

開発のスピード感

スピード!スピード! 開発のゴールは「実装完了」ではなく「ユーザーや運営が使い始めた時」である 助っ人エンジニアの五藤です。 ブログ開設2日目にしていきなり外部の人間が登場するというファンキーな展開です。 長かった私のユアマイスター様での常駐も…

2/27 アップデートのお知らせ

2/27に以下の機能のアップデートを行いました。 1. お客様へのメールをHTMLメール配信に変更しました 2. お客様、マイスター様双方へ、作業1日前リマインドメール配信をはじめました 3. サービス詳細ページに、マイスター様のスケジュールカレンダーを表示…

エンジニアブログ、はじめるよ!

このブログの目的 要点をまとめて人に伝える練習 どこにもない情報を書いて欲しいわけじゃない このブログの目的 まだ試験的にですが、このブログを「ユアマイスター株式会社」のエンジニアブログとして立ち上げた目的は、下記の通りです。 ユアマイスター株…