サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
tech.quartetcom.co.jp
ReasonMLは新しい言語ではありません。実は言語でもありません。OCaml の構文です。2016 年に Jordan Walke(React の開発者)に作成されました。OCaml のおかげで TypeScript より丈夫なタイプシステムがあり、JavaScript のような書き方で OCaml を書いたことがない方でもすぐ学べ、NPM・Yarn でもパッケージをインストールできます。ビルド時間が TypeScript より早く、Reason の JS アウトプットは Webpack より読みやすいです。OCaml の上で動いているので、プログラムのスタートアップが素早く、データが不変、ブラウザーの JS だけではなくネーティブコードもターゲットできます。 TypeScript vs ReasonML(英語) ReasonML は Facebook に応援されています。ReasonM
JMSJobQueueBundleユーザーのためのMessengerコンポーネント移行ガイド(Symfony4時代のasyncジョブ実行入門) SymfonyでWebアプリケーションを作るとき、HTTPリクエストから直接実行するには重い処理があったらどうするか? 以前の記事 でも書いた通り、非同期処理を実装することが多いですね。 Symfony2時代の非同期処理のスタンダードは JMSJobQueueBundle でした。 JMSJobQueueBundleも一応Symfony4に対応してくれたのですが、不具合があって利用できない時期が長く、メンテナーの方が忙しいようでプルリクエストへの返信も遅れがちでした。乗り換え先をどれにするのが良いかTwitterで聞いてみたところ、 Symfony\Component\Messenger を使うと良いよというアドバイスをもらい、使ってみたらとても良
はじめに BEAR.Sunday Advent Calendar 2019 7日目の記事です。 Ray.Di を実務に使い始めてそろそろ1年半になります。 今回はもともとSymfony2でyamlにDI設定を書くのに慣れていた私が、Ray.Diを使うときに使っている技の一部をご紹介したいと思います。 小技集 パラメータ(stringやint)の注入 Symfonyでは % で囲むことでサービスにパラメータを注入できます。 # services.yml parameters: app_my_param: 123 services: App\Service\SleighService: class: App\Service\SleighService arguments: - '%app_my_param%' bind()->annotatedWith('app_my_param')->toI
こんにちは!Symfonyアドベントカレンダー 6日目です 初参戦です!よろしくお願いします さて、私自身Symfonyを使い始めて早5ヶ月が経ちました。そこで、よく使っている便利なSymfonyコマンドを紹介しようと思います。 初心者向けですが、もしかしたら知らないコマンドがあるかもしれません!新しい発見があると嬉しいです ※ Symfony4用に bin/consoleとしていますが、app/consoleに置き換えれば大体がSymfony2でも使えると思います。 おなじみ系 まずは、Symfonyを使う上で絶対通るであろう「おなじみ系」コマンドです。 「なんか、更新されないなー」ってときは、とりあえずcache:clearしてます。 (省略してc:cでもできちゃいます) $ bin/console cache:clear …キャッシュを削除する $ bin/console list
Symfony Advent Calendar 2019 4日目の記事です。 昨日はtamakiiさんの Docker for Mac でも快適な Symfony 開発環境を作りたい でした! 皆さんは再利用可能なバンドルを作ったことはありますか? Symfony2時代からSymfonyに触れている方は、アプリケーションの機能を置く場所としてのバンドルは多数開発したことがあると思います。 再利用可能なバンドルとは、モノリシックなアプリ内に置く機能の分類としてのバンドルではなく、複数のアプリケーションから composer require して使われるバンドルという意味です。 オープンソースの便利なバンドル、 FOSUserBundle や SonataAdminBundle なんかがそうですね。オープンソースにしなくても、社内で開発する複数のアプリケーションに共通する機能を再利用可能なバン
カルテットコミュニケーションズ開発部に所属しているWebデザイナーの粟屋です。プロフェッショナルなベテランエンジニア集団であるカルテット開発部にジョインしてから早くも1年以上経ちました。 当記事では、私がWebデザイナーとしてどんな役割を担っていて、これから何に力を入れていきたいと考えているのか、仕事紹介を兼ねつつご紹介します。 そもそもLisketとは? 弊社の主要事業はリスティング広告運用代行業です。この業界では、広告運用やお客様への報告といった日々の業務の中で膨大な単純作業があります。それを圧倒的に削減し、より多くの時間を知的生産活動に割くべく、自社で「Lisket」を開発し活用しています。 それにより、弊社の広告取扱高は例年大きく伸びつつ、残業のほとんどない働きやすい環境も実現しています。 働き方改革に取り組むカルテットコミュニケーションズが 年間平均残業時間を公開 ~2019年9
先日、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 = 最新の
もくじ #01 Hello Worldしてみよう! #02 雛形アプリのソースコードを覗いてみよう! #03 Todoアプリ開発開始!新しくコンポーネントを作ってみよう! #04 コンポーネントを連携させてみよう! #05 Coming Soon… 今回のゴール 前回までで、ng new コマンドで雛形アプリを作り、そのコードを読み解くことでAngularアプリがどのような仕組みで動作するのかを学んできました。 いよいよ今回からは実際のアプリケーション開発に入っていきます! この連載では、簡単なTodoアプリを作っていきます。今回は雛形アプリに1つだけ新しくコンポーネントを追加して、その動作を確認するところまでです。 前回、Angularアプリがモジュールとコンポーネントの組み合わせで作られていることを学びましたが、今回はコンポーネントの中身がどのようになっているのかをより深く理解すること
もくじ #01 Hello Worldしてみよう! #02 雛形アプリのソースコードを覗いてみよう! #03 Todoアプリ開発開始!新しくコンポーネントを作ってみよう! #04 コンポーネントを連携させてみよう! #05 Coming Soon… 今回のゴール 前回作成した雛形アプリのソースコードを覗いてみて、Angularアプリが動く仕組みをざっくり理解することを目指しましょう。 本記事では、ngコマンドによって隠蔽されているwebpackについての記述は割愛しています。 Angularアプリが動作する仕組み ng serve は何をしている? 前回、ng new で作成した雛形アプリを ng serve コマンドで起動しましたね。このときアプリ内部では何が起こっているのかを簡単に確認してみましょう。 起点となっているファイルは、angular.json です。 Angularアプリの
はじめに カルテット開発部には、名古屋本社に勤務しているメンバーと、自宅からリモートワークしているメンバーが混在しています。 弊社採用サイト にも と、エモめの文章で書かせていただいているとおり、せっかくスキルや人物像がマッチしているのに通勤できないという理由だけで採用できないのはもったいない!という思いから、リモートワーク枠での採用も積極的に行っています。 Web会議がなんか上手く出来ない問題 ところで、カルテット開発部には全員が参加する会議がいくつかあります(OKRのチェックインMTG など)。 当然ながらリモートワーカーがいるのでWeb会議を設けることになるのですが、オンサイトメンバーとリモートワーカー混合でWeb会議を行う場合、やってみると意外に色々と課題があることに気がつきました パッと思いつくWeb会議の実施方法としては以下の2パターンがあると思うのですが、それぞれ実践してみた
こんにちは7月に入社した開発部の志賀です。 今回は前回の「【新入社員】カルテット流!OOP研修の全貌〜取り組み編〜」に引き続き、技術編です! 本記事では、研修で個人的に学んだこと(技術)をお届けします。 オブジェクト指向研修で学んだこと 「Tell, Don’t Ask.」の原則 テストコード PhpStorm機能 1. 「Tell, Don’t Ask.」の原則 恥ずかしいことに、この原則を知りませんでした OOPにおけるクラス設計の原則で、「オブジェクトに状態を尋ねて振る舞いを決定するのではなく、オブジェクト自身に振る舞いを決定させるべき」というものです。 具体的には、ある処理をする時に、「その処理に必要な情報をオブジェクトから取り出す(getter)ことはしないで、情報を持ったオブジェクト自身にその処理をさせる」ということになります。 この原則を使うメリットとして、以下のようなことが
9月21日土曜日に北海道札幌市で開催された PHPカンファレンス北海道 に参加しました。 もともとcfpを出していて落選してしまったのですが、念のためスライドを作って行きました。 アンカンファレンスで「テストを助けに使って設計を改善しよう~リファクタリングことはじめ~」発表 アンカンファレンスは当日飛び込みで予定にない発表ができる場です。登壇応募したけれど落選した人やその場で何か思いついた人が(時間枠があいていれば)自由に発表をすることができます。 今回はプログラム上には「アンカンファレンス」の文字はなかったのですが、朝の時点で先着順で受付とのアナウンスがあり、発表させてもらうことができました。 もともとcfpを出していて落選したテーマでした。 カルテット開発部の新人研修 のメンター役をしながら、同僚と話していることから3点を選んでまとめたものです。 はじめての札幌での発表(数年前のphp
はじめまして7月に入社した開発部の志賀です。宮崎から名古屋に引っ越してきました! カルテットでは、すぐに業務での実装を始めず、ありがたいことにとっても手厚い研修をしていただきました。 私は、PHPでの業務経験がありバックエンドエンジニアとして採用していただきましたが、Symfonyは未経験でオブジェクト指向にも苦手意識がありました。 そのため、入社前は「開発部の高いレベルについていけるのか?」という不安がありました しかし、2ヶ月という長い期間の研修を設けていただき、そんな不安が吹っ飛びました〜! 今回は、その中でのオブジェクト指向研修(OOP研修)を中心に、具体的な内容を、研修を受けた側の目線からお届けできればと思います。 技術的な内容については、次回「~技術編~」として投稿する予定ですおたのしみに 研修内容 私が受けた研修は、上から順に3つです。 Symfony入門(本)の写経 Sym
はじめに こんにちは!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を好きな気持ちは持っているので、参加資格ありということで勇気を出してすごい人たちの群に飛び込んできました! 当日の様子
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
みなさんこんにちは。カルテット開発部でフロントエンド開発を担当しています、松岡です。 弊社はフロントエンド・バックエンドともにエンジニアを募集していますが、興味を持っていただいた方から業務内容について質問を受ける事がよくあります。 そこで、この記事でカルテット開発部のフロントエンドのお仕事を簡単に紹介したいと思います。 3つの種類のタスク 私達が主に開発しているのはリスティング広告の運用者向けツール Lisket です。このツールの一番のヘビーユーザーは広告の運用代行を専門とする自社の部署です。Lisketの開発は、主に3つの種類のタスクに分類されます。 通常タスク Lisketの新規開発や改善について、運営事務局・カスタマーサポート・開発部のメンバーが集まり話し合う定例会議が週1回のペースで設けられています。 ここで決定したタスクは「通常タスク」と呼ばれ、開発部で持ち帰ってどれくらいの開
はじめに みなさんは CloudFormation はお好きでしょうか?私は以前のエントリで以下のように書いていました。 CloudFormation、便利ですよね。インフラのコード化はインフラの状態の変化を可視化できるというたいへん素晴らしいメリットがあります。くわえてCloudFormationはスタック単位で作成・削除ができるため、WEBコンソールから手動で作成・削除するときに起こりうる「不要なリソースが残ったまま」や「必要なリソースを削除してしまう」というリスクが減ることで心理的・金銭的なコストが軽減される点がわたしは気に入っています。 cfn-initはUbuntuのどの起動システムにも対応しているのか?(其の一) | QUARTETCOM TECH BLOG この思いに嘘偽りないのですが、実はだからといって CloudFormation が好きなわけではありません。むしろ「めん
みなさんこんにちは。カルテットコミュニケーションズ開発部でフロントエンドの開発を担当しています、松岡です。2019/08/06 にヤフー株式会社さんの名古屋オフィスにて開催されたエンジニア向けイベントのセッションに登壇させていただきました。 ヤフー名古屋 Tech Meetup #3 - Webフロントエンドを支えるノウハウ とても人気のイベントで connpass で参加募集を開始したその日のうちに一般枠はすぐ埋まってしまい、残念ながら機会を逃してしまった方も多いと思います。私のセッションに興味を持ってくださった方のために、発表内容の元となった私の苦悩や思いをブログに書き起こしてみました。結構ボリュームのある記事ですが、スライドと併せてぜひご覧いただけたらと思います。 スライド このブログの目次 カオスなテストコード 改善の第一歩 深い悩み 問題はここだ 先人に学ぶ(体系編) 先人に学
はじめに こんにちは,開発部アルバイトの池口です. 今回は,テストフレームワークの PHPUnit にも標準搭載されている Prophecy において, final なクラスでもモックしてテストを行う方法を紹介します. 想定するケース あるクラスに対して単体テストを行う際,そのクラスが依存している他のクラスのコードに影響されないよう, モックを作成しておいて何らかの方法で注入する手法がよく使われます. このとき,冒頭で述べた Prophecy のようなライブラリが使われることもあります. モックを作成するときは,そのクラス,またはそのクラスが実装するインターフェースをもとに作ることがほとんどです. それによって,そのクラスまたはインターフェースを受け付けるメソッドでも問題なく注入できます. しかし,クラスによっては final 指定によって 継承できないようになっているためにモックが作成で
突然ですが、私は40代です。 最近、弊社のフロントエンドエンジニア募集に興味を持ってくれる若者のスキルの欄に「jQuery」の単語がちらほら見える事が気になっています。フレームワークやらバンドルツールやら便利なものがたくさん存在する昨今、そんな時代に開発をスタートした若者が、なぜ古き良き時代の jQuery???たまたま読んだ記事に私と似たような感覚を持ち合わせた方がいたので、まずはそのURLを紹介させていただきます。 jQueryとは何なのか?なぜ使わなくても(あるいは使わないほうが)いいのか? 上記の記事を読めば何が言いたいのかおおよそ見当が付くと思いますが、加えてチーム開発という観点から私の考えをこの記事にて紹介させていただきます。 開発環境の変化 昔々のお話 その昔、私が初めてWEBページなるものを作った時、ブラウザ相手のアプリケーションってなんて難しいんだろうと思いました。こっち
6月15日(土)に名古屋で開催されたイベント「Adobe XD User Fes 2019 名古屋」にて発表しました。 XD User Fesとは 「Adobe XD User Fes」は、「Adobe XD ユーザーグループ」(Adobe公認)が主催し、リレー形式で全国開催されているイベントです。その名古屋版にて、名古屋ユーザーグループ代表のいおり@isaikaoriさんにお声がけいただいて参加しました。 Adobeの轟@keisuke322さんに、Adobe Community Evangelistであるりさ@risayさんとあさの@chaca21911さん、仙台ユーザーグループ主催のみかこ@mikakonuさんと、どえらい顔ぶれに混ざる事になってしまい、光栄ながら、発表者として大変に緊張しました…。 発表内容 私は現在、自社サービスLisketのUIを改善する業務を一部担っており、そ
はじめに はじめまして. 春からカルテットに開発部アルバイトとして入社しました,池口と申します. 私は普段,高専生(高等専門学校生)として情報工学を学んでいます. この記事では,私が入社してから約 2 ヶ月過ごして感じたこと,学んだことなどを書いていきたいと思います. 応募したきっかけ 私がこの会社を見つけたのは,ビジネス SNS の Wantedly でした. 名古屋近郊に住んでいるため,名古屋での技術アルバイトを探していたところ,カルテットを見つけました. 私がカルテットに応募を決めた理由のうち大きな点が,開発スタイルでした. GitHub 上の PR を活用して,レビューをしてもらってから反映させる,というスタイルが, 進捗状況が見やすく,モダンであり,とても自分に合っている と感じたためです. また, オブジェクト指向を積極的に取り入れている 面でも, プログラミングを始めた頃から
次のページ
このページを最初にブックマークしてみませんか?
『QUARTETCOM TECH BLOG』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く