タグ

ブックマーク / tech.quartetcom.co.jp (119)

  • JMSJobQueueBundleユーザーのためのMessengerコンポーネント移行ガイド(Symfony4時代のasyncジョブ実行入門) | QUARTETCOM TECH BLOG

    JMSJobQueueBundleユーザーのためのMessengerコンポーネント移行ガイド(Symfony4時代のasyncジョブ実行入門) SymfonyでWebアプリケーションを作るとき、HTTPリクエストから直接実行するには重い処理があったらどうするか? 以前の記事 でも書いた通り、非同期処理を実装することが多いですね。 Symfony2時代の非同期処理のスタンダードは JMSJobQueueBundle でした。 JMSJobQueueBundleも一応Symfony4に対応してくれたのですが、不具合があって利用できない時期が長く、メンテナーの方が忙しいようでプルリクエストへの返信も遅れがちでした。乗り換え先をどれにするのが良いかTwitterで聞いてみたところ、 Symfony\Component\Messenger を使うと良いよというアドバイスをもらい、使ってみたらとても良

    JMSJobQueueBundleユーザーのためのMessengerコンポーネント移行ガイド(Symfony4時代のasyncジョブ実行入門) | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2020/06/25
    良記事!!!
  • 【初心者向け】よく使うSymfonyコマンド集 | QUARTETCOM TECH BLOG

    こんにちは!Symfonyアドベントカレンダー 6日目です 初参戦です!よろしくお願いします さて、私自身Symfonyを使い始めて早5ヶ月が経ちました。そこで、よく使っている便利なSymfonyコマンドを紹介しようと思います。 初心者向けですが、もしかしたら知らないコマンドがあるかもしれません!新しい発見があると嬉しいです ※ Symfony4用に bin/consoleとしていますが、app/consoleに置き換えれば大体がSymfony2でも使えると思います。 おなじみ系 まずは、Symfonyを使う上で絶対通るであろう「おなじみ系」コマンドです。 「なんか、更新されないなー」ってときは、とりあえずcache:clearしてます。 (省略してc:cでもできちゃいます) $ bin/console cache:clear …キャッシュを削除する $ bin/console list

    【初心者向け】よく使うSymfonyコマンド集 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/12/06
    開発部ブログ更新!地道にSymfonyアドベントカレンダー埋めてます!笑
  • Symfonyで再利用可能なバンドルのコントローラをテストする方法 | QUARTETCOM TECH BLOG

    Symfony Advent Calendar 2019 4日目の記事です。 昨日はtamakiiさんの Docker for Mac でも快適な Symfony 開発環境を作りたい でした! 皆さんは再利用可能なバンドルを作ったことはありますか? Symfony2時代からSymfonyに触れている方は、アプリケーションの機能を置く場所としてのバンドルは多数開発したことがあると思います。 再利用可能なバンドルとは、モノリシックなアプリ内に置く機能の分類としてのバンドルではなく、複数のアプリケーションから composer require して使われるバンドルという意味です。 オープンソースの便利なバンドル、 FOSUserBundle や SonataAdminBundle なんかがそうですね。オープンソースにしなくても、社内で開発する複数のアプリケーションに共通する機能を再利用可能なバン

    Symfonyで再利用可能なバンドルのコントローラをテストする方法 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/12/04
    お役立ち情報だ!
  • Nagoya.php #18 を開催しました🙌 | QUARTETCOM TECH BLOG

    はじめに こんにちは。CTOの 金 です。 Nagoya.php とは、名古屋で隔月を目処に開催しているPHPの勉強会です。 もともと有志の個人によって運営されていた勉強会でしたが、立ち上げメンバーが次々にカルテットに入社した結果、ここ数年はなんとなくカルテット主催のイベントという感じになっています(笑) 2019/10/31(水)に 通算18回目のNagoya.php を弊社セミナールームにて開催しましたので、その様子を簡単にレポートしたいと思います Nagoya.phpの特徴 さて、Nagoya.phpは、よくあるLT中心の勉強会ではなく、「実際に手を動かしてプログラミング問題を解いてみる」 という取り組み(通称「どう書く」)を中心にした内容になっています。 問題は主に、@Nabetani 氏が過去に開催されていた「横浜へなちょこプログラミング勉強会」という勉強会で 出題されたもの

    Nagoya.php #18 を開催しました🙌 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/11/08
    開発部ブログに先日の #nagoyapho の開催レポートを書きましたー!次回は12月開催です!よろしくお願いします!
  • カルテット開発部のWebデザイナーのお仕事を紹介します! | QUARTETCOM TECH BLOG

    カルテットコミュニケーションズ開発部に所属しているWebデザイナーの粟屋です。プロフェッショナルなベテランエンジニア集団であるカルテット開発部にジョインしてから早くも1年以上経ちました。 当記事では、私がWebデザイナーとしてどんな役割を担っていて、これから何に力を入れていきたいと考えているのか、仕事紹介を兼ねつつご紹介します。 そもそもLisketとは? 弊社の主要事業はリスティング広告運用代行業です。この業界では、広告運用やお客様への報告といった日々の業務の中で膨大な単純作業があります。それを圧倒的に削減し、より多くの時間を知的生産活動に割くべく、自社で「Lisket」を開発し活用しています。 それにより、弊社の広告取扱高は例年大きく伸びつつ、残業のほとんどない働きやすい環境も実現しています。 働き方改革に取り組むカルテットコミュニケーションズが 年間平均残業時間を公開 ~2019年9

    カルテット開発部のWebデザイナーのお仕事を紹介します! | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/11/07
    開発部ブログ更新!弊社のデザイナーが何をしているのか?どんな人に来てほしいか?を丁寧に説明しています!
  • Frontend Conference 2019 に参加してきました! | QUARTETCOM TECH BLOG

    先日、Frontend Conference 2019に参加したのでそのレポートを記事にしました。 私自身も編最後のLightning Talkで発表させていただきました。 概要 公式サイト Twitter #frontkansai 2019/11/02 グランフロント大阪にて 10:30〜17:50(編) 18:30(懇親会) 参考情報 wifiはプレミアムチケット購入者のみ提供 飲可 休憩ブースあり スポンサーブースにて飛び込み発表のアンカンファレンス Angular,React,Vue.jsのハンズオン 参加セッション モダンJavaScript再入門 尾上 洋介さん JavaScriptのモダンな書き方についてコードを交えての解説 実例と解説がとても丁寧だった。また「モダンJavaScriptを使って良いか」という補足ページがとても良いと思う。JavaScript = 最新の

    Frontend Conference 2019 に参加してきました! | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/11/05
    開発部ブログ更新!先日のFrontend Conference 2019に参加してきたスタッフ(LTもしました)のレポート記事です! #frontkansai
  • 【連載】Angular超入門 #03 Todoアプリ開発開始!新しくコンポーネントを作ってみよう! | QUARTETCOM TECH BLOG

    もくじ #01 Hello Worldしてみよう! #02 雛形アプリのソースコードを覗いてみよう! #03 Todoアプリ開発開始!新しくコンポーネントを作ってみよう! #04 コンポーネントを連携させてみよう! #05 Coming Soon… 今回のゴール 前回までで、ng new コマンドで雛形アプリを作り、そのコードを読み解くことでAngularアプリがどのような仕組みで動作するのかを学んできました。 いよいよ今回からは実際のアプリケーション開発に入っていきます! この連載では、簡単なTodoアプリを作っていきます。今回は雛形アプリに1つだけ新しくコンポーネントを追加して、その動作を確認するところまでです。 前回、Angularアプリがモジュールとコンポーネントの組み合わせで作られていることを学びましたが、今回はコンポーネントの中身がどのようになっているのかをより深く理解すること

    【連載】Angular超入門 #03 Todoアプリ開発開始!新しくコンポーネントを作ってみよう! | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/10/24
    Angular超入門の第3回を公開しましたー!いよいよコンポーネントを作って双方向バインディングやってみる回です!ぜひご覧ください! #Angular
  • 【連載】Angular超入門 #02 雛形アプリのソースコードを覗いてみよう! | QUARTETCOM TECH BLOG

    もくじ #01 Hello Worldしてみよう! #02 雛形アプリのソースコードを覗いてみよう! #03 Todoアプリ開発開始!新しくコンポーネントを作ってみよう! #04 コンポーネントを連携させてみよう! #05 Coming Soon… 今回のゴール 前回作成した雛形アプリのソースコードを覗いてみて、Angularアプリが動く仕組みをざっくり理解することを目指しましょう。 記事では、ngコマンドによって隠蔽されているwebpackについての記述は割愛しています。 Angularアプリが動作する仕組み ng serve は何をしている? 前回、ng new で作成した雛形アプリを ng serve コマンドで起動しましたね。このときアプリ内部では何が起こっているのかを簡単に確認してみましょう。 起点となっているファイルは、angular.json です。 Angularアプリの

    【連載】Angular超入門 #02 雛形アプリのソースコードを覗いてみよう! | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/10/17
    連載記事「Angular超入門」の第2回を公開しましたー!我ながら分かりやすく書けた気がします!ぜひ読んでみてください! #angular
  • 【連載】Angular超入門 #01 Hello Worldしてみよう! | QUARTETCOM TECH BLOG

    ttskch
    ttskch 2019/10/03
    開発部ブログにて「Angular超入門」という連載を開始しました!第1回はとりあえずHello Worldしてみようという内容です!公式のチュートリアルで挫折しちゃった方は必見!
  • リモートワーカーを交えたWeb会議のベストプラクティスの提案 | QUARTETCOM TECH BLOG

    はじめに カルテット開発部には、名古屋社に勤務しているメンバーと、自宅からリモートワークしているメンバーが混在しています。 弊社採用サイト にも と、エモめの文章で書かせていただいているとおり、せっかくスキルや人物像がマッチしているのに通勤できないという理由だけで採用できないのはもったいない!という思いから、リモートワーク枠での採用も積極的に行っています。 Web会議がなんか上手く出来ない問題 ところで、カルテット開発部には全員が参加する会議がいくつかあります(OKRのチェックインMTG など)。 当然ながらリモートワーカーがいるのでWeb会議を設けることになるのですが、オンサイトメンバーとリモートワーカー混合でWeb会議を行う場合、やってみると意外に色々と課題があることに気がつきました パッと思いつくWeb会議の実施方法としては以下の2パターンがあると思うのですが、それぞれ実践してみた

    リモートワーカーを交えたWeb会議のベストプラクティスの提案 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/09/30
    開発部ブログに小ネタ書きました!オンサイトメンバーとリモートワーカーが混在するWeb会議がなんか上手くいかない問題をどうやって解決したかについてまとめてます。どこかの誰かの参考になれば!
  • 【新入社員】カルテット流!OOP研修の全貌〜技術編〜 | QUARTETCOM TECH BLOG

    こんにちは7月に入社した開発部の志賀です。 今回は前回の「【新入社員】カルテット流!OOP研修の全貌〜取り組み編〜」に引き続き、技術編です! 記事では、研修で個人的に学んだこと(技術)をお届けします。 オブジェクト指向研修で学んだこと 「Tell, Don’t Ask.」の原則 テストコード PhpStorm機能 1. 「Tell, Don’t Ask.」の原則 恥ずかしいことに、この原則を知りませんでした OOPにおけるクラス設計の原則で、「オブジェクトに状態を尋ねて振る舞いを決定するのではなく、オブジェクト自身に振る舞いを決定させるべき」というものです。 具体的には、ある処理をする時に、「その処理に必要な情報をオブジェクトから取り出す(getter)ことはしないで、情報を持ったオブジェクト自身にその処理をさせる」ということになります。 この原則を使うメリットとして、以下のようなことが

    【新入社員】カルテット流!OOP研修の全貌〜技術編〜 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/09/26
    開発部ブログ更新ー!期待の新人志賀さんの研修振り返りパート2! #タピオカ
  • PHPカンファレンス北海道に参加しました | QUARTETCOM TECH BLOG

    9月21日土曜日に北海道札幌市で開催された PHPカンファレンス北海道 に参加しました。 もともとcfpを出していて落選してしまったのですが、念のためスライドを作って行きました。 アンカンファレンスで「テストを助けに使って設計を改善しよう~リファクタリングことはじめ~」発表 アンカンファレンスは当日飛び込みで予定にない発表ができる場です。登壇応募したけれど落選した人やその場で何か思いついた人が(時間枠があいていれば)自由に発表をすることができます。 今回はプログラム上には「アンカンファレンス」の文字はなかったのですが、朝の時点で先着順で受付とのアナウンスがあり、発表させてもらうことができました。 もともとcfpを出していて落選したテーマでした。 カルテット開発部の新人研修 のメンター役をしながら、同僚と話していることから3点を選んでまとめたものです。 はじめての札幌での発表(数年前のphp

    PHPカンファレンス北海道に参加しました | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/09/25
    開発部ブログ更新! #phpcondo レポート記事です!菱田さん長旅お疲れさまでした〜!
  • 【新入社員】カルテット流!OOP研修の全貌〜取り組み編〜 | QUARTETCOM TECH BLOG

    はじめまして7月に入社した開発部の志賀です。宮崎から名古屋に引っ越してきました! カルテットでは、すぐに業務での実装を始めず、ありがたいことにとっても手厚い研修をしていただきました。 私は、PHPでの業務経験がありバックエンドエンジニアとして採用していただきましたが、Symfonyは未経験でオブジェクト指向にも苦手意識がありました。 そのため、入社前は「開発部の高いレベルについていけるのか?」という不安がありました しかし、2ヶ月という長い期間の研修を設けていただき、そんな不安が吹っ飛びました〜! 今回は、その中でのオブジェクト指向研修(OOP研修)を中心に、具体的な内容を、研修を受けた側の目線からお届けできればと思います。 技術的な内容については、次回「~技術編~」として投稿する予定ですおたのしみに 研修内容 私が受けた研修は、上から順に3つです。 Symfony入門()の写経 Sym

    【新入社員】カルテット流!OOP研修の全貌〜取り組み編〜 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/09/09
    開発部ブログ更新!うちの期待の新人さんが開発部の新入社員研修について書いてくれました!
  • ng-sake #15に参加してLTしてきました | QUARTETCOM TECH BLOG

    はじめに こんにちは!Angular初心者の 金 です! 去る8/23(金)、浅草で開催された ng-sake #15 に参加して勢いでLTをしてきましたので、簡単にレポートしたいと思います。 ng-sakeとは ng-sake は、Angular好きによるAngular好きのための飲み会 です。みんなでお酒を飲みながらAngularについて語ったり相談したりLTを聴いたりする自由なミートアップです。 参加資格は以下のとおりです! Angularが好き 技術の話が好き Angularについて話したい方なら誰でも大歓迎です!ぜひご参加ください! — https://ng-sake.connpass.com/event/140021/ だそうです! 初心者なりにAngularを好きな気持ちは持っているので、参加資格ありということで勇気を出してすごい人たちの群に飛び込んできました! 当日の様子

    ng-sake #15に参加してLTしてきました | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/09/05
    開発部ブログ更新! #ng_sake に参加してきたので簡単なレポート記事です😇
  • Nagoya.php #17 を開催しました🙌 | QUARTETCOM TECH BLOG

    はじめに こんにちは。CTOの 金 です。 Nagoya.php とは、名古屋で隔月を目処に開催しているPHPの勉強会です。 もともと有志の個人によって運営されていた勉強会でしたが、立ち上げメンバーが次々にカルテットに入社した結果、ここ数年はなんとなくカルテット主催のイベントという感じになっています(笑) 2019/08/28(水)に 通算17回目のNagoya.php を弊社セミナールームにて開催しましたので、その様子を簡単にレポートしたいと思います Nagoya.phpの特徴 さて、Nagoya.phpは、よくあるLT中心の勉強会ではなく、「実際に手を動かしてプログラミング問題を解いてみる」 という取り組み(通称「どう書く」)を中心にした内容になっています。 問題は主に、@Nabetani 氏が過去に開催されていた「横浜へなちょこプログラミング勉強会」という勉強会で 出題されたもの

    Nagoya.php #17 を開催しました🙌 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/09/03
    先日のNagoya.phpの開催レポート書きました〜!次回は10月開催です!乞うご期待! #nagoyaphp
  • カルテット流FizzBuzzの回答例 | QUARTETCOM TECH BLOG

    if ($val % 3 === 0 && $val % 5 === 0){ return "FizzBuzz"; }elseif ($val % 3 === 0) { return "Fizz"; }elseif ($val % 5 === 0){ return "Buzz"; }else{ return "$val"; } <?php interface SpeakerInterface{ public function say(int $val) : string; public function supports(int $val) : bool; } class FizzSpeaker implements SpeakerInterface{ public function say(int $val) : string{ return "Fizz"; } public funct

    カルテット流FizzBuzzの回答例 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/09/02
    開発部ブログ更新!面白いしためになる記事!うちの採用選考の実技試験対策にもなりますのでぜひ参考にしてみてください!😂
  • カルテット開発部のフロントエンドのお仕事を紹介します! | QUARTETCOM TECH BLOG

    みなさんこんにちは。カルテット開発部でフロントエンド開発を担当しています、松岡です。 弊社はフロントエンド・バックエンドともにエンジニアを募集していますが、興味を持っていただいた方から業務内容について質問を受ける事がよくあります。 そこで、この記事でカルテット開発部のフロントエンドのお仕事を簡単に紹介したいと思います。 3つの種類のタスク 私達が主に開発しているのはリスティング広告の運用者向けツール Lisket です。このツールの一番のヘビーユーザーは広告の運用代行を専門とする自社の部署です。Lisketの開発は、主に3つの種類のタスクに分類されます。 通常タスク Lisketの新規開発や改善について、運営事務局・カスタマーサポート・開発部のメンバーが集まり話し合う定例会議が週1回のペースで設けられています。 ここで決定したタスクは「通常タスク」と呼ばれ、開発部で持ち帰ってどれくらいの開

    カルテット開発部のフロントエンドのお仕事を紹介します! | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/08/30
    開発部ブログ更新ー!フロントエンドエンジニア大募集中です!!!
  • もう怖くない CloudFormation 〜ちょっと好きになるために試した工夫について〜 | QUARTETCOM TECH BLOG

    はじめに みなさんは CloudFormation はお好きでしょうか?私は以前のエントリで以下のように書いていました。 CloudFormation、便利ですよね。インフラのコード化はインフラの状態の変化を可視化できるというたいへん素晴らしいメリットがあります。くわえてCloudFormationはスタック単位で作成・削除ができるため、WEBコンソールから手動で作成・削除するときに起こりうる「不要なリソースが残ったまま」や「必要なリソースを削除してしまう」というリスクが減ることで心理的・金銭的なコストが軽減される点がわたしは気に入っています。 cfn-initはUbuntuのどの起動システムにも対応しているのか?(其の一) | QUARTETCOM TECH BLOG この思いに嘘偽りないのですが、実はだからといって CloudFormation が好きなわけではありません。むしろ「めん

    もう怖くない CloudFormation 〜ちょっと好きになるために試した工夫について〜 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/08/28
    開発部ブログ更新されてましたー!CloudFormation怖いのでちゃんと読みます!笑
  • Symfony Meetup Kansai #2 で複合ユニーク制約についてLTしました | QUARTETCOM TECH BLOG

    こんにちは!下田です。 8/7に開催されましたSymfony Meetup Kansai #2 に参加し、複合ユニーク制約についてLTをさせて頂きました! 資料はこちらです。 ちょうど業務で複合ユニーク制約の使い方について調べる機会があり、なんとなく混同していた UniqueEntity、UniqueConstraint についてまとめた内容です。 また、当日はセッション2枠、LTが4枠と、発表祭りとなりました。 当日の様子はこちら https://togetter.com/li/1385675 会のはじめの方に主催者の方から「初心者でも気軽に登壇できる場にしていきたい」との表明がありましたが、個人的には既にとても登壇しやすい雰囲気の会になっていたと思います。 どういうわけかFormについての話題が多く「確かにみんな一度は悩むよな…」とひとり静かに共感しておりました。 Formの話。むずい

    Symfony Meetup Kansai #2 で複合ユニーク制約についてLTしました | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/08/08
    開発部ブログ怒涛の更新〜!しもPの #symfony_kansai レポート記事です!
  • final なクラスを Prophecy でモックする方法 | QUARTETCOM TECH BLOG

    はじめに こんにちは,開発部アルバイトの池口です. 今回は,テストフレームワークの PHPUnit にも標準搭載されている Prophecy において, final なクラスでもモックしてテストを行う方法を紹介します. 想定するケース あるクラスに対して単体テストを行う際,そのクラスが依存している他のクラスのコードに影響されないよう, モックを作成しておいて何らかの方法で注入する手法がよく使われます. このとき,冒頭で述べた Prophecy のようなライブラリが使われることもあります. モックを作成するときは,そのクラス,またはそのクラスが実装するインターフェースをもとに作ることがほとんどです. それによって,そのクラスまたはインターフェースを受け付けるメソッドでも問題なく注入できます. しかし,クラスによっては final 指定によって 継承できないようになっているためにモックが作成で

    final なクラスを Prophecy でモックする方法 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2019/07/24
    開発部ブログ更新ー!finalクラスでもモックする方法!