У каждого из нас есть традиции. У меня, например, раз в год перебирать закладки в браузере и избранное на других сайтах. Что-то становится не актуальным, что-то я и так выучиваю за год. Вот и сейчас подошла пора навести порядок в избранном Хабра. На момент начала чистки там 598 статей - довольно большая колекция на самые разные темы: и как работать с картинкам в CSS, и немного функциональщины, и для умного дома рецептики… А чтобы ничего не потерять, я решил выгрузить все статьи в pdf и выложить в общий доступ.
Хочу рассказать о проекте, который развивал последние пару лет. Называется он GeoPuzzle и представляет собой игру-паззл на политической карте мира. Цель - расставить кусочки-страны на свои места. Идея подсмотрена в статье “Головоломка Mercator для знатоков географии”, также в детстве играл в тетрис из стран (ещё под DOS), но название программы уже не припомню. Я был настолько вдохновлён идеей, что захотел сделать полноценный продукт, интересный не только школьникам, но и знатокам географии.
Сегодня хотел бы поговорить о поисках информации в интернете. Так уж сложилось, что я интересуюсь довольно большим кругом тем в области программирования. Самый лучший на мой взгляд способ получения информации - подписка на блоги, сайты и прочие интересные RSS. К сожалению, Google Reader умер (вернее, его убили), так что пришлось переехать на аналоги - Feedly тут делать - заодно почистил ленту. Итак, мои подписки:
Блоги 🔗 Хабрахабр🇷🇺 - в пояснении не нуждается :) Дайджест новостей о python🇺🇸🇷🇺- новости в мире python: выход новых версий библиотек, статьи и пр.
Зачем мне это? 🔗Ну куда ж в наше время без CI/CD - пришлось настраивать. Чтобы пуш в мастер обновлял прод, чтобы тесты прогонялись, и вообще спокойно жилось… У меня open source проект, ничего ставить на свои виртуалки я не хочу, так что подходили как минимум 2 сторонних сервиса: TravisCI и CircleCI. С первым я уже знакомился в рамках автоматического тестирования своей библиотеки для работы с Yandex.Disk, так что почему бы не попробовать другой для сравнения?
В предыдущей статье мы разобрали основы Elasticsearch: индексы, маппинги и анализаторы. В этой же я хочу углубиться в тему построения запросов. У Elasticsearch свой собственный DSL, который может показаться непривычным, но по своей гибкости не уступает всем знакомому SQL. Набор данных, над которым я буду приводить примеры, можно взять здесь: Набор данных POST /twitter/tweet/_bulk {"index": {"_id": 1}} {"subject": "Первая запись в твиттер", "geotag": "Краснодар", "hashtags": ["твит", "новости", "Краснодар"], "published": "2014-09-12T20:44:42+00:00"} {"index": {"_id": 2}} {"subject": "Первая запись в Геленджике", "geotag": "Геленджик", "hashtags": ["твит", "море", "Геленджик"], "published": "2014-09-13T20:44:42+00:00"} {"index": {"_id": 3}} {"subject": "Солнечный Краснодар", "geotag": "Краснодар", "hashtags": ["Краснодар"], "published": "2014-09-11T20:44:42+00:00"} {"index": {"_id": 4}} {"subject": "Солнечный Геленджик", "geotag": "Геленджик", "hashtags": ["Геленджик"], "published": "2014-09-11T10:44:42+00:00"} PUT /twitter/retweet/1?
Отсутствие опыта работы с Elasticsearch всегда считал своим слабым местом. Эту NoSQL БД используют для хранения логов, анализа информации и, самое главное, поиска. Собственно, она и представляет собой поисковый движок на базе Apache Lucene по json документам. Ну, плюс, конечно же, шардирование и репликация из коробки, настройки которых я пока касаться не буду.
Видео доклада 🔗На базе этой статьи был подготовлен доклад на Krasnodar Backend: Meetup #2. Возможно, кому-то такая подача материала ближе, так что добавлю видео и слайды.
Так уж вышло, что мой Nexus 5X внезапно ушёл в циклическую перезагрузку, и мне пришлось отдать его в ремонт. После диагностики выяснилось, что виноват контроллер питания, и работы займут около недели. Я решил поэкспериментировать и на какое-то время остаться без телефона, и тут выяснилась страшная правда.
Без телефона вы беспомощны 🔗Он настолько сильно влился в нашу жизнь, что мы его уже не замечаем - а зря.
Вы лишаетесь доступа к информации - посмотреть погоду или пробки становится невозможным.
слайды
Всем привет! Меня зовут Тыщенко Виктор, я backend team-lead в компании 3d4medical. Вижу, тут собралось много людей, любящих решать задачи и интересующихся чем-то новым. У каждого из нас есть свои способы, свои проверенные инструменты и, в конце концов, любимые языки программирования. Я же хочу рассказать о своём, который помогает сосредоточиться на задаче, а не заставляет бороться с компилятором и вспоминать какие-то низкоуровневые конструкции.
Python 🔗Что за зверь? Первая его версия вышла более 20 лет назад, причём написал его человек, получивший образование именно в сфере разработки языков программирования.
Где я? 🔗Вы попали в берлогу, где любят компьютеры, сети, ОС и программирование во всех его проявлениях. Здесь собраны материалы по самым разным областям.
Кто здесь? 🔗Здесь обитает программист. На входе кофе и пицца, на выходе код, причём качество второго напрямую зависит от качества первого. Итак, пописывает он себе программки да сайтики. Что из этого выходит можно посмотреть в разделе проектов. Пишется на всём, что под руку попадётся — от asm до python, не гнушаясь php, erlang, java…
Geo!Puzzle 🔗 Игра для изучения политической карты мира. Необходимо перетащить контуры стран на свои места. Прям как в детстве мы собирали паззлы кусочек за кусочком, так и здесь карта мира складывается из множества государств.
YaDiskClient 🔗Python-библиотека для работы с Yandex.Disk, которую я хотел сделать максимально простой. Описана в статье Python API для Яндекс.Диск (а исходники на github), общение идёт по протоколу WebDAV.
AWS doc 🔗За годы работы с AWS у меня накопилась некоторая экспертиза в этой области, и я был очень удивлен, когда не нашёл хоть какой-то документации на русском языке, кроме официальной.