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

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

CakePHP3系のController内で関数を定義してガンガン使っていく方法

こんにちは! ユアマイスターエンジニアインターンの高梨です! では、前置きなしで早速始めていきます! 今回の概要 Cakephp3系のController内で自分で好きな関数を定義する。 定義した関数をガンガン使っていく。 内容 例えば、記事とランキングを取得する…

Webエンジニアが最低知っておくべきKPIとサービスを成長させるための考え方

エンジニアの石川です。 Webサービスって、どうやったら商売として軌道に乗るんだろう、と思ったときにエンジニアにできるはじめの一歩を書いてみたいと思います。 エンジニアの仕事ってなんだろう 私はエンジニアなんですが、ノリで生きてきたためにちょっ…

コードを日本語で読もう

こんにちは。エンジニアインターンの土屋です。 コードを日本語で読む大切さ。前回もそんな記事を少し書いた気がしますが、具体的にどう読んでいくのか。。 例えばこんなメソッドがあったとします。 条件は、 テストの質問に対する答えを紐づけて検索し取得…

6/14 アップデートのお知らせ

6/14に以下の機能のアップデートを行いました。 1. 検索結果画面に直近7日間の空き状況を表示しました。 その他、軽微なバグ修正も同時に行いました。 詳細は以下の通りです。 1. 検索結果画面に直近7日間の空き状況を表示しました。 ※パソコンサイトにも…

WordpressのREST APIで記事の総件数を取得する方法?

こんにちは! ユアマイスターインターンの高梨です。 最近Wordpressをよく使うようになったので、 その中で少し調べるのに手間取った 「REST APIで記事の総件数を取得する方法」 について書いていきたいと思います。 やってみたらやり方はかなりシンプルでし…

CakePHP 3.4.7 の ServerRequestFactory の extract() でハマったブログを書いたら、有志の方が修正プルリクを送ってくれました。

yourmystar-engineer.hatenablog.jp 昨日書いたこの記事ですが、一晩で有志の皆様付近で盛り上がり、なんとプルリクを送ってくれた方がいらっしゃいました。 github.com しかもすでに、3.4.8には入りそうな様子。 ありがとうございましたっ!!(心から) 送…

APIを知らなかった私が実装できるようになるまで学んだこと

こんにちは。エンジニアインターンの土屋です。今日はAPIの実装の流れについて書きたいと思います。 また、1から実装していく中でプログラミングにおいて大切だと学んだことがあります。 是非、エンジニアインターン、初心者の方は参考にして欲しいです。 A…

CakePHP 3.4.7 にあげようとしたら思わぬところでハマったので、それが設定ファイルだったとしても変数名はちゃんと考えてつけましょう、という話。

こんばんは。ユアマイスターの星です。 弊社ではおなじみのCakePHPを使っているのですが、そのバージョンアップをしようとした時に、 うまくいかないところがあったので、これから3.4.7にあげようとしている方のためにも記録に残しておきます。 結論 バージ…

Mackerel 「公式プラグイン集」と「公式チェックプラグイン集」の違いにハマった

こんにちは、ユアマイスターの星です。今日はちょっとしたハマりごとを共有。 Mackerelさん・・・ ユアマイスターでは、サーバーやミドルウェア、アプリケーションの監視を Mackerel で行っています。 インストールもワンライナーで済むし、グラフの設定や監…

Sublime Textはいいぞ

ユアマイスターエンジニアの石川です。 近年、VisualStudioCodeやAtomに押されて人気のなくなってきたSublime Text… 私はエンジニアになってから長らく愛用しているのですが、 「え?Sublime?古い古い〜。今はAtomっしょMarkdown書きやすいしぃ〜」 みたい…

EvernoteとMaxicoでMarkDownを様々なデバイスで共有!

こんにちは、開発インターンの小磯です!今日は自分のドキュメント管理方法をご紹介したいと思います! Evernote 自分がいつもちょっとしたメモ書きから、講義のまとめなどに用いてるのがEvernoteです。メモ帳アプリランキングのWebサイトで一位を獲得するな…

検索サジェストやっとできました!

こんにちは!エンジニアインターンの土屋です!長い間、検索サジェストをやっていました。でもあまりにも時間がかかりすぎました。。なので、自分が今回ダメだったことも踏まえて今日はブログを書いていきたいと思います。 なぜ時間がかかりすぎてしまったの…

Paizaのスキルチェックに挑戦!

