Skip to content

Instantly share code, notes, and snippets.

View bouzuya's full-sized avatar

bouzuya bouzuya

View GitHub Profile
function! s:is_cmdwin()
try
noautocmd wincmd p
noautocmd wincmd p
catch
return 1
endtry
return 0
endfunction
@Gozala
Gozala / weak-map.js
Created October 7, 2011 10:34
Harmony WeakMap shim for ES5
/* vim:set ts=2 sw=2 sts=2 expandtab */
/*jshint asi: true undef: true es5: true node: true devel: true
forin: false latedef: false */
/*global define: true */
if (typeof(WeakMap) === 'undefined') WeakMap = (function(global) {
"use strict";
function defineNamespace(object, namespace) {
@bouzuya
bouzuya / gist:1885339
Created February 22, 2012 14:26
autoload/*.vim <-> plugin/*.vim
function! s:open_pair_file()
let path = expand('%:p')
let pairs = [
\ ['/autoload/\([^/]\+\).vim$', '/plugin/\1.vim'],
\ ['/plugin/\([^/]\+\).vim$', '/autoload/\1.vim']
\ ]
for [pat, sub] in pairs
if match(path, pat) != -1
execute 'hide' 'edit' substitute(path, pat, sub, '')
break
@emanon001
emanon001 / vaivavai.vim
Created March 10, 2012 15:06
Vim script: One two three vai!(Haruka Amami shout)
" Commands
command! -nargs=0 -bang Vai
\ call s:vai.vavai('<bang>' == '!')
" Variables
let s:vai = {}
fizz = function f() {
fizz = function () {
fizz = function () {
fizz = f
return "Fizz"
}
}
}
buzz = function f() {
@rosylilly
rosylilly / gist:3401612
Created August 20, 2012 06:40
先輩と覚える HTTP ステータスコード

先輩に学ぶ HTTP Status Code

超雑にまとめました。修正してください。

登場人物

  • アプリケーション先輩: いつも忙しい。横に広がるのが得意(デブじゃない)。
  • 後輩: 頼んでばっかしで役に立たない。
  • サーバー先輩: アプリケーション先輩と仲がいい。Unix Socket でつながるくらい仲良し。
  • プロクシ先輩: アプリケーション先輩とかサーバー先輩と後輩の間を取り持って代わりに伝えたりしてくれる。たまに勝手にレスポンスを書き換える。
@syou6162
syou6162 / clj-seq-utils.md
Created September 6, 2012 00:24
Clojureのsequence関係のユーティリティ関数のまとめ

sequence関係のユーティリティ関数で自分がよく知らないものをまとめておく。

map-indexed

昔はindexedっていうそのまんまな関数があったけど、1.3くらいからなくなっていた。今はmap-indexedっていう関数を使う。よく使うのはこんな感じの使い方。

(map-indexed #(vector %1 %2) ["a" "b" "c" "d" "e"])
; ([0 "a"] [1 "b"] [2 "c"] [3 "d"] [4 "e"])

reductions

@atsushieno
atsushieno / gist:3847291
Created October 7, 2012 06:18
MonoDevelop勉強会(2012-10-13) 事前資料

MonoDevelop勉強会では、MonoDevelopの使い方を基礎の基礎から応用まで説明する。これはその補完的な事前資料とする。

MonoDevelopが出来るまでの背景

Mono

C#と.NET Frameworkは、ECMA CLI標準に従っており、プラットフォーム中立の中間言語を使用するので、本来はどんなOS環境でも動作できるようになっている。しかし、Microsoftの.NET FrameworkはWindowsでしか動作しない。これをLinuxやMac OS Xでも使えるようにしようと始まったのがMonoプロジェクトである(MicrosoftはsscliというFreeBSDベースの実装を公開している)。

.NET Frameworkがそうであるように、monoにもC#コンパイラと基本ライブラリ、そして中間言語コードを実行するランタイムがある。monoのC#コンパイラはC#で書かれていて、それ自身monoで動作する(.NET Frameworkのcscもいずれそうなる予定)。.NETはP/Invoke(プラットフォーム呼び出し)によって、ネイティブコードを呼び出すことができるようになっていて、.NETではWin32 APIが頻繁に呼び出されている。monoでもこの仕組みを利用してgtk+のアプリケーションをC#で開発できる、Gtk#というライブラリが提供されている。

@hayajo
hayajo / changelog_en.md
Last active April 16, 2024 12:57
ChangeLog を支える英語

ChangeLog を支える英語

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

ほとんど引用です。

基本形

(use 'clojure.test)
(with-test
(defn f
[& {:as options}]
options)
(is (nil? (f)))
(is (thrown? IllegalArgumentException (f nil)))
(is (thrown? IllegalArgumentException (f :a)))
(is (= (f nil nil) {nil nil}))