Рецензия на книгу "Пиши, сокращай", или как же уважать читателя?

Тема выражения своих мыслей, их структурирования и умение донести идею сейчас очень актуальна для меня. Порой мне кажется, что это даже важнее, чем способность писать код. Так что когда несколько человек примерно в одно и то же время посоветовали мне “Пиши, сокращай”, я сразу пошёл в Читай-город (не реклама, в других магазинах можно найти дешевле). Немного об издании 🔗Книга выполнена отлично! Приятная на ощупь плотная бумага, чёткая печать, яркие иллюстрации (за комикс с девушкой отдельное спасибо!

Мультитенантность на примере DjangoORM и PostgreSQL

слайды Что такое SaaS и тенант? 🔗Sofware as a Service (SaaS) - модель реализации вашего приложения, когда вы предоставляете свой продукт разным клиентам практически не меняя его. Например, есть у вас CRM, и вы подключаете в неё нескольких клиентов, разнося их по поддоменам: mvideo.crm.ru, dns.crm.ru, eldorado.crm.ru… Код процентов на 90% совпадает, различаются лишь стили и третьестепенная бизнес-логика. Каждый клиент в этом случае завётся тенантом. А чтобы чуть упростить вашу жизнь как разработчика, познакомлю с такой классной вещью как мультитенантность на примере DjangoORM и PostgreSQL.

Первый python митап в Краснодаре

Список докладов: Влад Токарев: “Itertools и функциональный python”. Видео Презентация Дмитрий Жерлицын: “Опциональная статическая типизация в Python 3”. Видео Презентация Виктор Тыщенко: “Реализация мультитенантности на примере Django и Postgres”. Видео Презентация Фото в группе в Vk и facebook

Мои Хабразакладки

У каждого из нас есть традиции. У меня, например, раз в год перебирать закладки в браузере и избранное на других сайтах. Что-то становится не актуальным, что-то я и так выучиваю за год. Вот и сейчас подошла пора навести порядок в избранном Хабра. На момент начала чистки там 598 статей - довольно большая колекция на самые разные темы: и как работать с картинкам в CSS, и немного функциональщины, и для умного дома рецептики… А чтобы ничего не потерять, я решил выгрузить все статьи в pdf и выложить в общий доступ.

GeoPuzzle — собери мир по кусочкам

Хочу рассказать о проекте, который развивал последние пару лет. Называется он GeoPuzzle и представляет собой игру-паззл на политической карте мира. Цель - расставить кусочки-страны на свои места. Идея подсмотрена в статье “Головоломка Mercator для знатоков географии”, также в детстве играл в тетрис из стран (ещё под DOS), но название программы уже не припомню. Я был настолько вдохновлён идеей, что захотел сделать полноценный продукт, интересный не только школьникам, но и знатокам географии.

Мои подписки

Сегодня хотел бы поговорить о поисках информации в интернете. Так уж сложилось, что я интересуюсь довольно большим кругом тем в области программирования. Самый лучший на мой взгляд способ получения информации - подписка на блоги, сайты и прочие интересные RSS. К сожалению, Google Reader умер (вернее, его убили), так что пришлось переехать на аналоги - Feedly тут делать - заодно почистил ленту. Итак, мои подписки: Блоги 🔗 Хабрахабр🇷🇺 - в пояснении не нуждается :) Дайджест новостей о python🇺🇸🇷🇺- новости в мире python: выход новых версий библиотек, статьи и пр.

Подключение CI/CD к Django/React на примере CircleCI

Зачем мне это? 🔗Ну куда ж в наше время без 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 внезапно ушёл в циклическую перезагрузку, и мне пришлось отдать его в ремонт. После диагностики выяснилось, что виноват контроллер питания, и работы займут около недели. Я решил поэкспериментировать и на какое-то время остаться без телефона, и тут выяснилась страшная правда. Без телефона вы беспомощны 🔗Он настолько сильно влился в нашу жизнь, что мы его уже не замечаем - а зря. Вы лишаетесь доступа к информации - посмотреть погоду или пробки становится невозможным.