Skip to content

Instantly share code, notes, and snippets.

@koron
koron / いつも何度でもVim.txt
Last active August 29, 2015 14:00
いつも何度でも(千と千尋の神隠し 主題歌) の改変 Vim ver.
呼んでいる Vimのどこか奥で
いつも心躍る 技を見たい
プラギンは 数えきれないけれど
その向こうできっと あなた(=暗黒美夢王)に会える
繰り返すドットの そのたび ひとは
ただ黒いコンソールの 黒さ知る
果てしなく テキストは続いて見えるけれど
この両手は キーを叩ける
@mala
mala / gist:9086206
Created February 19, 2014 04:49
CSRF対策用トークンの値にセッションIDそのものを使ってもいい時代なんて、そもそも無かった

概要

http://co3k.org/blog/csrf-token-should-not-be-session-id について。

この記事では触れられていませんが、

  • むかし、セッションIDをHTMLソース中に埋め込んでも脅威は変わらないと主張した人がいました
  • 正確には「hiddenの値のみ漏れやすいような特殊な脆弱性が無ければ」という前提であったけれど、実際にそのようなバグはあったし、予見されていた。
  • とても影響のある人だったので、色々なサイトや書籍がその方法を紹介し、安全なウェブサイトの作り方にも載ってしまいました

この際ハッキリ言っておくべきだと思うので書きますが、そもそもセッションIDを(HTMLソース中に埋め込む)CSRF対策トークンとして使うのは間違いでした。最初から間違っていたのです。正確に言うとCSRFの話は関係ないですね。CSRF関係なく、特に「単体で」セッションハイジャックが可能になるような値を、HTMLソース中に埋め込むべきではありません。

@koron
koron / ractive_user.coffee
Created January 29, 2014 05:16
ChaplinでRactiveを使うのに必要なもの、そのサンプル。
class RactiveView extends Chaplin.View
# どの要素にデータを流しこむか指定するセレクタ
el: '#main'
# テンプレート名、getTemplate で使われる
templateName: 'template_empty'
# 変更不可: dipose メソッドを正しくオーバーライドするために必要
keepElement: true
Set<String> keys = map.keySet();
for (String key : keys) {
//some condes
}
//↑が↓になった
Set<String> keys = map.keySet();
String[] keyarray = keys.toString().split(",");
for(int i=0; i<keyarray.length; i++){
@ohshige15
ohshige15 / convert_for_iOS_app_icon.py
Last active December 28, 2015 09:59
iOSアプリ開発の際に,一つの画像から一括で各種アイコンサイズにリサイズして,適切なファイル名にリネームしてくれるスクリプト.要Python Image Library
# -*- coding: utf-8 -*-
import os
import Image
from optparse import OptionParser
def prepare_options():
usage = "usage: %prog [options] filename"
@k0f1sh
k0f1sh / zone-pgm-rainbow
Last active April 27, 2018 15:51
虹色zone
;; zone-pgm-rainbow
(defun decimal->hex (n)
(format "%02X" n))
(defun hsv->rgb (h s v)
(let ((h (max 0 (min 360 h)))
(s (/ (max 0 (min 100 s)) 100.0))
(v (/ (max 0 (min 100 v)) 100.0)))
(if (= 0 s)

花火~ 最高な俺たちと糞コードの海

written by mizchi at 小物エンジニアの会.

最高の夏の花火について 花火

自己紹介

@hayajo
hayajo / changelog_en.md
Last active April 1, 2025 14:37
ChangeLog を支える英語

ChangeLog を支える英語

ChangeLog を書く際によく使われる英語をまとめました。

ほとんど引用です。

基本形

-- -*- coding: utf-8 -*-
import Test.HUnit
deal :: Int -> String -> [String]
deal n s = deal_ 0 (take n $ repeat "") (take ((length s) - (length s `mod` n)) s)
where deal_ _ ys [] = ys
deal_ m ys (x:xs) = deal_ ((m + 1) `mod` n) ((take m ys) ++ [(ys!!m) ++ [x]] ++ (drop (m + 1) ys)) xs
tests = test [
["111", "222", "333"] ~=? deal 3 "123123123",
// Inversefizzbuzz
// http://www.jasq.org/2/post/2012/05/inverse-fizzbuzz.html
//
object InverseFizzbuzz extends App {
type E = (String,Int)
def zzubzzif(pattern:Seq[String]) = {
val fizzbuzz = (n:Int) => (n%3, n%5) match{
case (0,0) => ("fizzbuzz", n)
case (0,_) => ("fizz", n)