56,966 blogs · [ { "id": "01a08c65-6d9f-7300-bd9d-d8f75cf71602", "title": "The Asynchronous Software Factory", "url": "https://yefremov.net/blog/the-asynchronous-software-factory/", "published_at": "2026-05-30T00:00:00+00:00" }, { "id": "01a08c65-6d9f-7300-bd9d-d8f75d191ff8", "title": "How not to use mocks", "url": "https://yefremov.net/blog/how-not-use-mocks/", "published_at": "2016-04-16T00:00:00+00:00" }, { "id": "01a08c65-6d9f-7300-bd9d-d8f75e044e9c", "title": "Writing faster functional tests for Play applications", "url": "https://yefremov.net/blog/fast-functional-tests-play/", "published_at": "2015-10-24T00:00:00+00:00" }, { "id": "01a08c65-6d9f-7300-bd9d-d8f75e0bf4e3", "title": "Batch API for Play", "url": "https://yefremov.net/blog/play-batch-api/", "published_at": "2015-03-15T00:00:00+00:00" }, { "id": "01a08c65-6d9f-7300-bd9d-d8f75e92d87a", "title": "3 approaches to Scala code generation", "url": "https://yefremov.net/blog/scala-code-generation/", "published_at": "2015-01-02T00:00:00+00:00" }, { "id": "01a08c65-6d9f-7300-bd9d-d8f75f3896bf", "title": "Debugging Scala compiler’s magic", "url": "https://yefremov.net/blog/debugging-scala-compiler-magic/", "published_at": "2014-11-13T00:00:00+00:00" }, { "id": "01a08c65-6d9f-7300-bd9d-d8f75f4dd069", "title": "Sharing reverse router across multiple Play projects", "url": "https://yefremov.net/blog/play-shared-routes/", "published_at": "2014-11-03T00:00:00+00:00" }, { "id": "01a08c65-6d9f-7300-bd9d-d8f75fed3a06", "title": "Retrieving Scala enumeration constants by name", "url": "https://yefremov.net/blog/scala-enum-by-name/", "published_at": "2014-10-29T00:00:00+00:00" }, { "id": "01a08c65-6d9f-7300-bd9d-d8f7607d4184", "title": "Blog like a hacker", "url": "https://yefremov.net/blog/blog-like-a-hacker/", "published_at": "2014-10-28T00:00:00+00:00" } ] posts Claim your blog
Back to yefremov.net
Blog · corpus.blog/blogs/yefremov.net/posts

yefremov.net

yefremov.net

2026

2016

2015

2014