Search
Write a publication
Pull to refresh
126
0
Алексей @Sterhel

User

Send message

Как я нахожу парковочное место за 5 секунд

Reading time5 min
Views116K

Большой размер придомовой парковки не гарантирует, что вы легко и быстро найдете парковочное место, а чаще даже наоборот, при заезде на парковку может начаться приступ депрессии от того, что объехал парковку, потратил время, но в итоге место не нашёл. Как можно добавить в жизни чуть-чуть больше определённости, я опишу ниже.

Читать далее

Превращаем старый телефон на Android в веб-сервер

Reading time4 min
Views51K

Есть ли у вас старый телефон на Android? Наверняка есть! В мире накопилось безумное количество всевозможного электронного мусора, и в среднем гражданин развитой страны меняет телефон каждую пару лет, поэтому старые телефоны, вероятно, один из самых распространённых видов электронных отходов.

У меня залежался собиравший пыль старый Motorola G5 Cedric, поэтому я решил сделать с ним что-нибудь, и теперь на нём работает веб-сервер Puma с простым веб-приложением на Sinatra.

Читать далее

Старые протоколы, которыми можно пользоваться и сегодня

Reading time13 min
Views15K
Устали от тяжёлых веб-страниц, всплывающих окон, мерцающих баннеров, N-факторной аутентификации, слежки за пользователями и аналитики? Тогда вы можете попробовать поработать с протоколами, которые не менялись последние тридцать лет.


Примерно тридцать лет назад люди видели онлайн-страницы так.
Читать дальше →

Как работает видеоаналитика Билайн

Reading time4 min
Views3.5K

Вся видеоаналитика строится на основе видеонаблюдения. 

Видеонаблюдение - передача видеоизображения, а аналитика - его обработка и создание некоторых автоматизированных выводов по определенному алгоритму. Если раньше стояли большие аналоговые камеры, все записи с которых шли на сервер и на пульт условного охранника, который должен был следить за всем, то сейчас все идет к установке IP-камер и хранения всех записей в облаке, что мы и предлагаем.

Читать далее

Механический ручной калькулятор, изобретённый узником концлагеря

Reading time7 min
Views21K

Размером не больше стакана, легко помещается в ладонь. Внешне напоминает мельницу для перца... или ручную гранату.

Крошечный Curta - потрясающая машина, механический калькулятор, сочетающий в себе сложность парового двигателя и прецизионную точность качественных карманных часов. Он появился в 1948 году, и на протяжении двух следующих десятилетий, пока его не заменил электронный калькулятор, он был лучшим портативным калькулятором на Земле. А его история ещё более интригует в свете необычных обстоятельств, в которых он был изобретён.

Идея Curta пришла к его австрийскому изобретателю в темноте концентрационного лагеря Бухенвальд.

Читать далее

Как мы придумали и запустили площадку для лидеров продукта «PL Lean Coffee»

Reading time3 min
Views981

Всем привет! Меня зовут Наталья Карпежникова, я работаю в ИТ с 2012 года, была и аналитиком, и тестировщиком, и проджектом, и лидером продукта. А сейчас в Спортмастер Лаб я все еще лидирую продукт, но большую часть времени занимаюсь развитием сообщества лидеров продуктов.

Зачем я все это пишу.

Я много общаюсь с интересными экспертами в своих областях, и каждый раз меня преследует такая мысль — «нас так мало на этой встрече, а у этого человека такой ценный опыт, вот бы он им со всеми как-то делился».

Для лидеров продуктов, так как это управленцы и самоорганизованные ребята, вопрос обмена опытом и знаниями в процессе развития и роста становится очень важным и непростым. Часто каждый по отдельности решает одну и ту же задачу и дублирует то, что другие уже давно сделали и внедрили. В этот момент развития организация нуждается в площадках обмена опытом внутри. Про одну из таких площадок и экспериментов я и расскажу.

Читать далее

