This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defn contextual-eval [ctx expr] | |
(eval | |
`(let [~@(mapcat (fn [[k v]] [k `'~v]) ctx)] | |
~expr))) | |
(defmacro local-context [] | |
(let [symbols (keys &env)] | |
(zipmap (map (fn [sym] `(quote ~sym)) symbols) symbols))) | |
(defn readr [prompt exit-code] | |
(let [input (clojure.main/repl-read prompt exit-code)] | |
(if (= input ::tl) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; Simple solution for argument replacement in a string | |
(defn replace-templates3 [text m] | |
(clojure.string/replace text | |
#"\{\w+\}" | |
(fn [groups] | |
((->> groups | |
reverse | |
(drop 1) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Scenario: Repost a 3D Post | |
Given there is user A | |
And there is user B following user A | |
And there is user C following user B | |
And there is user D following user A and B | |
And user A posted a photo P1 | |
And user A posted a 3D photo P2 | |
When user B reposted P2 as P3 | |
Then the feeds should be like: | |
| feed | of | count | contains | because | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;Print "Hi" every 2 seconds: | |
(defn t [] | |
(go (loop [] (<! (timeout 2000)) (prn "hi") (recur)))) | |
;or as a macro |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Solution without PowerMock | |
-- | |
import ch.qos.logback.classic.*; | |
import ch.qos.logback.classic.spi.LoggingEvent; | |
import ch.qos.logback.core.Appender; | |
import org.junit.*; | |
import org.junit.runner.RunWith; | |
import org.mockito.*; | |
import org.mockito.runners.MockitoJUnitRunner; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-module(twitter_stream). | |
-author("[email protected]"). | |
%% Depends on: | |
%% ibrowse for http | |
%% couchbeam for couchbeam_json_stream (a fork of damienkatz json_stream_parse) | |
%% mochiweb for mochiweb_util:urlencode | |
-export([start/0]). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package controllers | |
import play.api.http.{ContentTypes, ContentTypeOf} | |
import upickle.Js | |
import upickle.default._ | |
import play.api.mvc._ | |
import scala.concurrent.Future | |
import scala.concurrent.ExecutionContext.Implicits.global |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In Application.scala: | |
object MyServer extends AutowirePlayServer[Api] { | |
override def routes(target: Api) = route[Api](target) | |
override def createImpl(autowireContext: AutowireContext): Api = new ServerImpl(autowireContext) | |
} | |
object Application extends Controller { | |
def api = PlayAutowire.api(MyServer)_ | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
</head> | |
<body> | |
<form> | |
<!-- in firefox you can't choose a file diretory --> | |
<input type="file" id="file_input" directory webkitdirectory multiple /> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var parser = document.createElement('a'); | |
parser.href = "http://example.com:3000/pathname/?search=test#hash"; | |
parser.protocol; // => "http:" | |
parser.hostname; // => "example.com" | |
parser.port; // => "3000" | |
parser.pathname; // => "/pathname/" | |
parser.search; // => "?search=test" | |
parser.hash; // => "#hash" | |
parser.host; // => "example.com:3000" |