Skip to content

Instantly share code, notes, and snippets.

View fbiville's full-sized avatar

Florent Biville fbiville

View GitHub Profile
@fbiville
fbiville / Q1.json
Created April 29, 2015 19:54
Exam Mongo
var recipient = "jeff.skilling@enron.com";
db.messages.aggregate([
{
"$match": {
"headers.From": "andrew.fastow@enron.com"
}
},
{
"$unwind": "$headers.To"
},
@fbiville
fbiville / aggregate-5.1.js
Last active August 29, 2015 14:19
M101J-W5
db.posts.aggregate([
{'$unwind':'$comments'},
{'$match': {
'comments.author': {
'$ne':'machine'
}
}},
{'$group': {
'_id':'$comments.author',
'count': {'$sum':1}
@fbiville
fbiville / aggregate.js
Last active August 29, 2015 14:18
M101J-W3
var min_homeworks = db.students.aggregate([{"$unwind": "$scores"}, {"$match": {"scores.type": "homework"}}, {"$group": {"_id":"$_id", min_score: {"$min":"$scores.score"}}}]);
while (min_homeworks.hasNext()) {
var doc = min_homeworks.next();
db.students.update({"_id": doc["_id"]}, {"$pull": {"scores": {"type": "homework", "score": doc["min_score"]}}});
}
@fbiville
fbiville / mongoshell.js
Created March 26, 2015 19:42
M101J-HW2.2 - using yet-to-be-taught aggregation framework
var cursor = db.grades.aggregate([{$group: {_id: "$student_id", minScore: {$min:"$score"}}}]);
while (cursor.hasNext()) {
var doc = cursor.next();
db.grades.remove({student_id: doc["_id"], score: doc["minScore"]});
}
package fr.devoxx.niveau2.exo1.etape2;
import java.util.List;
import javax.annotation.Nonnull;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
import javax.lang.model.util.Elements;
import javax.lang.model.util.Types;
/**
@fbiville
fbiville / DeepExplorer.java
Created March 17, 2015 21:35
Level 2 / exo 2
package fr.devoxx.niveau2.exo2.etape3;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.lang.model.element.Element;
import javax.lang.model.element.ExecutableElement;
import javax.lang.model.element.TypeElement;
import javax.lang.model.util.ElementFilter;
import javax.lang.model.util.Elements;
@fbiville
fbiville / SpringRunnerDYI.java
Last active August 29, 2015 14:15
SpringJUnitRunner
new TestContextManager(getClass()).prepareTestInstance(this);
main :: IO ()
main = print $ maximum_path_sum [[75],[95,64],[17,47,82],[18,35,87,10],[20,4,82,47,65],[19,1,23,75,3,34],[88,2,77,73,7,63,67],[99,65,4,28,6,16,70,92],[41,41,26,56,83,40,80,70,33],[41,48,72,33,47,32,37,16,94,29],[53,71,44,65,25,43,91,52,97,51,14],[70,11,33,28,77,73,17,78,39,68,17,57],[91,71,52,38,17,14,91,43,58,50,27,29,48],[63,66,4,68,89,53,67,30,73,16,69,87,40,31],[4,62,98,27,23,9,70,98,73,93,38,53,60,4,23]]
maximum_path_sum :: [[Int]] -> Int
maximum_path_sum = sum . (maximum_path [] (0,0))
maximum_path :: [Int] -> (Int,Int) -> [[Int]] -> [Int]
maximum_path acc i@(x,y) paths
| x == (length paths)-1 = acc'
| otherwise = maximum_path acc' i' paths
main :: IO ()
main = print $ countLetters [1..1000]
countLetters :: [Int] -> Int
countLetters = sum . (map (length . translate))
translate :: Int -> String
translate 0 = ""
translate 1 = "one"
translate 2 = "two"
import Data.Char
sum $ map digitToInt $ show (2^1000)