Обзор смартфона Google Pixel 6: авангард мобильной фотографии

Reading time22 min
Views65K

Сегодня я хочу представить вашему вниманию подробный пользовательский обзор смартфона Google Pixel 6, но прежде чем перейдем к самому девайсу — небольшое предисловие.

Смартфоны от Google никогда не были мейнстримом, год за годом проигрывая лидерство таким гигантам, как Apple или Samsung. Все, кто хотели статусный аппарат — брали iPhone, тем более, что и по технической части у него всегда все в полном порядке. Кто хотел технологичное современное устройство с инновациями — обращались к флагманским смартфонам Samsung. И первые и вторые, неплохо справлялись и с другой важной и затребованной функцией — мобильной фотографией. Но есть одно но. Флагманские Samsung, не говоря уже за iPhone стоят немалых денег...

Google Pixel в противовес позиционируется как более доступный и сбалансированный аппарат с упором на камеру. Т.е производительность и технологичность у моделей Pixel отведена на второстепенные планы. Компоненты подбирались таким образом, чтобы покупатель не переплачивал за лишние функции, например избыточно мощный процессор, который съедает весомую часть конечной стоимости смартфона. При этом главный упор всегда делается на камеру. Даже название Pixel говорит само за себя. Особая роль была отведена программному обеспечению, а конкретней — настройкам и алгоритмам при обработке снимков для улучшения их качества, в том числе и с использованием искусственного интеллекта. Это то, что сейчас принято называть вычислительная фотография. В итоге качество снимков сделанных смартфонами Google Pixel  на голову превосходит конкурентов с такими же камерами. Все поголовно начали портировать и пытаться использовать приложение камеры Google Cam на другие смартфоны от Samsung, Xiaomi и т.д. Только чаще всего оно все равно работает косо, криво и с ошибками. Обмануть судьбу, купив дешевый Redmi и накатив на него GCAM — не выйдет.

Читать далее

Динамический импорт модулей в Python

Reading time3 min
Views8.9K

Давайте представим ситуацию, когда вам нужно установить на все виртуальные машины (агенты сервера сборки) определенный пакет Python. Но вы не можете изменить образ агента, а загрузка, к примеру из pypi.org или github.com непроверенных пакетов, ограничена. Как тут не вспомнить последние новости про вредоносные изменения в пакете nmp или более свежую информацию про PyPi.

Python использует подход под названием EAFP — Easier to ask for forgiveness, than permission (легче попросить прощения, чем разрешения). Это значит, что проще предположить, что что-то существует (к примеру, словарь в словаре, или в нашем случае модуль в системе) или получить ошибку в противном случае.

Этот подход, развитый в PEP-0302, позволяет делать хук импорта модулей, что в итоге приводит нас к возможности написания следующего кода:

Читать далее

Как мы в СИБУРе делаем дашборды для людей. Часть 4: наблюдай и властвуй (ремонтом и техобслуживанием)

Reading time6 min
Views5.5K

Привет! В рамках нашего цикла постов про дашборды в СИБУРе и их практическую пользу для компании не смогли обойти стороной M2F – это обслуживание и ремонты, туда входит множество метрик из различных направлений бизнеса. Это могут быть метрики, которые показывают загруженность ремонтного персонала на предприятии или метрики затрат, например, «Поддержание основных фондов», а также имеется большой блок «Надежность».

В общем и целом, это широкий спектр метрик, выделенных в качестве наиболее приоритетных, с точки зрения влияния на бизнес. Анализ этих метрик помогает бизнесу наиболее эффективно управлять имеющимися ресурсами, а также «подсвечивать» проблемы в самом бизнес-процессе. 

Чуть не забыл представиться! Меня зовут Миша Делендик, и я как раз отвечаю в СИБУРе за разработку дашбордов по сквозным процессам M2F. В этом материале подробнее расскажу о том, как мы анализируем различные части процесса, чтобы оборудование работало без, кхм, нештатных ситуаций. 

