タグ

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

  • AWS Batchを検討したけどAWS Fargateを採用した話 | QUARTETCOM TECH BLOG

    はじめに 弊社で開発している Lisket では外部APIに大量のリクエストを行っています。このたび、ビジネス的な要請からアプリケーションの要件を変更することになり、それを機に外部APIへの大量リクエストのインフラアーキテクチャもブラッシュアップすることになりました。 要件は以下です。 バッチ処理の主な振舞は外部APIへのリクエスト。 単位時間あたりに要求されるバッチ処理は10,000件を超えることもあるし数件のこともある。 外部APIは単位時間あたりのリクエスト数に上限を設けている。よってその範囲内でリクエスト数をコントロールしたい。 最大件数が増加しても6時間以内くらいでは終わってほしい。 バッチ処理の所要時間については、ほとんどが2,3秒で終わる。稀に数分かかることもある。 バッチ処理は互いにステートレス。順番や依存はない。 AWS Batchでやってみる AWS Batch とはそ

    AWS Batchを検討したけどAWS Fargateを採用した話 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/11/09
    開発部ブログ更新!AWS Batchを使おうとしてハマって見送った経緯です。知見でしかない!
  • Slack転職はじめました🍜 | QUARTETCOM TECH BLOG

    こんにちは、CTOの金です。 先日の記事 でもお伝えしたように、現在カルテット開発部では 採用活動に今まで以上に注力しています。 その中で、採用サイト の内容も細かく見直しを入れており、ガチの応募フォーム の手前に、「まずは気軽にお話ししましょう」的な連絡口を新設しました おかげさまで既に何人かの方からご連絡をいただいておりまして、採用選考に進む前にオンライン/オフラインで気軽にお話しさせていただいています :bowtie: Slack転職とは 特に、選考に進む前に 開発部のSlackにご招待して現場メンバーと直接お話をさせていただく という取り組みが割とご好評をいただいております。 弊社の下田の下記ツイートもちょこっとだけ拡散されました 弊社、エンジニア採用窓口として開発部メンバーslackに招待するよ、っていう試みをやってるので、ご興味あるかたぜひぜひー。フルリモートもOKです!ht

    Slack転職はじめました🍜 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/11/01
    書きました👼
  • 第2四半期のOKR設定を行いました | QUARTETCOM TECH BLOG

    こんにちは、CTOの金です。 この開発部ブログは今までかなりこってりした技術ネタの投稿ばかりでしたが、今後はもう少しカジュアルな感じで日常系の記事なんかも上げていこうかと思います ブログ記事を通してカルテット開発部の雰囲気を知ってもらえたらと思いますので、今後ともどうぞよろしくお願いします OKR設定ミーティングを実施しました さて題です。 カルテット開発部では、今決算期(2018/8〜)より OKR を用いた目標管理を導入しました。 OKRとは OKRは目標管理のためのフレームワークで、Googleなどのシリコンバレーの巨人たちがこぞって採用しているということで有名です。OKRは “Objective and Key Results” の略で、目標(O)とキー指標(KR)によって目標を管理します。 詳細は以下のWebページや書籍をご参照ください。 【保存版】Googleも採用する目標

    第2四半期のOKR設定を行いました | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/10/26
    開発部ブログ更新しました!今後は技術ネタだけじゃなく日常系の記事も書いていきます👼
  • 簡単な数独チェッカーのコードで考える抽象化への筋道 | QUARTETCOM TECH BLOG

    カルテットには、社員同士が交流を深める部活がいくつかあります。バレー部やテニス部といった運動系もあれば、(実際には投資をしない)投資部のようなインドアなものもあります。しかし、人見知りな私は、どの部活にも参加していません(汗) でも、プログラマならプログラミング技術を磨きたい! 部活で! というわけで、自分で「プログラミング部」を作り、中途入社したメンバーを半ば強引に誘って、二人で朝活スタイルの部活としてスタートし活動していました。 プログラミング部の活動は、私がプログラミング問題を選び、二人それぞれ問題を解くコードを書くというものです。ただし、問題を解くことだけをゴールとはせず、プログラマが問題をどのように理解したのか、どのような解き方なのかをコードに表現するという部分を中心に据えて取り組みます。なので、問題を解くコードを完成させるのにかかる時間よりも、コードについて議論し、話の展開に応

    簡単な数独チェッカーのコードで考える抽象化への筋道 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/10/19
    開発部ブログ更新!問題を抽象的に捉えることこそ「抽象化」の心!
  • 楽しい型クラス | QUARTETCOM TECH BLOG

    はじめに この記事は型クラスの便利さについて分かち合う記事です。 理解が目的ではないので、なんとなくええやんと思ってもらえれば十分です。 型クラスのイメージ 型クラスとは主に関数型言語に実装されている機能の一つです。(※正確には知りません) 型クラスがあるとこんな関数を作ることができます。 ※サンプルコードは全てscalaです。

    楽しい型クラス | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/10/15
    技術ブログ更新!弊社のscala使いが型クラスの便利さについて簡潔に語ってくれてます。
  • PhpStormでコードテンプレートを使って*Resolverクラスを楽に作る | QUARTETCOM TECH BLOG

    オープン・クローズドの原則に則ってコードを書こうと思うとResolverクラスをよく使うことになると思います。 PHPerKaigi2018でベストトーク賞を受賞した @hidenorigoto の 「SOLIDの原則ってどんなふうに使うの?」 の最終形態である PHPカンファレンス関西2018で「続・SOLIDの原則ってどんなふうに使うの? オープン・クローズドの原則 センパイのコーディングノート編」 の発表中には IF文禁止ギブス なる言葉も飛び出しました つまり、コードを書いていてIF分岐したくなった箇所はinterfaceに外出ししたうえで、Resolverで解決して使うことができるというわけです。 そのResolverクラスをPhpStormで楽に書くためのコードテンプレを作ったのでシェアします。 設定方法 Preferences → Editor → File and Code

    PhpStormでコードテンプレートを使って*Resolverクラスを楽に作る | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/09/25
    開発部ブログ更新されてましたー!お役立ち情報!
  • PHPカンファレンス関西2018で 「すばやく実装するための戦略とテクニック」を発表してきました | QUARTETCOM TECH BLOG

    7月に大阪で行われたPHPカンファレンス関西2018にて、「すばやく実装するための戦略とテクニック」というタイトルで発表してきました。 内容について スライド: サンプルコード: https://github.com/77web/phpkansai2018-hellopage ※ 当日にSlideShareでスライドを公開しましたが、PDFをアップロードしたにも関わらず全画面表示にしないと文字が出ないという問題が発生し、SlideShareのサポートに問い合わせてもやる気ない返答が返ってきたので、改めてSpeakerdeckに公開しました。 準備について この発表は、同僚からのリクエストで実現したものでした。PHPカンファレンス関西に行きたいなーと思い、「なにか聞きたいネタありますか?」とSlackで聞いたところ「これが聞きたい」と出てきたものです。(カルテット開発部には勉強会・カンファレ

    PHPカンファレンス関西2018で 「すばやく実装するための戦略とテクニック」を発表してきました | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/09/12
    開発部ブログ更新!
  • symfony/dotenvで改行文字を含む環境変数を設定する | QUARTETCOM TECH BLOG

    はじめに Symfonyの Dotenvコンポーネント を使うと、.env というファイルに環境変数を定義しておくことで、アプリケーション内から getenv() $_ENV $_SERVER などを通してその環境変数にアクセスできるようになります。 Symfony 3.3以上ではフレームワークにビルトインされており、Syfmonyアプリケーションのdev環境では .env ファイルを使って環境変数を設定することができるようになっています。 この記事でお伝えすること 今回、.env ファイルで 値に改行文字を含む ような環境変数を設定したい状況に遭遇し、方法を調べましたので、小ネタですが記事として残しておきたいと思います。 結論 symfony/dotenvのテストコード を見てみたら、知りたいことがほぼ全て書かれていました 複数行に渡る文字列を1つの環境変数にセットしたい場合 結論として

    symfony/dotenvで改行文字を含む環境変数を設定する | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/09/06
    開発部ブログに小ネタ書きましたー!
  • Symfonyでイベントを使った機能の拡張 | QUARTETCOM TECH BLOG

    カルテット開発部の澤井です。 久しぶりのブログに、何を書こうかと色々と考えました。 悩んだ結果、やはり仕事で使う機会の多いSymfonyについて書こうと思います。 具体的には、Symfonyのイベントを使って、機能を拡張する簡単な例について書きます。 イベントについては、Built-in Symfony Events (Symfony Docs)に詳しい解説があります。 概要 記事では、以下のような要望について考えます。 通常のページでは、コントローラから返された連想配列を、Twigテンプレートを使って、HTMLのテーブルとして出力 特定のページでは、コントローラから返された連想配列を、CSVファイルとしてダウンロード 記事の目標は、イベントを使うことで、CSVファイルをダウンロードするという機能を一箇所で管理して、変更がしやすく、再利用性の高いコードを実現することです。 ちなみに、H

    Symfonyでイベントを使った機能の拡張 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/08/10
    開発部ブログ更新されてましたー!Symfonyで割とよく使うkernel.viewイベントの初歩的な使い方の例。
  • リスティング広告を見て開発部へジョインしました | QUARTETCOM TECH BLOG

    7月半ばに、株式会社カルテットコミュニケーションズの開発部メンバーとして入社しました、粟屋です。 初投稿ということで、入社の経緯や私の役割などについて書きたいと思います! リスティング広告を見て会社を知りました カルテットのことを初めて知ったのは、今年の2月ごろです。 EC-CUBE(EC向けのオープンソースCMS)の勉強会に参加した時にフレームワークSymfonyについて耳にし、 Googleで検索していた時に見かけたのが、カルテット開発部の求人広告でした。 「Symfonyにも自信のある会社が名古屋にあるのか〜」となんとなく気になってクリックしました。 (だいぶうろ覚えですが。。) 採用LPを読んで、なるほど、 リスティング広告の運用代行企業が、 リスティングの業務支援サービスを自社で開発、外部に提供し、 その開発求人もしっかりリスティングで行なっているのか! …と、何か点と点がつなが

    リスティング広告を見て開発部へジョインしました | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/08/02
    開発部に頼もしすぎるデザイナーさんがジョインしました!引き続き頑張ります!
  • カルテット開発部にジョインしました | QUARTETCOM TECH BLOG

    ご挨拶 はじめまして! 4月半ばにカルテット開発部にジョインしました下田と申します。 今後ともどうぞ宜しくお願いいたします!m(_ _)m 来歴 社会人になってすぐはPHPとかJavaとかインフラとかいろいろ経験した後、途中でRailsエンジニアに鞍替え。 1年ほどでまたPHPに戻り、SymfonyをメインにWebアプリケーションエンジニアとして働いています。 入社のきっかけ 転職を考え始めたときに、諸々の事情で地方への移住が決定しており、なかなか具体的な転職活動に踏み切れていなかったところ、 Symfony Meetupで弊社CTOのたつきちさんより 「そういう事情なら、完全リモートワークで弊社はいかがですか?」 とお声がけ頂いたのがきっかけでした。 もともとこの技術ブログの読者で会社については知っていたこと、 個人的にSymfony力や設計力を伸ばしていきたいと考えていたこともあり、

    カルテット開発部にジョインしました | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/06/11
    しもP氏がジョインしました!入社2ヶ月弱ですでにバリバリ活躍してくれています!ヒューッ!
  • MarkdownをCircleCI上でPDFに変換してGoogleドライブにデプロイする | QUARTETCOM TECH BLOG

    はじめに タイトルのとおりですが、意外と苦労したのでやり方をまとめておきます。 使う道具 CirleCI 2.0 markdown-pdf MarkdownPDFに変換するためのCLIツール npmでインストール gdrive Googleドライブを操作するためのCLIクライアント PDFのアップロードに使う バイナリをダウンロードしてインストール ソース(golang)をコンパイルしてインストール(後述) 具体的な方法 事前準備 CircleCIからGoogleドライブにファイルをアップロードするためには、サービスアカウント での認証が必要なので、以下のとおり準備しておきましょう。 Google API Console でサービスアカウントを作る デプロイ先にしたいGoogleドライブ上のフォルダを、サービスアカウントに共有する CircleCIプロジェクト設定で、サービスアカウント

    MarkdownをCircleCI上でPDFに変換してGoogleドライブにデプロイする | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/05/14
    技術ブログ書きましたー!どこかの誰かのお役に立てれば!
  • Symfony+Doctrine2でユーザーのフォロー関係を実装する | QUARTETCOM TECH BLOG

    最初に思いついたやり方 User と User を ManyToMany で繋ぐ ググってみてもだいたいこの方法が紹介されている 例: http://www.culttt.com/2014/11/24/creating-twitter-follower-model-using-doctrine/ やってみた 今回は Symfony4 で実装した例を示しますが、コンセプトは Symfony2/3 でもまったく同じなので、適宜読み替えてください エンティティ <?php namespace App\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; class User { //

    Symfony+Doctrine2でユーザーのフォロー関係を実装する | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/03/13
    技術ブログ書きました!自分でググった範囲では地味に日本語の情報が少ないテーマだと思ったので、誰かの参考になれば嬉しいです!コードもライブデモも用意してあるので、ぜひ触ってみてください!
  • PHPerKaigi 2018 ベストトーク賞「SOLIDの原則ってどんなふうに使うの?」スライド公開・配布 | QUARTETCOM TECH BLOG

    PHPerKaigi 2018 ベストトーク賞「SOLIDの原則ってどんなふうに使うの?」スライド公開・配布 カルテット開発部の後藤です。 PHPerKaigi 2018 にスピーカーとして参加してきました。そしてなんと、参加者の皆様からの投票の結果、ベストトーク賞を頂きました! tweet 発表を聞いてくださった方、投票してくださった方、そして素晴らしいカンファレンスを企画・運営してくださったスタッフの皆様、当にありがとうございました! スライドの公開とKeynoteファイルの配布 発表に使ったスライド(公開用に一部修正したバージョン)は、以下です。 また、トークスクリプトも含めて読んでみたい、自分たちの勉強会で使いたいという方向けに、Keynoteファイルも配布します。 SOLIDの原則ってどんなふうに使うの?〜オープン・クローズドの原則編〜 公開版 クリエイティブ・コモンズ BY-

    PHPerKaigi 2018 ベストトーク賞「SOLIDの原則ってどんなふうに使うの?」スライド公開・配布 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/03/11
    Keynoteファイルまで公開という大盤振る舞い!プログラミングの設計原則に興味ある方ぜひ読んでみてください!このスライドの「新人」の立場で設計を学びながら活躍したい方からの採用ご応募もお待ちしております!笑
  • PHPUnitでオブジェクトの比較 | QUARTETCOM TECH BLOG

    いきなりですが、PHPでオブジェクトの比較をするのって面倒ではないですか? かといってバグ対応の方が面倒なのでテストをサボらずにしぶしぶ書く、そんな毎日でした。 そこで、厳密なオブジェクトの比較を簡単にできないかと考え解決策に至るまでの道のりの話です。 面倒な例 <?php class Foo { private $bar; private $baz; public function __construct($bar, $baz) { $this->bar = $bar; $this->baz = $baz; } public function getBar() { return $this->bar; } public function getBaz() { return $this->baz; } } <?php $fooList = $service->doSomething();

    PHPUnitでオブジェクトの比較 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2018/01/30
    技術ブログ更新!サクッと便利なOSSにしちゃうところがニクい!
  • symfony/consoleでesaの記事をgrepするツールを作りました | QUARTETCOM TECH BLOG

    この記事は Symfony Advent Calendar 2017 15日目の記事です。 はじめに 弊社ではドキュメント管理ツールとして esa を利用しています。 サービス開始直後から3年間ずっとお世話になっていて、まあまあヘビーに使い込んでいるほうだと思っています。 そんな状況もあって、近頃はWeb UIでの操作だけでは痒いところに手が届かないケースがちょこちょこと出始めていました。 特に直近で困ったのが、記事を正規表現で検索したいということでした。 esaは 今のところ正規表現での検索はできない ので、大好きな symfony/console でパパッとCLIツールを作ってしまう ことにしました。 作ったもの https://github.com/ttskch/esa-cli esa-cliという名前ですが、いわゆるAPIをラップした感じのCLIツールではなく、少し複雑なアプリケー

    symfony/consoleでesaの記事をgrepするツールを作りました | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2017/12/15
    技術ブログ書きました!Symfony Advent Calendar 2017 15日目の記事です!Symfonyあんまり関係ない記事でスミマセン! #esa_io
  • SymfonyのFormに対してPATCHを使うとき気をつけること | QUARTETCOM TECH BLOG

    Symfony Advent Calendar 2017 12日目の記事です。 枠が空いていたので3度めですが書いちゃいます。 REST APIで「フォームにsubmitした値がセットされない!」と思ったら 下記のように、ユーザーの編集を行うREST APIを書いたとします。 <?php namespace App\Entity; use Doctrine\ORM\Mapping as ORM; /** * Class User * * @ORM\Entity * @package App\Entity */ class User { /** * @var integer * @ORM\Id() * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Column(type="integer") */ public $id; /** * @var str

    SymfonyのFormに対してPATCHを使うとき気をつけること | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2017/12/13
    技術ブログ更新されてましたー!Symfony Advent Calendar 2017 12日目の記事です。菱田さん3本目すごい…!!
  • symfony/consoleとBoxでCLIツールをPharファイルで作成する | QUARTETCOM TECH BLOG

    <?php namespace Qcmnagai\Hello; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; class HelloCommand extends Command { protected function configure() { $this ->setName('hello') ->addArgument('name', InputArgument::OPTIONAL, 'Name for greeting.',

    symfony/consoleとBoxでCLIツールをPharファイルで作成する | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2017/12/11
    昨日ですが、技術ブログ上がってましたー!Symfony Advent Calendar 2017 10日目の記事です!ここ大事です > "カルテット開発部では、CLIツールもPHPで作成してしまうエンジニアを募集しています!"
  • ぼくのかんがえたさいきょうのControllerTrait(別名 Autowiringで遊んでみた) | QUARTETCOM TECH BLOG

    枠が空いてたので2日連続で書いちゃいます。 Symfony Advent Calendar 2017 7日目の記事です。 Symfony3.3 以降のSymfonyプロジェクトでは、コントローラクラスを書く時にFrameworkBundleの Controller を継承する必要がなくなりました。 <?php namespace App\Controller; use App\Entity\Task; use Doctrine\ORM\EntityManagerInterface; use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Component\HttpF

    ぼくのかんがえたさいきょうのControllerTrait(別名 Autowiringで遊んでみた) | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2017/12/09
    2日前ですが技術ブログにSymfony Advent Calendar 2017用の記事上がってました!「会社のブログでふざけた記事書いてもいいですか?」って聞かれたけど読んでみたらタイトルぐらいしかふざけてませんでした!笑
  • Symfony3.4でLiipFunctionalTestBundleを使って機能テストを書く方法 | QUARTETCOM TECH BLOG

    Symfony Advent Calendar 2017 6日目 の記事です。 昨日は弊社の澤井による Symfony4をインストールして”Hello World”を表示させるまでの手順 でした。 先月末、ついにSymfony3.4とSymfony4がリリースされましたね! インストール方法やディレクトリ配置もガラッと変わり、なんだか新鮮な感じがします。 さて、最新のSymfony環境で開発するときにも、テストは欠かせません。 テストと言えば機能テストを書く時のもはや定番の便利バンドル、LiipFunctionalTestBundle があります。 Symfony2.xでLiipFunctionalTestBundleを使う場合の記事は既にあるのですが、 LiipFunctionalTestBundleを使ってファンクショナルテストで楽をする SymfonyアプリでDoctrineの継承と

    Symfony3.4でLiipFunctionalTestBundleを使って機能テストを書く方法 | QUARTETCOM TECH BLOG
    ttskch
    ttskch 2017/12/06
    技術ブログ更新されてましたー!Symfony Advent Calendar 2017 6日目の記事です! #symfony_ja