Все снимки из статьи были сняты в условиях города и на доступную недорогую фототехнику.
Фотографируем небесные явления и астропейзажи в городе
Все снимки из статьи были сняты в условиях города и на доступную недорогую фототехнику.
User
Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".
В этой лекции мы узнаем, что такое план выполнения запроса, как и зачем его читать (и почему это совсем непросто), и о каких проблемах с производительностью базы он может сигнализировать. Разберем, что такое Seq Scan
, Bitmap Heap Scan
, Index Scan
и почему Index Only Scan
бывает нехорош, чем отличается Materialize
от Memoize
, а Gather Merge
от "просто" Gather
.
Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись (часть 1, часть 2).
Всем привет. Меня зовут Даниил, я работаю разработчиком программного обеспечения.
Год назад мы с друзьями решили изучить 3d печать и начать зарабатывать на этом деньги. На самом деле у нас был опыт работы с FDM 3d печатью. На прошлом месте работы нас заставили разобраться с каким-то ширпотребным принтером с алиекспресс.
Мы продумали план действий, разные способы сбыта товара и на кровные средства заказали себе принтеры.
Изучив существующие методы 3d печати, выбрали самые простые и бюджетные, а именно FDM(струйная 3d печать пластиковым прутком - филаментом) и SLA(фотополимерная печать смолой). Наших средств хватало на два б/у принтера и мы начали выбирать что можно взять и читать отзывы. Наш взор упал на медведей (Flyingbear ghost), так как у них стол двигается не вперед-назад, а вверх-вниз. Мы посчитали что это оптимальнее и проще.
И вот, скачав бесплатную версию книги, я в который раз убедился, что как оно было этак 40-50 лет тому назад, так оно фактически и осталось. Но больше убило другое. В научном плане стало даже хуже. Теорию, судя по содержанию книги, нынче пролетают "по диагонали", что влечет за собой элементарные ошибки, характерные больше для студентов техникума, чем "вышки", на которых, судя по рекламе, эта книга рассчитана.
Нижеследующий разбор примеров из книги, надеюсь, это подтвердит. Но, если в чем-то я не прав, то, как говаривали когда-то, старшие товарищи меня поправят.
Итак, начнем...
Всем привет! Возможно уже совсем скоро разные новостные и IT-ресурсы будут подчищать информацию о способах обхода блокировок. А пока этого не случилось, запасаемся полезными гайдами и разворачиваем свои собственные VPN с защищенными от блокировок протоколами. Расскажу как это сделать, как изменилась Amnezia и как мы защитили WireGuard от блокировок.
Да кому нужна эта обычная скучная соль? Превращаем мелкие белые крупинки в потрясающие пирамидальные кристаллы в домашних условиях.
Система автоматизации обычно работает автономно без участия пользователя, но единая точка контроля и управления системой всё равно нужна: вмешаться в работу автоматических алгоритмов, внести изменения в параметры или просто проверить, что система работает верно.
В комплекте с контроллером Wiren Board идёт программное обеспечение, которое позволяет закрыть большинство задач построения и эксплуатации системы автоматизации: графические и текстовые панели, архив данных с графиками, драйверы для устройств, скрипты wb-rules.
В статье мы сделаем панель графическую управления автоматизацией двухкомнатной квартиры, где есть: кухня, коридор, санузел, спальня и зал.
Самый распространенный способ объяснить монаду - зайти через теорию категорий. Знать, что монада - это моноид в категории эндофункторов и увлекательно и полезно для общего развития, но слабо помогает в практическом смысле. Второй, равный по популярности прием - прибегнуть к помощи образов, и вот мы уже складываем значения в коробочки и достаем их оттуда (или, вообще кошмар, катимся по железной дороге). Не спорю, образы - хороший способ посмотреть на явление, но тут мы равно удалились и от теории категорий и от практики.
Автор, подобно лектору по математике, у которого вылетело из головы доказательство теоремы и он доказал ее прямо у доски, ориентируясь на интуитивное представление, как бы хотелось решить задачу, постепенно пробирается от корявого куска кода к лаконичному.
Несколько дней назад я закончил последнюю главу саги Made at Intel. Напоследок хочу поделиться с вами несколькими мыслями, посетившими меня по ходу ее написания. Они обращены в прошлое, настоящее и немного в будущее.
За время работы в поддержке GlowByte я познала навыки технического менеджмента. Это касается как Agile-проектов, так и support. Были периоды, когда в моей работе преобладало больше менеджерских задач, чем технических: нужно было проводить онбординг проекта, решать критические ситуации заказчика, выстраивать процессы эффективной коммуникации, ходить на 8 встреч в день и т. д. И я была рада получить такой опыт. Поэтому хочу рассказать историю про повышение soft-скилов.
Привет, Хабр! Меня зовут Сергей Ребров, я работаю в команде машинного обучения в МТС. У меня две дочки, которых стараюсь знакомить с миром разработки, поэтому решил написать статью про обучение азам программирования детей и подростков. Есть личные кейсы, есть информация к размышлению, описываю и полезные, на мой взгляд, инструменты. Если для вас эта тема интересна - прошу под кат!
Всем привет, меня зовут Полина, я техлид команды, занимающейся проектом электронного документооборота в среднего размера продуктовой компании. В этой статье я расскажу как мы обнаружили в привычном инструменте мониторинга ошибок - Sentry - распределенную трассировку и опробовали ее для своих задач. Примеры в статье приведены для конкретного стека, это python3 и FastAPI, храним мы данные в MongoDB, используем RabbitMQ.
Статья будет полезна скорее для тех, кто уже использует Sentry, водится с микросервисами, но еще не пришел к распределенной трассировке, и скорее для небольших, средних или только начинающихся проектов.
Разбираемся, зачем экранам 500 Гц, почему телевизор не монитор, за сколько часов выгорит OLED и как вообще это всё работает.
Так исторически сложилось, что последние 5 лет своей продуктовой разработки я работаю с микросервисами вокруг брокеров сообщений (преимущественно RabbitMQ и Kafka).
И все это время меня не покидало чувство некой неудовлетворенности и неполноценности инструментария, который был мне доступен.
Приходя из мира HTTP фреймворков ты чувствуешь себя как будто на костылях - ни тебе hotreload'а, который есть практически в любом wsgi-asgi сервере, хочешь тестировать - поднимай контейнеры окружения или мокай зависимости (особенно удобно в CI, ага), не забудь о реконнектах, логировании, трассировке и тд и тп.
И вот, таская от сервиса к сервису ворох всех этих проблем (и код который эти проблемы решает), до меня дошла гениальная идея: оформить весь однотипный код, общий для всех сервисов в единый пакет!
Так появился на свет фреймворк Propan.
Привет! Меня зовут Андрей Шмиг, я основатель и разработчик платформы DataHub — Crowd Data Sourcing at Hand, своего рода GitHub для данных. В этой статье покажу, каким образом можно монетизировать имеющиеся у вас структурированные и неструктурированные данные будь вы разработчик, data‑scientist или ML‑специалист.
В первой статье «Облачный умный дом: что нужно знать, чтобы избежать проблем» я рассмотрел преимущества и недостатки облачных решений, а также проблемы, с которыми за последние месяцы пришлось столкнуться пользователям разных облаков. Но довольно теории, переходим к практике.
Я купил несколько устройств Aqara, которые помогут мне сделать несколько типичных сценариев умного дома. Сперва я подключу устройства к родному облаку Aqara: проверю удобство, создание сценариев и работу без интернета.
Затем я откажусь от облака Aqara и перейду на локальное решение Wiren Board 7 с модулем расширенияSprut.stick ZigBee WBE2R-R-ZIGBEE-SH, оболочкой Sprut.hub и Алисой. Сравню результат и процесс с родным облаком.
В одной из предыдущих статей я описал Push-based Outbox Pattern (шаблон исходящих сообщений на основе push с логической репликацией Postgres). Идея заключается в том, чтобы сохранить исходящее сообщение (например, событие) в той же транзакции базы данных вместе с изменением состояния. Благодаря этому мы гарантируем, что сообщение не будет потеряно, а наш бизнес-процесс будет продолжаться и станет согласованным.
Postgres может помочь и проинформировать нас, когда добавляется новое сообщение. Мы можем использовать встроенный механизм журнала упреждающей записи (WAL, Write-Ahead Log) вместе с логической репликацией.
В начале года я решил поменять работу и начал готовиться к собеседованиям. Понял, что мне нужно подтягивать английский, так как после звонка с hr меня бросало в холодный пот. В конце подготовки, я уже спокойно проходил собеседования на английском языке. В статье будут: план подготовки, виды упражнений, инструменты, которыми пользовался.