Skip to content

Instantly share code, notes, and snippets.

View progre's full-sized avatar

progre progre

View GitHub Profile
@progre
progre / gist:4272968
Created December 13, 2012 00:23
Maybe Monad on C#
static class MaybeExtensions
{
public static TResult Bind<TSender, TResult>(this TSender obj, Func<TSender, TResult> func)
{
if (obj == null)
return default(TResult);
return func(obj);
}
}
@progre
progre / gist:5604161
Created May 18, 2013 11:50
linq.js付属のd.tsをts0.9でコンパイル通る様に修正。
// Typing for linq.js, ver 3.0.3-Beta4
declare module linqjs {
interface IEnumerator {
current(): any;
moveNext(): bool;
dispose(): void;
}
interface EnumerableStatic {
/// 設定をロードする。壊れてたり無かったりしたら新しく作る。
void Load()
{
try
{
this.setting = Deserialize();
}
catch(FileNotFoundException)
{
Console.WriteLine("ファイルないよ~");
@progre
progre / file0.txt
Created December 18, 2013 12:45
Sublime Text3のタブの挙動を元に戻す ref: http://qiita.com/progre/items/45016f285bfb26b63e4a
{
"enable_tab_scrolling": false
}
@progre
progre / hoge.ts
Created December 26, 2013 03:57
TypeScriptでサーバーとクライアントのコードを共通化する ref: http://qiita.com/progre/items/0e38795f75301254a72b
export function hogehoge() {
console.log('hoge');
}
@progre
progre / file0.txt
Created January 2, 2014 06:26
びっくりするTypeScriptの推論力 ref: http://qiita.com/progre/items/6b85993af5b4a7f1e792
window.addEventListener('keydown', e => {
// eはKeyboardEventに自動推論される
});
@progre
progre / Gruntfile.js
Created January 21, 2014 03:47
AngularJSのアプリを/以外の場所に配置する時に気を付けなければならない事 ref: http://qiita.com/progre/items/a559b7aaf1802ac311a3
var modRewrite = require('connect-modrewrite');
var projectConfig = {
root: '/' // ←【変更1】配置先に合わせて変更
};
// connect用の設定
function rewriteMiddleware(connect, options) {
return [
modRewrite(['^' + projectConfig.root + '(?!html/).*\\.html$ /index.html [L]']),
@progre
progre / Vagrantfile
Created February 2, 2014 14:46
AnsibleをゲストOSに押し込んでVagrant環境構築する ref: http://qiita.com/progre/items/ccc2d8c2ec7ae8a4ed61
Vagrant.configure("2") do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.synced_folder ".", "/vagrant", :mount_options => ['dmode=775', 'fmode=664']
config.vm.provision "shell", :path => "provision.sh"
end
@progre
progre / file0.txt
Created February 22, 2014 16:33
こまけぇこたぁいいんだ!MVWだ! ref: http://qiita.com/progre/items/f50846ee33af2e6f2dc7
import opening = require('./domain/app/opening'); // <-- インポートして
var app = angular.module('app', ['ngRoute', 'ngAnimate']);
// 中略
app.controller('IndexController', [
() => opening() // <-- コール
]);
<UserControl x:Class="wmvplayer.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="Black" Width="640" Height="480">
<MediaElement Width="640" Height="480" Name="MediaElement" Source="mms://localhost:7144/stream/【stream id】.wmv?tip=【ip】" AutoPlay="True"></MediaElement>
</Grid>