paizaのスキルチェックに挑戦!! こんにちは、ユアマイスター開発インターンの小磯です。今回は、プログラミング言語の応用としてpaizaのスキルチェックに取り組んでみたので、プログラミング初心者の自分にとって壁となった関数を挙げていきます!! (基本…

検索サジェスト導入

こんにちは。エンジニアインターンの土屋です。今日は検索サジェストの実装について書きます! jQuery UI で プラグインAutocomplete を実装 <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> </head></html>

監視モニターを設置しました

こんにちは!ユアマイスターの星です。 本日は、ある意味リリース報告です! ユアマイスターにサービスの監視モニターを導入しました! システム監視をMackerelで、サービスのアクセス数確認をGoogle Analyticsでやっているんですが、 いつもブラウザのタブ…

はじめてのJSONで学んだこと

JSONから学ぶ こんにちは、開発インターンの小磯です。先週新たなプロジェクトに参加することができ、その中の一つのタスクとしてJSONを扱う機会がありました。初めて扱うので自分なりにまとめてみました。 JSON JavaScriptの中でオブジェクトを記述する書式…

検索改善 Elasticsearchでハマった沼

ユアマイスターエンジニアです。 弊社サービス「あなたのマイスター」では、モリモリとサービス改善を実施中です。 http://yourmystar.jp/ ある日、社内で誰かがつぶやいたんですよ。 「検索、遅くね?」 知っていた、知っていましたとも! 「なんかAm◯zonみ…

CSV ImportをPHP Unitでテストするには?

初めまして、Yourmystarインターンの高梨です。 今回は自分が詰まったCSV Importのテストコードについて 書いていきたいと思います。 前提 CakePHPで、CSVファイルのImportをするための Componentに対して 実際に実行したテストコードの結果を書いていきます…

ネットワークの理解

みなさんコンバンワ!エンジニアインターン生の竹本です! 最近はいかがお過ごしでしょうか??竹本は二週間前くらいに風邪を引いてから持病に苦しんでる日々でございます。照 さて、最近の弊社では、エンジニアインターン生だけで行うプロジェクトが始動し…

mixpanelでfunnel分析を使う

こんにちは!マーケターの日高です。 今日はmixpanelの注目機能の一つ、ファネル分析について書きます。 まずファネル分析とは何か? 会員登録や購入に至るプロセスを、アクションまたはページごとに分解し、 どこでユーザーが離脱しているのかを可視化する…

AWSでcronが時間通り動かない!

AWS

そんなお悩みをお持ちのあなた、朗報です。あっという間に解決です。 半袖でこんにちは、ユアマイスターの星です。 こんなお悩みをお持ちのあなたへ 0 3 * * * /path/to/shellってcrontab指定しているのに、AM11時に実行される タイムゾーンを確認する まず…

mbを使うべきか

こんにちは、ユアマイスターエンジニアです。 突然ですが、PHPで mb系の関数 使いこなしてますか? 使いこなしている方は本日も良い一日をお過ごしください。お気をつけて。 mb系の関数 を使いこなせていないみなさん。 それ!バグを生み出す原因になりかね…

部門による意識の違い

こんにちは、新米開発インターンの小磯です。 今日は前回の出勤時に開催された、営業チームの学習講座に参加した時に感じたことを書いていきたいと思います! まず、チームの学習講座の内容は、、、 ユーザーページの認識 ユーザーページから予約に至るのは…

エンジニアインターンでの学び

こんにちは!エンジニアインターンの土屋です! 今日は、エンジニアインターン、プログラミング始めたばかりの人がこんなエラーにぶつかるのでは?と思い 私がつまづいたところを記述していきたいと思います Notice (8): Trying to get property of non-obje…

妙技 .つなぎ(cakephp)

みなさんこんにちは!エンジニアインターン奮闘中の竹本です。 今日はみなさんに大切なお知らせがあります。なんと私タケモトは五月でユアマイスター株式会社をやめることになりました。寿退社です照 というのは嘘でございまして、自分の将来の為に海外で修…

smoochに代わるチャット接客ツールを求めて(with slack)

こんばんは、マーケターの日高です。 弊社サービスサイトでは、smoochというサービスを使って、 お客様からのお問い合わせにチャットで対応しています。 このsmooch、ある程度は無料で使えるんですが、 一定量を越えると有料プランに切り替えないと使えなく…

GitHubのPull RequestのMergeボタンの権限管理設定をしたい

こんにちは、ユアマイスターの星です。 GitHubを使う中で、痒いところに手が届くなあという思いをしたので、ブログにしておきます。 弊社の開発フロー yourmystar-engineer.hatenablog.jp 以前のブログ記事で紹介したように、弊社では検証環境用のブランチと…

sequel proにssh接続できない

こんにちは!エンジニアインターンの土屋です。 実際に開発を行っていてデータベースの中身を確認したい データベースを確認する上でsequel proを起動!!! しかしこんなエラーが出ました。。 Used command: /usr/bin/ssh -v -N -S none -o ControlMaster=no -…

孫テーブルに保存できない......

どうもエンジニアインターン生の竹本です!みなさんGWはどこかに出かけられましたでしょうか?今年はほんとお天気が良くて、どこか出かけるにはうってつけの連休でしたね! そんな中僕は一日だけ帰省して、それ以外はインターンをするくらい弊社が好きです。…

Macで文字化けに立ち向かう

、ウ、ヒ、チ、マ。「・讌「・゙・、・ケ・ソ。シ・ィ・ク・ヒ・「、ヌ、ケ。」 GWコヌスェニヌ、ケ、ャ、、、ォ、ャ、ェイ皃エ、キ、ヌ、キ、遉ヲ、ォ。」 あ、すみません、これ文字エンコード違いましたね。 スタバでフラペチーノ買って優雅にMacで仕事をしているとこういうことがよくあります。 上司「前回の議事録をtxtファ…

mixpanelでLTVを測ろう

こんにちは、マーケターの日高です。 弊社でも利用しているmixpanelに、LTVの測定機能がついているのはご存知ですか? 私は今まで、その存在自体は知っていたものの、利用したことはありませんでした。 今回、弊社サービスにおいて利用することになったので…

ハッカソンに参加してみた!!厳しかった2日間の全貌!?

こんばんは! ユアマイスター インターンの高梨です! 今回は初めてハッカソンに参加してみたということで、 その戦いの全貌を書いていきたいと思います。 ハッカソンに参加してみたいと思っている方や 興味のあるという方はぜひ参考にしてみてください! (…

エンジニアとプログラマー

こんにちは!ユアマイスターの星です! 今日はエンジニアとプログラマーについて、個人的な意見で書いてみようと思います。 いまどんな状態か 弊社のエンジニアチームの状況を簡単に紹介しておくと 現在エンジニアとしてインターンが4人います。(たまに5…

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…