Читать далее

Принципы юнит-тестирования. Часть вторая

Reading time9 min
Views10K

Привет! А вот и вторая часть поста про принципы юнит-тестирования. Если в первой мы обсудили влияние тестов на разрабатываемые продукты и познакомились с теорией юнит-тестирования, то в этой обсудим некоторые практические моменты. Внутри поста — структура юнит-тестов, стили юнит-тестов, принципы рефакторинга, полезные советы для того, чтобы ваши юнит-тесты были эффективными и читаемыми, а также некоторые антипаттерны при написании тестов.

Ну и, конечно же, список источников, где можно получить дополнительную полезную информацию. В общем, начнём.

Структура юнит-тестов

В нашей команде при написании юнит-тестов мы стараемся использовать подход AAA — Arrange, Act, Assert (Подготовка, Действие, Проверка).

Кратко расскажу о нем. Тест делится на три блока, которые идут друг за другом. Ширина блоков на рисунке выше образно отражает объём кода, который должен занимать каждый из блоков.

Читать далее

Меня «заказал» инфоцыганский авторитет: как мой Телеграм-канал пытаются уничтожить люди, которым я перешел дорогу

Reading time10 min
Views68K

Я написал популярную статью с разоблачением финансового инфоцыгана, который выдавал себя за бывшего советника Набиуллиной. После этого моему каналу объявили настоящую войну: десятки тысяч ботов устраивают бесчинство в комментариях, а самому блогу пытаются создать репутацию «токсичного». Делюсь своим опытом: что делать в такой ситуации, и как защитить свой Телеграм-канал.

Читать далее

Лучшие книги по Python 2021-2022 года: для новичков и профи

Reading time6 min
Views235K

Привет, Хабр! Поговорим о книгах?

Есть мнение, что люди начали читать меньше и всё чаще многие потребляют уже готовый контент в виде роликов на YouTube или сокращённых вариантов различных произведений. Но это вряд ли, ведь если бы люди не читали книги, могли бы тогда развиваться отечественные и зарубежные сервисы для любителей чтения? К примеру, LitRes, Bookmate и другие. 

И да, в IT-команде Сбера много книголюбов с самыми разными предпочтениями. А поскольку мы на Хабре, то поговорим сегодня о технической литературе. Точнее, о Python и лучших книгах по этому языку для профи, программистов среднего уровня и начинающих. Подборка  ― уже под катом.

Читать далее

Найти работу. Продуктовый подход

Reading time6 min
Views3.9K

Привет. Меня зовут Костя, и я отвечаю за дизайн в Агиме. Больше 9 лет я нанимаю дизайнеров. И сам, конечно, много раз искал работу в прошлом.

Меня все время забавляет, что мы, дизайнеры, это классические сапожники без сапог. Имея навыки повышения конверсий и достижения целей, мы тупо шлем портфолио, сделанное на коленке. Хотя у нас весь набор навыков, необходимых для продажи чего-нибудь кому-нибудь. Метод персон и JTBD, воронки продаж, эмпатия, исследования, кастдев и всякие другие слова.

Читать далее

PostgreSQL Antipatterns: где скаляру в GiST место?

Reading time3 min
Views3.4K

В PostgreSQL есть "волшебный" тип индекса GiST, который позволяет быстро искать разные сложные вещи - от интервалов до массивов и даже реализовывать полнотекстовый поиск.

Про его внутреннее устройство и возможности подробно рассказывал Егор Рогов, а я в статье "PostgreSQL Antipatterns: работаем с отрезками в «кровавом энтерпрайзе»" показал, как с помощью расширения btree_gist он позволяет решать типовые бизнес-задачи.

Одной из таких задач является поиск отрезков внутри сегмента со скалярным идентификатором. И если для btree очевидно, что поле с меньшей кардинальностью должно стоять в индексе раньше - индекс от этого и меньше и быстрее (см. "DBA: находим бесполезные индексы"), то так ли это однозначно для btree_gist?

