タグ

ブックマーク / techblog.cartaholdings.co.jp (13)

  • DBのロックについてあまり意識したことがない人に向けた実は覚えておきたいロックについての知識 - CARTA TECH BLOG

    みなさん、おはようございます! CARTA fluct エンジニア の なっかー@konsent_nakka です。 CARTA TECH BLOG アドベントカレンダー 12/14ということで、普段DBのロックについてあまり意識したことがない人に向けた実は覚えておきたいロックについての知識をざっとまとめてみました。 とりあえずこれだけ読んでおけば最低限は困らない、もし何か困った時にはあそこで出てきた内容をもう少し深く調べて見るか、というきっかけになれば良いなと思います。 厳密な定義よりも普段DBを扱う中でロックについてあまり意識したことがないような人にもすっと入ってくるように簡単な表現を優先して書いていますがご了承ください。 目次 留意事項 排他ロックと共有ロック トランザクション分離レベル SELECTのロックレベルを変更する 共有ロック: LOCK IN SHARE MODE 排他ロ

    DBのロックについてあまり意識したことがない人に向けた実は覚えておきたいロックについての知識 - CARTA TECH BLOG
  • 社外評価者と評価会ふりかえりを実施しました。Keep/Problemも一部公開します。 - CARTA TECH BLOG

    こんにちは、エンジニアの評価について相談受けることが多くなったCTOの @makoga です。お悩みの方は気軽にお声がけください。 VOYAGE GROUPでは「技術力評価会」というエンジニアの能力評価制度を2011年から継続しており、2017年からは社外の強いエンジニアを招聘し、社内評価者2人+社外評価者1人というやり方にも挑戦してます。 エンジニアの能力評価制度である技術力評価会を改善し続けています。 #vgadvent2017 - VOYAGE GROUP techlog 社外の専門家も評価に参加!エンジニアを育てる、VOYAGE「技術力評価会」の裏側 | SELECK 上記SELECKの記事にも記載ありますが、社外評価者を招聘する狙いはこんな感じです。 人数が少ない技術領域では、評価者/被評価者の組み合わせのパターンが少ない。社外から識者を招聘することで、新しい視点や気付きが得られ

    社外評価者と評価会ふりかえりを実施しました。Keep/Problemも一部公開します。 - CARTA TECH BLOG
  • React + RxJSで始める状態管理 - CARTA TECH BLOG

    こんにちは、fluctの@nekoyaです。 今日は現在開発に携わっている、俗に言う「管理画面」のWebアプリケーションのアーキテクチャをご紹介します。 このアプリケーションはReactとRxJSを軸として作られており、コードはTypeScriptを使って書いています。 アプリケーションを流れるデータと状態の管理について、Write StackとRead Stackという考え方を取り入れたところ、いろいろなメリットが得られたので、そのあたりを軸に掘り下げてみます。 全体の大まかな構成 各Stackの前に、まずはアプリケーション全体の構成をざっくりと見ておきます。 流れとしては、DispatcherからWrite Stack, Read Stackを通ってStateが生成され、それをViewが受け取るという構成になっています。 全体の流れとしてはFluxっぽい何かのひとつのあり方なのですが、

    React + RxJSで始める状態管理 - CARTA TECH BLOG
  • まとまってない文章を晒すのに抵抗があったけど、メモを垂れ流したら仕事がうまく回りだした件について - CARTA TECH BLOG

    Zucks Ad Networkでデータ解析をしています、@yuu_itoです。 気づいたら3月も半ばですね。花粉で目がしょぼしょぼします。 メモを取ることについて書いていきます。 きっかけ 技術調査のために論文を集めGoogle Docsにまとめていた時、 とりあえずまとめた後に共有しますねと連絡したら、 メモはGitHub Issueへのコメントで書いておいたら?というのが始まり。 やってみて気づいたこと まとまっていない状態の文章を晒すことに抵抗があったのですが、やってみると嬉しいことがありました。 1. Issueに気づいた人がコメントをくれる。 弊社ではGitHubSlackを連携してIssueの更新をSlackに通知しています。 取り組んでいること、考えていることを書いていると 「なんかデータの傾向がイメージと違った」→「それ~だからかも」 「計測しているデータ、不要なものも

    まとまってない文章を晒すのに抵抗があったけど、メモを垂れ流したら仕事がうまく回りだした件について - CARTA TECH BLOG
  • インフラチームと開発チームの垣根をなくすためにAWSのCI環境を構築した話 - CARTA TECH BLOG

    こんにちは、VOYAGE GROUP システム部の @s-tajima です。 PHPカンファレンス2016 の「老舗メディアが改善に取り組んでいる話」でもお話した通り、長年オンプレミス環境で稼働してきたECナビを、AWSに移転しようというプロジェクトが進行しています。 そしてなんと先日、約24時間のメンテナンスを経てECナビの体(Webサーバ, 管理画面サーバの一部, データベースサーバ)がAWSに移転しました! AWS移転において得た知見, 構築したシステム等は数多くありますが、今回はCloudFormationとTravis CIを用いて 生産的 で 安全 で 手軽 なAWSのCI環境を構築したお話です。 背景 ECナビは、500万人を超える会員を抱えたVOYAGE GROUPが運営している中でも特に大きなメディアの1つです。 今回、そんなECナビのインフラ調達期間の削減、検証環

    インフラチームと開発チームの垣根をなくすためにAWSのCI環境を構築した話 - CARTA TECH BLOG
  • GitHubにおけるPull RequestのAssign/Mergeを自動化して開発を加速させる - CARTA TECH BLOG

    皆さんこんにちは. 現在はfluctにてfluct DRという広告配信システムの開発を行っております, 大関です. GitHub上でのチーム開発では, レビューの依頼や, CIが通ったことを確認した上でのPull Requestのマージといった複数の作業が発生しますが, これらはGitHubUIを複数回クリックする必要があり, 非常にストレスフルな作業です. 稿では, こうした定形作業を自動化するbotとしてpopukoを開発・導入することで, 我々開発者のストレスを軽減するとともに, より堅牢かつフィードバックの多い開発が実施できるようになった事例を紹介します. GitHubでの開発はとてもクリック操作が多い 前段でも述べたように, GitHubを用いたチーム開発においては, 数多くの定形作業が存在します. コードレビューの可能な人を探してレビューを依頼する, 依頼の度に対象者をAs

    GitHubにおけるPull RequestのAssign/Mergeを自動化して開発を加速させる - CARTA TECH BLOG
  • PHPカンファレンス2016で発表してきました #phpcon2016 - CARTA TECH BLOG

    VOYAGE GROUP は 今年の PHPカンファレンス2016 もスポンサーとして協賛させていただきました。 @t_wadaさんの素晴らしい講演も目の前で聴く事ができ、とても満足感を持って会場から立ち去ることができました。 また、今年のカンファレンスでも弊社から1名発表させていただきましたのでそのことについて簡単にお話できればと思います。 老舗メディアが改善に取り組んでいる話 というわけで、こんにちは。ECナビ事業部の駒崎です。 「老舗メディアが改善に取り組んでいる話」を発表してきました。 speakerdeck.com 内容としては2016年現在Web界隈のなかでもかなりの老舗メディアとなっている弊社が、もっともカンファレンスに貢献できる内容は何だろうと考えた結果、 培ってきた歴史(悪くいうと闇)とそれにどのように立ち向かい改善してきたのかを共有するのが良いと考え、今回の発表になり

    PHPカンファレンス2016で発表してきました #phpcon2016 - CARTA TECH BLOG
  • 初めての技術力評価会を終えたので感想を書いた - CARTA TECH BLOG

    こんにちは、fluct SSP開発部の@saxsirです。 今年の4月に入社した新人ですが、職場ではgolangとかAWSとかを使って社内向けのプロダクトをゴリゴリと開発しています。 さて、VOYAGE GROUPでは人事評価制度の一つとして技術力評価会という相互評価の仕組みがあります。 これは年に2回ほど開催されており、直近半年くらいの仕事から何かテーマをピックアップし、別チームのエンジニア2名(評価者)に「私はこんなすごいことをやったんだよ、どやっ」とお話しながら自分の技術力を評価してもらうという場になります。 もちろん、新卒も例外なく技術力評価会を行います。 今回は初めての技術力評価会を終えて私が学んだこと、を社外の方向けに書こうと思います。(言うまでもなく、私は被評価者です) ※以下、「技術力評価会」を「評価会」と略して表記する場合があります TL;DR 「なぜやったのか」を説明

    初めての技術力評価会を終えたので感想を書いた - CARTA TECH BLOG
  • 毎週のように依存パッケージを上げ続ける努力 - CARTA TECH BLOG

    皆さんこんにちは。fluctにてfluct SSPという広告配信システムの管理画面を中心にクライアントサイドの開発を行っております、大関です。 依存パッケージの更新、どうしてますか? 今や数多くの言語でパッケージマネージャが提供されており、みなさんも日常的にコミュニティによるパッケージエコシステムを活用していることと思います。 ですが、この依存パッケージの更新については、どのようにしていますか? セキュリティfixなどを除き、以下のようなことになっていることが多いのではないでしょうか? チームの「いい人」が頑張って更新し続ける その人の謎の情熱が消えると更新されなくなってしまう たまに気がついたら頑張る 「いい人」が頑張るタイプの亜種 気が付かなかったら更新されない 更新はリスクなので塩漬けにする プロダクトは定期的に作り直す前提 CIでテストを回し続けているのに更新しないなんて……とモヤ

    毎週のように依存パッケージを上げ続ける努力 - CARTA TECH BLOG
  • try! Swiftに参加してきました - CARTA TECH BLOG

    こんにちは、VOYAGE GROUP のコンテンツメディア事業部で iOS アプリを担当している @TachibanaKaoruです。 先週の3/2~3/5に、渋谷のマークシティーで try! Swift が開催されました。 VOYAGE GROUPでは、今回のtry! Swiftのスポンサーをさせていただいたこともあり、社内から6名(社員5名、内定者1名)が3日間みっちり参加させていただきました。 参加した社員の感想をまとめてみました。 モダン Core Data (by @qmihara) Realm がダイヤモンドスポンサーという中で Core Data の話かー、何を話すんだろうととても楽しみにしていたセッションでしたが、Core Data がメインではなく古くからあるフレームワークを Swift らしく使えるようにする話でした。 Protocol Extension や Enu

    try! Swiftに参加してきました - CARTA TECH BLOG
  • 機械学習サマースクールで勉強してきました - CARTA TECH BLOG

    こんにちは、Zucks Ad Networkの開発をしている @hagino3000 です。8月の後半にMachine Learning Summer School 2015 Kyoto (以降MLSSと表記)に参加してきました。世界各国の研究者と交流しつつ刺激的な講義を受けるも、内容が難しくて毎晩悲壮な気持ちで復習に励む日々を送っていました。以下、MLSSの内容と講義の感想をいくつか。 mlss | Machine Learning Summer School Kyoto 2015 モチベーション 機械学習はネット広告業界で広く使われています。Zucks Ad Networkにおいても配信する広告の選択ロジックに機械学習を利用していますが、さらに他の処理についても適用できないか試行錯誤している所です。今回はデータ解析チームの底上げ、つまり勉強と新たなネタ探しのためにZucks Ad Ne

    機械学習サマースクールで勉強してきました - CARTA TECH BLOG
  • 本当に実用的なたったひとつのソートアルゴリズム - CARTA TECH BLOG

    コンテンツメディア事業部の新卒エンジニアがお送りいたします。 突然ですが、皆さんの好きなソートアルゴリズムはなんですか? 私は基数ソートのスマートでストイックな雰囲気に惹かれます。 とはいえ、普段の開発では「どのソートアルゴリズムを使うか」を意識することは少ないのではないでしょうか。 むしろ現実世界で「トランプが全部揃ってるか」を手作業で確認するときとかのほうが、実はソートアルゴリズムが必要なのかもしれません。 ということで(?)、そのような現実的な場面で、当に実用的なソートアルゴリズムを決める戦いが始まりました。 選手紹介 今回試したソートアルゴリズムは、独断と偏見で選んだ以下の5種類。 1 挿入ソート シンプル・イズ・ベスト!正直言ってベンチマークの噛ませ犬! 2 クイックソート 「クイック」の名前はダテじゃない!王者の貫禄を見せてやれ! 3 マージソート 安定感のある隠れた実

    本当に実用的なたったひとつのソートアルゴリズム - CARTA TECH BLOG
  • Erlang で、relx と sync を使ったお手軽自動リロード開発環境コトハジメ - CARTA TECH BLOG

    こんにちは。 VOYAGE GROUP の @ajiyoshi です。adingoという会社でFluctという広告サービスの開発をしています。 Fluctのサブシステムで、Erlang言語を使ったりしています。今回は Erlang のリリースツール relx と、 sync を使って、開発をちょっと楽にするような TIPS をご紹介します。 relx コトハジメ の内容を把握している読者を想定しています。(いきなりハードル高くて申し訳ありません。Erlang のコンパイル環境があれば、基的にそのまま動くようなサンプルコード もありますのでご勘弁ください) Dockerイメージなどを開発環境にしていると、なるべく実際に動く環境に近いような動作環境でテストしたくなります。 一方で、開発環境というのはなるべく手間なく勝手にコンパイルやテストが走ったり、変更点を勝手にリロードしてほしいものです。

    Erlang で、relx と sync を使ったお手軽自動リロード開発環境コトハジメ - CARTA TECH BLOG
  • 1