Skip to content

Instantly share code, notes, and snippets.

View NikitaKozlov's full-sized avatar

Nikita Kozlov NikitaKozlov

View GitHub Profile
{
"contractVersion": 1,
"layout": {
"type": "vertical_list",
"content": [
{
"type": "top_sights",
"title": "Top sights near Eiffel Tower",
"content": [
{
@NikitaKozlov
NikitaKozlov / location-banners-v1.json
Last active May 12, 2022 10:00
SDUI location banners with no tracking
{
"contractVersion": 1,
"layout": {
"type": "vertical_list",
"content": [
{
"type": "location_banner",
"title": "Paris",
"button_text": "See all 731 tickets & tours",
"image_url": "https://cdn.getyourguide.com/img/tour/5f367de9d9c98.jpeg/145.jpg",
class ItemRepository(val backendApi: BackendApi, val cache: ItemCache) {
fun getOrderedItemIds(pageNumber: Int) = backendApi.getItemIds(pageNumber)
fun getItemsByIds(itemIds: List<ItemId>): List<Item> {
val cachedItems = getCachedItems(itemIds)
val notCachedItemIds = getItemIdsNotRepresentedInCache(itemIds)
val newlyRequestedItems = requestItemsById(notCachedItemIds)
return merge(itemIds, cachedItems, newlyRequestedItems)
}
inputStream.groupBy(Event::getItemId)
.subscribe(substream ->
substream.onBackpressureLatest()
.subscribe(new Subscriber<Event>() {
public void onNext(Event event) {
if (shouldSkipEvent(event)) {
outputStream.onNext(Response.createSkippedResponse());
request(1);
} else {
saveLastLaunchedEvent(event);
@NikitaKozlov
NikitaKozlov / generator.py
Last active October 17, 2021 15:20
Simple Java class generator
import sys, os, shutil
def generateClass(directory, classNumber, methodsPerClass, mainPackage):
className = "Foo" + str(classNumber)
filePath = os.path.join(directory, className + ".java")
with open(filePath,"w+") as f:
f.write("package " + mainPackage + "." + directory + ";\n")
f.write("public class " + className + " {\n")
for i in xrange(0, methodsPerClass):
f.write("public void foo" + str(i) + "(){\n")