Читать далее

ТОП-3 ИБ-событий недели по версии Jet CSIRT

Reading time1 min
Views911

ТОП-3 ИБ-событий недели по версии Jet CSIRT

Сегодня в ТОП-3 — Luca Stealer, который может похищать данные из браузеров, отчет «Лаборатории Касперского» о работе руткита CosmicStrand, уязвимости в FileWave (MDM). Новости собирала Алла Крджоян, младший аналитик центра мониторинга и реагирования на инциденты ИБ Jet CSIRT компании «Инфосистемы Джет».

 Подробнее читайте под катом.

Читать далее

Как реализовать магию Sqoop для загрузки данных через Spark

Reading time29 min
Views3.2K

Очень часто приходится слышать, что Sqoop — это серебряная пуля для загрузки данных большого объёма с реляционных БД в Hadoop, особенно с Oracle, и Spark-ом невозможно достигнуть такой производительности. При этом приводят аргументы, что sqoop — это инструмент, заточенный под загрузку, а Spark предназначен для обработки данных.

Меня зовут Максим Петров, я руководитель департамента "Чаптер инженеров данных и разработчиков", и я решил написать инструкцию о том, как правильно и быстро загружать данные Spark, основываясь на принципах загрузки Sqoop.

Первичное сравнение технологий

В нашем примере будем рассматривать загрузку данных из таблиц OracleDB.

Рассмотрим случай, когда нам необходимо полностью перегрузить таблицу/партицию на кластер Hadoop c созданием метаданных hive.

Читать далее

Яндекс выложил в опенсорс бету фреймворка userver

Reading time10 min
Views80K
Сегодня мы анонсируем выход в опенсорс фреймворка userver для создания высоконагруженных приложений. Для нас это важный способ поделиться опытом в разработке микросервисов, который мы накопили. Вот ссылка на Гитхаб-репозиторий c исходным кодом, документацией, примерами, шаблоном для создания своих сервисов (с настроенным CI, сборкой и тестовым окружением) и сервисом динамических конфигов. Всё это опубликовано под лицензией Apache 2.0.



🐙userver позволяет быстро создавать эффективные микросервисы на языке C++ и уже много лет активно используется в Яндекс Go, Еде, Лавке, Доставке, Маркете, финтехе и других проектах. Вот из каких требований мы исходили в процессе разработки:

  • Простота. Стажёр или студент, приходя к нам, может уже через неделю написать и отправить в продакшен новый микросервис.
  • Надёжность. Многие ошибки, в том числе и связанные с многопоточностью, можно поймать на этапе компиляции. Кроме того, фреймворк даёт подсказки по исправлению проблем.
  • Полнота. В userver есть всё необходимое для тестирования, работы с разными базами данных, кеширования, логирования, трейсинга, распределённых блокировок, работы с JSON, BSON, YAML, изменения параметров сервиса на лету и так далее.

Сейчас я расскажу о том, как возникла идея userver, как фреймворк развивался, в каких задачах его сейчас используют и почему именно выход в опенсорс был логичным следующим шагом. А затем приведу пример написания нового микросервиса.
Читать дальше →

Разгон процессоров Intel без индекса K: Core i3-12100, Core i5-12400 и Core i7-12700

Reading time7 min
Views56K
В этом обзоре процессоров Intel Alder Lake с блокировкой мы расскажем, как при помощи находящейся в разработке материнской платы MSI можно сделать процессоры текущего поколения гораздо быстрее. Например, Core i5-12400 может стать на 50% быстрее в играх, и мы покажем, как этого добиться.

Одна из немногих проблем процессоров наподобие Core i3-12100, Core i5-12400 и Core i7-12700 заключается в том, что Intel заблокировала их, то есть увеличить их производительность при помощи разгона (оверклокинга) невозможно.


