タグ

2015年7月8日のブックマーク (6件)

  • Golang : How to verify uploaded file is image or allowed file types

    Problem : How do I verify if an uploaded file to my server is ... let say I only allow images(JPG, PNG, GIF)... is indeed image file. Solution : Use DetectContentType function to detect the uploaded file. Only proceed further if the uploaded file is image or allowed file types. If not, abort and prompt error message. The code will assume that the target file is uploaded from client. To see how to

    Golang : How to verify uploaded file is image or allowed file types
    tchssk
    tchssk 2015/07/08
  • Snowflake的なID生成方法

    作っているプログラムでランダムなIDが必要となったため、ちょっとリサーチしました。久しぶりにJavaでコードを書いています。 UUID 完全に分散した環境で使用するのには、UUID(Universally Unique Identifier)が最適です。1IDあたり16バイトの容量が必要となる点をのぞけば、理想的なIDと言えると思います。ただIDは大量に使用されるので、16バイトというサイズはちょっと気になります。 Snowflake SnowflakeはTwitterが使用しており、Apache Licenseで公開しているID生成方法です。ある程度分散した環境でも、1IDあたり8バイトの容量で利用できます。また非常に重要な特徴としてIDの先頭部分にタイムスタンプ利用しており、生成されたIDはある程度時系列に並びます。8バイト、つまり64bitを下記のように振り分けて使用します。 先頭4

    Snowflake的なID生成方法
  • Golang: 文字列を base64 にエンコードする

    Golang: HTML の特殊文字をエスケープするGolang: テンプレートを使うGolang: JSON を扱うGolang: bcrypt を使ってパスワードハッシュを生成するGolang: 文字列を base64 にエンコードするGolang: 疑似乱数の文字列を生成する base64 パッケージを使う。 package main import ( "encoding/base64" ) func main() { println(base64.StdEncoding.EncodeToString([]byte("あいうえお"))) data, _ := base64.StdEncoding.DecodeString("44GC44GE44GG44GI44GK") println(string(data)) } base64url にエンコードしたい場合、URLEncoding

    Golang: 文字列を base64 にエンコードする
    tchssk
    tchssk 2015/07/08
  • Twitterのsnowflakeについて

    This document summarizes a microservices meetup hosted by @mosa_siru. Key points include: 1. @mosa_siru is an engineer at DeNA and CTO of Gunosy. 2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS services like Kinesis, Lambda, SQS and API Gateway. 3. Challenges discussed were managing 30 microservices, ensur

    Twitterのsnowflakeについて
  • pbs.twimgの画像のファイル名の規則が分からなかった - 空談録

    わからなかった(断定 26bitの用途がわからない… というわけで今日はpbs.twimgの画像のファイル名からステータスURLのIDが取れたら個人的にうれしいよねって話です 結果はタイトルの通りです。もう無理 わかったことだけ書いときます ファイル名にもSnowflakeが使われている これはまあ保存しまくってればわかりますが、画像は何らかの規則にのっとって順番につけられていることがわかります あとファイル名を見ているとA-Za-z0-9と"-","_"しか使われていないこともわかります。ということで大体予想が付きますがBASE64を用いてエンコードされた文字列がファイル名だと推測できます ということでとりあえずBASE64でデコードしてみましょう と_の位置がわからないので先に含まれていない画像で実験します 都合よく https://twitter.com/f_swallow/stat

    pbs.twimgの画像のファイル名の規則が分からなかった - 空談録
  • [CloudFront + S3]特定バケットに特定ディストリビューションのみからアクセスできるよう設定する | DevelopersIO

    皆さんこんにちは、yokatsukiです。 静的コンテンツの配信性能を高めるために、S3とCloudFrontを組み合わせて、CloudFrontからコンテンツを配信する形態は、Cache Distributionパターンとしてよく知られています。しかし、設定がよく理解できていないために、CroudFront以外に、S3コンテンツへ直接アクセスできるようになっていませんか?しかし具体的な設定方法をネットで調べても、(2014年9月初めの時点では)署名付きURL等のやや複雑な説明ばかりで、「配信できているからいいや」と設定をおざなりにしている方、多いと思います。 今回は、S3バケット上のコンテンツを、特に署名や期限等の複雑な設定を設けず、シンプルにCloudFrontのみからアクセスできるように設定する方法を紹介します。上記Cache Distributionパターンのシンプルな一例と考えて

    [CloudFront + S3]特定バケットに特定ディストリビューションのみからアクセスできるよう設定する | DevelopersIO