タグ

2019年3月27日のブックマーク (8件)

  • Go言語 で Gitサーバー を書いてみた。 | 株式会社ヌーラボ(Nulab inc.)

    Backlogチームのnabe_です。もっぱら仕事JavaScala、最近の趣味Go言語 です。今回、 Go言語 で nulab/go-git-http-xfer という Git ライブラリ を書いたので紹介させていただきます。 役割 動機 仕組み 使い方 試用 まとめ 役割 このライブラリを使うと、GitのリモートリポジトリへHTTPでアクセスするためのサーバーを作ることができます。HTTPアクセス自体は、BacklogGithub等のGitをホスティングしているサービスであれば概ねサポートしているので、普段あまり気にすることはないかと思いますが、独自にGitを運用している場合、リモートリポジトリの前に clone、push、fetch  等で発生するHTTP通信を捌く仕組みを、なにかしら用意しなければなりません。 動機 私自身まだまだGoのニュービーなのですが、兎に角手を動か

    Go言語 で Gitサーバー を書いてみた。 | 株式会社ヌーラボ(Nulab inc.)
  • Webアプリケーションにおける正しいキャッシュ戦略 - Sansan Tech Blog

    こんにちは。プロダクト開発部のサーバサイドエンジニアの荒川です。普段はSansanのスマホアプリのAPIの開発をしています。 今回扱うテーマは皆さん大好きキャッシュ(Cache) です。 Webアプリケーションを開発するエンジニアである以上、キャッシュの存在からは逃れられないでしょう。 例えばパフォーマンスを向上させる手段として、キャッシュを仕込むことは往々にしてあるかと思います。 キャッシュを使えばパフォーマンスが向上しそう、というイメージも強いため安易に選択する戦略になりがちですが、正しく扱うことは質的に難しいです。 しかしキャッシュを上手に使えば、ユーザ体験を圧倒的に向上させることができます。 そんな諸刃の剣キャッシュ💰について考慮するべきこと、その戦略を改めてまとめてみました。 今回の対象 今回の対象は、アプリケーションレベルでのキャッシュ戦略を取り扱います。 いわゆるキャッシ

    Webアプリケーションにおける正しいキャッシュ戦略 - Sansan Tech Blog
  • How to 速度改善 ーWebパフォーマンスについて知っておきたいこと7選ー - Qiita

    今回のテーマ Webパフォーマンスを改善する上で知っておきたい知識をまとめてみました。 前回の記事では使わなかった(使えなかった)技術や方法なども含めて記載します。 また、ブラウザのレンダリングなどについても書きたいと思います。 (2019年5月23日追記) 過去の記事はこちら How to 速度改善 ー計測・知識編ー How to 速度改善 ー原因調査編ー How to 速度改善 ー実装&技術調査編1ー 1. ブラウザレンダリングの仕組み 推測するな、計測せよ という言葉にあるように、闇雲にチューニングを初めても良い結果は出ません。まずはブラウザレンダリングの仕組みからみていきましょう。 ブラウザレンダリングの流れ レンダリングの大まかな流れは Loading→Scripting→Rendering→Painting(これでページが表示される) となっています。 この処理の内容をフレーム

    How to 速度改善 ーWebパフォーマンスについて知っておきたいこと7選ー - Qiita
  • React + GraphQL から成る Kaizen Ad のフロントエンド - Kaizen Platform 開発者ブログ

    追記: 2021年6月現在はアーキテクチャが変わってきています。 次の記事に詳細を書いていますので、一読をお願いします。 Kaizen Adのフロントエンドアーキテクチャの遷移について - Kaizen Platform 開発者ブログ Kaizen Platformフロントエンドエンジニアをしている山です。この記事では、我々が運営するサービス「Kaizen Ad」のフロントエンド部分をご紹介します。 Kaizen Ad とは Kaizen Ad は、動画広告をサポートするマーケットプレイスです。 カスタマーがクリエイティブを依頼すると、広告クリエイティブを作成するグロースハッカーから動画広告クリエイティブが納品される仕組みです。 カスタマーにとってはクリエイティブ改善の運用を省力化できると同時に、グロースハッカーにとっても新しい働き方が創造できるソリューションとして提供しています。

    React + GraphQL から成る Kaizen Ad のフロントエンド - Kaizen Platform 開発者ブログ
  • 安全なWebサイトのつくりかた ざっくりまとめpart1 - Qiita

    情報推進機構「安全なWebサイトのつくりかた」を読んだけど 情報量が多すぎて頭がフリーズしたので、現時点で最低限理解できる内容までを記録しておきます。 誰にでもわかるというより、僕にでもわかる文章で書いていますのでご了承ください。 Webアプリケーションのセキュリティ実装 例として、11種類のセキュリティ脆弱性が挙げられています。 「何がまずいのか?」「どんなアプリで注意が必要なのか?」を 噛み砕いてからまとめていきます。 SQLインジェクション Part1(記事) https://qiita.com/E-46/items/93199f38bdacd6b6076a OS コマンド・インジェクション Part2 https://qiita.com/E-46/items/aa43b6a01de8ab205591 1. SQLインジェクション どんな脆弱性なのか インジェクションとは「注入、投

    安全なWebサイトのつくりかた ざっくりまとめpart1 - Qiita
  • 一晩でKubernetesを覚えて帰ろう。ワンナイトBootCamp! -- cndjp#10 - 資料一覧 - connpass

    終了 2019/03/25(月) 19:00〜 一晩でKubernetesを覚えて帰ろう。ワンナイトBootCamp! -- cndjp#10 一晩でKubernetesを大体覚えて帰れる、初学者向けの基礎編です。 hhiroshell 他 〒107-0061 東京都港区北青山2丁目5-8

    一晩でKubernetesを覚えて帰ろう。ワンナイトBootCamp! -- cndjp#10 - 資料一覧 - connpass
  • All About Monads モナドのすべて

    モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド Version 1.1.0 このチュートリアルは、モナドの概念とその関数プログラミングにおける応用に ついて、初中級の Haskell プログラマにわかりやすく、利用価値があるような 解説をすることを旨としています。読者は Haskell になれていることを前提と しますが、モナドに関する経験は要求していません。このチュートリアルは、多 くの題材をカバーしています。後半のセクションでは、前半の題材をよく理解し ていることを前提とします。順をおって、モナドプログラミングを例示するため のサンプルコードがたくさん用意されています。一読で、すべての題材を吸収し ようというのはお勧めできません。 このチュートリアルは 3 つの部分で構成されています。最初の部分は、 関数プログラミングにおけるモナドの基

  • 30分でわかるJavaScriptプログラマのためのモナド入門

    「30分でわかる」のは、だいたい、 4. モナド(Monad)とは何か? の読了までを想定しています。 また速い人なら、30分で全部一気に読み通せる分量でもあると思います。 30分以上かかっても一気読みしてしまうことが推奨されますし、一気読みできるように、前に戻って知識の再確認をしなくて済むように、最大限留意して構成を設計した上で執筆されています。 数学と用語問題。モナドの理論的基盤として圏論があるのは事実。理論的基盤がしっかりしているのはプログラミングという数学的作業において歓迎すべきことではある一方で、他方そのため一般的なプログラマにとってはまず用語に馴染みがない。歴史的に、圏論ベースのモナドを理論から関数型プログラミングに応用されていく過程では、実際、先駆者の間でさえ紆余曲折があったのだが、学習者へは馴染みのない用語を伴って、いきなり高度な数学的概念全開で天下り的に提示されてしまうこ