Их производительность «из коробки» всё равно замечательна, и если вы собираете новый PC, то возможности заблокированных ЦП Alder Lake игнорировать сложно. Но на самом деле повышение их производительности может составлять 20% и больше, а в некоторых случаях и превышать 50%.
Читать дальше →

Образ мышления Factorio

Reading time7 min
Views78K

Раньше я считал, что компьютерная игра Factorio — это огромная трата ресурсов, сжигающая ежегодно миллиарды долларов ВВП. Мне казалось совершенно ненормальным, что Shopify компенсирует своим сотрудникам её приобретение. Я даже думал, что платить за игру в Factorio сотрудникам Shopify должен её конкурент — Amazon.

Но немного разобравшись в ней, я начинаю подозревать, что Factorio — редкий пример компьютерной игры, на самом деле увеличивающей ВВП. В Factorio игроки собирают ресурсы и изготавливают предметы, а затем автоматизируют этот процесс. Игрок может начать с того, что вручную добывает уголь и железо, плавит железо, а затем использует его, чтобы изготовить бур, присоединить к нему несколько конвейеров, чтобы тот автоматически отправлял железо в печь, затем присоединить ещё несколько конвейеров и отправлять по ним материалы на фабрику, массово изготавливающую конвейеры и буры, и так далее.

Это может показаться скучным, но сколько человеко-часов в год тратится на игры «три в ряд»? Некоторые игры называют медитативными, и к Factorio это относится в двух смыслах: во-первых, в ней присутствует аспект темы и вариации — каждый новый создаваемый продукт является неким сочетанием известных задач (например, новый предмет, который должен перемещаться по конвейерам) и новых трудностей (движение жидкостей по трубам и комбинирование их оттока с твёрдыми продуктами для создания новых предметов). Но также она медитативна в том смысле, что медитация — это способ культивации определённого образа мышления, а Factorio способна и на это. Можно медитировать, чтобы находиться в моменте; вы играете в Factorio, чтобы воспитать в себе привычку никогда не оставлять ручной процесс без автоматизации.

Читать далее

Гипертекст в книгах — попытки, реликты, артефакты

Reading time9 min
Views6.1K

Источник иллюстрации: Пикабу https://pikabu.ru/story/tekstovyie_kvestyi_i_knigiigryi_6206710

20 мая 1998 года Умберто Эко (1932 - 2016) выступил в МГУ со знаменитой лекцией «От Гутенберга к Интернету: текст и гипертекст». Недавно я перечитал ее, размышляя о том, сколько лет не был в библиотеке (и не представляю, что бы меня сейчас туда могло привести), что такое клиповое мышление. Наконец, представляет ли мой сын, что такое «Web 1.0» — то есть, статические сайты, где ничего нельзя написать самому, где нет ни контролов, ни GUI, ни какого-нибудь завалящего мэшапа.

Вот какие аспекты информационной эпохи, наступавшей в 1990-е и обрисованные Эко в той лекции, кажутся мне наиболее интересными:

1)      Интернет (компьютер) важнее телевидения, поскольку позволяет самому выбирать, что и в каком порядке читать – и, следовательно, поощряет мышление, поиск и избирательность.

2)      Клод Фролло из «Собора Парижской Богоматери» в конце XV века, через 20 лет после появления типографий, сетовал, что «книга убьет здание» — и оказался неправ. Умберто Эко в 1998 году, через 9 лет после появления первого веб-сайта, утверждал, что «интернет не убьет книги». Летом 2022 года я уже сомневаюсь, прав ли был Эко в этом тезисе.

3)      Эко подчеркивает важность поиска, который мы сейчас назвали бы «полнотекстовым» - и объясняет, почему для такого поиска необходим компьютер, тогда считавшийся еще вычислительной машиной, а не контент-каналом.

4)      Эко указывает, что художественный текст обычно линеен, а справочный текст многомерен, поэтому гипертекст совершеннее текста линейного, при наличии удобного носителя для гипертекста.

Читать далее

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity