Skip to content

Instantly share code, notes, and snippets.

@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は習得していますか?」「申し訳ございません 未習得です」

@grimrose
grimrose / TDDBC_Tokyo_2013_03_16.rst
Last active December 15, 2015 00:58
TDDBC東京 2013-03-16運営振り返り

Keep

  • 言語ごとにスケルトンを用意しておくと、それをダウンロードしてからスタート出来る。
    • IDEの違いが一番のネックになってくる。
    • キーバインドが違っているとペアが出来ない可能性がある。
    • GitHubなどで共有するのは妥当な解決策だが、参加者層によっては難しい。
  • 初心者同士のペアを作らないのは、良かった
@bells17
bells17 / .tmux.conf
Last active January 9, 2018 02:13
tmuxの設定ファイルとそのときのvimで256色に対応するための方法です。設定ファイルはほぼhttp://n.blueblack.net/articles/2012-07-20_04_comfortable_cui_environment_tmux/のコピペです。
#
# tmux内のvimで256色を設定する方法
#まず
#tmux kill-server でtmuxのセッション?をすべて削除
#このファイルを~/.tmux.conf として設置
#シェルがzshでない場合は
#設定内部で使用するシェルは一番下に記載する
#作成したシェルを~/bin に作成してパスを通す
#最後に tmux -f ~/.tmux.conf で設定ファイルを読み込ませて起動すると設定が反映される
#

2013 年の新卒研修メニュー

Rails Tutorial

目的

  • 2013 年にモダンな方法で一通り Web アプリケーションを自分一人で作れるようになってもらう
  • 作る過程で Web 開発で必要とされるアプリケーションレイヤのスキルセットを身につけてもらう

教科書

@okapies
okapies / promises-are-functional.md
Last active August 14, 2023 11:44
翻訳: ”命令型のコールバック、関数型のプロミス: Node が逸した最大の機会” by James Coglan

命令型のコールバック、関数型のプロミス: Node が逸した最大の機会

Original: "Callbacks are imperative, promises are functional: Node's biggest missed opportunity" by James Coglan

Translated by Yuta Okamoto (@okapies)

Note

  • 訳者は JavaScript や Node.js に関する専門知識がほとんどありません。識者のツッコミをお待ちしております。「◯◯が分からない」等も歓迎です。
  • 元記事から構成を一部変更しています。また、関数型プログラミングに関する記述のうち、議論の骨子に絡まないものは省略しています。

go 1.1 scheduler

where

src/pkg/runtime proc.c asm_*.s

design

@thelibrarian
thelibrarian / Fixing XCode Command Line Tools.md
Last active November 6, 2017 03:28
How to fix compile errors with the XCode command line tools on Mac OS X. Solves problems such as failing to find Framework header files (e.g. ruby.h).

The Problem

If you have installed the standalone Command Line Tools for XCode on your Mac (i.e. without having XCode.app installed), some of these tools can get a bit confused due to a couple of oversights on Apple's part in finalising the setup.

Note: all commands below will need to be run from an Administrator account, or by an account with appropriate permission in /etc/sudoers.

The Solution

1. Failing to Find Frameworks

Sometime when compiling against the preinstalled Frameworks (e.g. Ruby or Python), various tools will inexplicable fail to find header files that are quite clearly there. This is caused by the fact that no XCode has been selected for the command-line tools. Wait, I hear you cry, I don't have XCode installed! Indeed, but you nonetheless need to select one, and point it somewhere where the command line tools exist, like so

@aamine
aamine / HorizVert.md
Last active December 5, 2024 08:40
RDBの縦持ちテーブルと横持ちテーブル、およびその変換について

テーブルの縦持ち横持ちについて

横持ちテーブルと縦持ちテーブル

横持ちはいわゆる「普通の」データの持ちかたのこと。 例えばレコードごとにa, b, c, dの4つの属性を持つ テーブルを作る場合、次のようなテーブルが横持ちテーブルである。

@takawitter
takawitter / LZ77.java
Created May 14, 2013 00:12
「高速文字列解析の世界」を参考に、LZ77実装してみた。非常に単純な実装で、compress1はマッチする文字列を元配列をなめて求める方式。compress2は文字出現位置をマップで持つ方式。 Wikipedia日本語タイトルをTrieに格納してできたTail配列に対してやってみると、513万文字が435万文字になった。 compress1が31.7秒、compress2が8.9秒。ウィンドウサイズは8192。
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
public class LZ77 {
public static void compress1(CharSequence src, Appendable out, int windowSize)
throws IOException{
@chomado
chomado / perfect.ml
Created May 26, 2013 18:23
n 以下の完全数をリストで返す
(* 完全数: 自分自身を除く約数の和がその数自身になる *)
(* n以下の整数一覧を並べたリスト *)
(* enumerate: int -> int list *)
let rec enumerate n = if n <= 0 then [] else n :: enumerate (n-1)
(* n 以下の完全数をリストで返す *)
(* perfect : int -> int list *)
let perfect n =
let perfectp n =