タグ

2018年8月14日のブックマーク (9件)

  • DynamoDBデータモデリング虎の巻:第弐巻 〜考え方編〜 - misc.tech.notes

    前巻のおさらい 前巻はDynamoDBのデータモデリングをする前に知っておいた方が良いDynamoDB自体の仕組みやデータ構造のお話でした。 marcy.hatenablog.com 今回は 今回はデータモデリングを行う際に必要なマインドセット、つまり「考え方」について書き記したいと思います。非常によく聞かれる「RDBとの考え方の違い」といった切り口で進めていきたいと思います。 RDBとはアプローチが真逆 RDBのデータモデリングをする場合、まず正規化されたデータのスキーマを決めることから始めると思います。慣れてくると律儀に第一正規化から始めずにいきなり第三正規形あたりから設計しだすことも多いと思います(私もそうです) そして、データのスキーマが決まってからそれに対してどのようにアクセスするか(=SQL)をアプリケーションを設計する際に考えていくというのがRDBでの一般的なアプローチではな

    DynamoDBデータモデリング虎の巻:第弐巻 〜考え方編〜 - misc.tech.notes
  • RESTful API設計におけるHTTPステータスコードの指針 - Qiita

    RESTful APIを設計した際のステータスコードの指針です。 メソッド別 GET 成功した場合 200 OK:最も一般的 304 Not Modified:条件付きGETでキャッシュを使わせたい場合 POST 成功した場合 201 Created 作成したリソースのURIを示すLocationヘッダを付けておく 議論 200 OKだとまずいのか? 200 OKを応答する実装も多くあり、まずいというわけでもない 200 OKはPOST結果がキャッシュ可能、201 CreatedはPOST結果がキャッシュ不可能として分けてもいいが、そこまでする必要があるか?(POSTのキャッシュは一般的ではない) 204 No Contentだとまずいのか? クライアントがPOST結果を事前に全て知っているわけではないのでNo Contentは不親切では? 失敗した場合 409 Conflict:作成しよ

    RESTful API設計におけるHTTPステータスコードの指針 - Qiita
    stokiwa
    stokiwa 2018/08/14
  • Docker-Compose の変数定義について - Qiita

    docker-compose.ymlで利用できる変数と、Dockerコンテナで利用できる変数の2種類がある。 検証環境 $ docker -v Docker version 18.03.1-ce, build 9ee9f40 $ docker-compose -v docker-compose version 1.21.2, build a133471

    Docker-Compose の変数定義について - Qiita
  • Slack の Reacji Channeler のすゝめ

    Reacji Channeler という、Slack 社が提供する Slack 用の便利機能があります。明示的にインストールしなきゃ利用できないので、Slack を使いつつも存在を知らないという人も多いように感じています。チャンネル数が少ない Slack Workspace ではそれほど意味をなさない、という性質もありますしね。一方、ぼくが所属するペパボのような数百人規模の組織で活用されている Slack においてはなかなかおもしろい働きをするので、周知のために書いてみようと思い立ちました。 Slack 社、これをどれくらい推したいのかよくわからないのもおもしろいです。公式っぽい機能のわりにはぜんぜんアピールする気配がないような。あと名前がわかりにくい!リアクジ・チャンネラー。たぶん「Reaction + Emoji + Channel」あたりを混ぜて生成された言葉。日語でいうと「リアク

    Slack の Reacji Channeler のすゝめ
  • 自作キーボード沼 自由研究ノート - クックパッド開発者ブログ

    こんにちは!広報部のとくなり餃子大好き( id:tokunarigyozadaisuki )です。 クックパッドSlackには無数のオープンチャンネルが存在していますが、最近盛り上がりを見せているのが「#keyboards」というチャンネル。先週末コミックマーケットが開催されていたためここ最近はその話でもちきりの様子でしたが、普段から大事な仕事道具であるキーボードにこだわりを持った社員が日々情報交換をしています。興味位で社員のキーボードをのぞいでみると、ピカピカ光るものから、カチカチッと音がなるもの、アルファベットも数字も書いていないもの……その多彩さにびっくりします。 そこで、クックパッドエンジニアの最近のキーボード事情を調査してみました! なお、HHKBやRealforceはクックパッドでは当たり前だったので、紹介は割愛いたします。 クックパッドエンジニアのキーボード @takai

    自作キーボード沼 自由研究ノート - クックパッド開発者ブログ
  • タイムゾーンを考慮した日時の扱いのベストプラクティス - エムスリーテックブログ

    こんにちは、server-side kotlinterraform を書くことが多い、エンジニアリングGの矢崎(id:Saiya)です。 タイムゾーンや日時の扱いについての話題がホットな昨今ですが、 そういった日時の扱いについて例えば以下のようなお話を受けることが少なからずありました: とりあえず日時は UTC からの時差情報付きで扱えばいいんでしょ? DB に保存するときもタイムゾーン情報付きで入れておけばいいんでしょ? こういったお話を振られた際に、思うところを一言でサッと説明できずもやもやする事もあり、 また web サービスにおいて日時・タイムゾーン・オフセットをどう扱うべきか?納得の行く説明をあまり見つけられなかったため、 筆者なりに考えをまとめてみました。 国家的祭典のために急にサマータイムが導入されるといった話に限らず、 クラウドサービスが UTC+0 の日時になってい

    タイムゾーンを考慮した日時の扱いのベストプラクティス - エムスリーテックブログ
  • 3年半でエンジニアの採用数が12倍 テモナCTOの「開き直りから始める技術広報」

    2018年6月28日、Women in Technologyが主催するイベント、「LINE・mixiなどが語る!これからの広報とは?!」が開催されました。近年、広報担当者の役割は、事業企画チームの広報担当、エンジニアチームの広報担当、採用チームの広報担当など多岐に渡ります。そのなかで各々が最適なツールを利用し、最適なタイミングでさまざまな表現をしながら広報活動をしています。今回は、3つの違った立場の方々をお招きして、それぞれの広報はどのような活動をしているのか、また活動の目的やノウハウなどを共有します。パートでは、「ないものはない! 開き直りから始める技術広報」と題し、テモナ株式会社CTOの中野賀通氏が登壇しました。 音楽業界からエンジニアへ転身した浪川氏 浪川舞氏(以下、浪川):みなさん、こんばんは。Women in Technologyの浪川と申します。今日は当イベントを主催している

    3年半でエンジニアの採用数が12倍 テモナCTOの「開き直りから始める技術広報」
  • Route53でリージョン別APIのDNS設定をする | DevelopersIO

    はじめに サーバーレス開発部の岡です。 今回、Route53で管理しているドメインでAPI Gatewayのカスタムドメインを設定しました。 が、エンドポイントタイプをRegionalに設定している場合に、Route53のコンソール上でAレコードを追加しようとするとエラーが出てしまいます。 公式ドキュメントを見てみると、Regional APIの場合はAliasの追加を AWS CLIまたはAWS SDK for Route 53で行う必要があるようです。 Route 53 マネジメントコンソールを使用して、エッジ最適化カスタムドメイン名の DNS レコードをセットアップすることもできますが、リージョン別カスタムドメイン名の場合はできません。 分かってしまえば手順は簡単なのですが、エラー内容から公式ドキュメントまでなかなかたどり着けなかったため、今回手順をご紹介したいと思います。 詳細 エ

    Route53でリージョン別APIのDNS設定をする | DevelopersIO
  • 「世界最悪のログイン処理コード」を解説してみた

    概要 ところでこのツイートを見てほしい。このソースコードをどう思う? 世界最悪のログイン処理コード。 実際のサービスで可動していたものだとか……https://t.co/C2bG93ZCkj pic.twitter.com/EfVNAEslrn — はっしー@海外プログラマ🇳🇿元社畜 (@hassy_nz) 2018年8月10日 すごく……セキュリティーホールです…… 一応は動いていますが、あまりに問題がありすぎるため、Twitterでも話題になっていました。 問題点は片手に入り切らないぐらいある気がしますが、一つづつ解説していきます。 ※元記事のタイトルに記載されていますが、このコードはイントラネット内で動作していたものです。 問題点リスト 1. クライアント上のJavaScriptで書かれている 他の問題点を全部ぶっ飛ばすぐらいの重大な不具合です。 クライアントと言うのはこの場合、

    「世界最悪のログイン処理コード」を解説してみた