Skip to content

Instantly share code, notes, and snippets.

View uggds's full-sized avatar

Seiya Ugajin uggds

  • UGAP LLC.
  • Tokyo, Japan
View GitHub Profile

LightTableによるclojure開発手順

LightTableによるclojure開発を始めるための手順です。
今回は例としてduct projectの開発を始めるまでの手順を紹介します。
基本方針はRDD(REPL駆動開発)です。
この手順により(理想的には)一度もreplを切らずに開発を進めることが可能です。

0. 前提

下記がインストールされていることを前提とします。

(defn ellipsize [words]
(let [[w1 w2 w3] (str/split words #"\s+")]
(str/join " " [w1 w2 w3 "..."])))
(ellipsize "The quick brown fox jumps over the lazy dog.")
-> "The quick brown ..."
(defn make-greeter [greeting-prefix]
(fn [username] (str greeting-prefix ", " username)))
(def hello-greeting (make-greeter "Hello"))
(hello-greeting "world")
-> "Hello, world"
(def aloho-greeting (make-greeter "Aloha"))
(aloha-greeting "world")
-> "Aloha, world"
@uggds
uggds / fn.clj
Last active September 6, 2015 06:32
(defn indexable-word? [word]
(> (count word) 2))
(require '[clojure.string :as str])
(filter indexable-word? (str/split "A fine day it is" #"¥W+"))
-> ("fine" "day")
(filter (fn [w] (> (count w) 2)) (str/split "A fine day is it" #"\W+"))
-> ("fine" "day")
(filter #(> (count %) 2) (str/split "A fine day is it" #"\W+"))
@uggds
uggds / ZenkakuToHankaku.java
Created January 18, 2015 13:21
全角の英数字を半角に変換する
StringBuilder sb = new StringBuilder(keyword);
for(int i = 0; i < sb.length(); i++) {
char c = sb.charAt(i);
if ('0' <= sb.charAt(i) && '9' >= sb.charAt(i)) {
sb.setCharAt(i, (char)(c - '0' + '0'));
} else if ('A' <= sb.charAt(i) && 'Z' >= sb.charAt(i)) {
sb.setCharAt(i, (char)(c - 'A' + 'A'));
} else if ('a' <= sb.charAt(i) && 'z' >= sb.charAt(i)) {
sb.setCharAt(i, (char) (c - 'a' + 'a'));
@uggds
uggds / node memo
Last active August 29, 2015 14:13
// nade.js run with debug mode
node --debug app
// run node-inspector
./node_modules/.bin/node-inspector
@uggds
uggds / SynonymAccessor.java
Created December 1, 2014 12:51
Get Column Metadata from Synonym Table
import java.sql.*;
public class Main {
public static void main(String[] args) {
Connection con;
DatabaseMetaData metaData;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.
@uggds
uggds / Collatz.f95
Last active August 29, 2015 14:10
Collatz問題
module m_collatz
implicit none
contains
recursive function icollatz(n) result(result)
integer, intent(in) :: n
integer, allocatable :: result(:)
if (n == 1) then
result = [1]
else if (mod(n, 2) == 0) then ! even
result = [n, icollatz(n / 2)]
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class BonJoviGenerator {