Обновить
1
0
Sergey Kaleev@skaleev

Пользователь

Отправить сообщение

Эти компании заменили тысячи людей на ИИ, а потом дали заднюю. Как так вышло?

Время на прочтение9 мин
Охват и читатели13K

Технопророки убеждают нас, что ИИ вот-вот отберет нашу работу. Миллионы сотрудников заменят под предлогом сверхблага для клиентов. Но что происходит, когда громкие слова стихают и нейросети остаются один на один с реальными проблемами?

Читать далее

Особенности Python, о которых вас точно спросят на техническом собеседовании. Часть 2

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели21K

Привет, Хабр! Меня зовут Бартенев Евгений, я автор курса «Python-разработчик» в Яндекс Практикуме и практикующий разработчик. Я прособеседовал сотни кандидатов и сам неоднократно побывал в роли собеседуемого, поэтому хорошо представляю, какие именно знания проверяют на интервью и где чаще всего «проваливаются» не только джуны, но и опытные разработчики.

Первая часть этой статьи вызвала оживлённое обсуждение. В комментариях читатели делились собственным опытом, напоминали о тонкостях, которые я упустил, и задавали отличные уточняющие вопросы. В этой части я продолжу разбирать очередные «подводные камни» в Python. 

Как и раньше, я не буду разбирать заезженные вопросы вроде «чем отличается список от кортежа». Вместо этого — разберём реальные особенности Python, на которых строятся самые коварные задачи и вопросы.

Читать далее

Почему я отказался от ORM в пользу чистого SQL

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели19K

Во время выполнения очередного проекта мне пришлось работать с Битрикс ORM, при этом параллельно в системе был инстанс Laravel. Две разные ORM работали с единой базой данных. Не буду вдаваться в причины, по которым был выбран такой подход, и воздержусь от его оценки. Суть в том, что мне приходилось одновременно работать с двумя принципиально разными системами. Этот опыт привел меня к фундаментальному выводу: ORM — не для меня.

Почитать мнение

Женщина, изменившая наше представление о звёздах

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели14K

Астрономия началась с наблюдений. Люди фиксировали движения Солнца и Луны, составляли календари, выстраивали каменные круги. Позже появились модели планетных циклов и первые попытки объяснить небесные явления. В XVI веке Николай Коперник предложил гелиоцентрическую систему. С тех пор представления о Вселенной начали меняться. Последовали открытия Тихо Браге, Кеплера, Галилео, Ньютона, Герцшпрунга и других. Каждый добавлял в картину мира новые детали.

Звёзды долгое время оставались далёкими и непонятными. Что они собой представляют? Из чего состоят? Ответ пришёл в XX веке от исследовательницы, которая научилась читать их спектры — Сесилии Пейн-Гапошкиной.

Читать далее

Loadable-плагин для Zabbix c помощью суслика

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели9.6K

Привет, Хабр!

Знаете это чувство, когда оборудование есть, мониторинг есть, а их совместная работа — нет? Именно так мы ощутили себя, когда столкнулись с IBM Storwize в экосистеме Zabbix. «Из коробки» поддержка отсутствует, а костыли в виде скриптов и UserParameters работают так, что хочется плакать:

Читать далее

Кому нужен Graphviz, если можно написать его самому?

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели15K

Недавно мы переделали наши внутренние инструменты, визуализирующие компиляцию JavaScript и WebAssembly. При работе оптимизирующего компилятора Ion мы теперь можем генерировать интерактивные графы, демонстрирующие, как конкретно обрабатываются и оптимизируются функции.

Вы можете сами поэкспериментировать с этими графами в оригинале статьи. Просто введите какой-нибудь код на JavaScript в функцию test, и наблюдайте за созданием графа. Также там можно щёлкать и перетаскивать граф, менять масштаб при помощи колеса мыши с зажатым Ctrl и перетаскивать ползунок вниз, чтобы изучить процесс оптимизации.

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

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

Читать далее

Внутреннее устройство Docker. Заглянем под капот

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели12K

Сначала были физические серверы - дорогие и неэффективные. Затем пришли виртуальные машины, которые позволили запускать несколько изолированных ОС на одном железе. Но цена изоляции оставалась высокой: полная копия ОС, гигабайты диска, минуты на запуск.

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

Читать далее

Восстановление IT-инфраструктуры: руководство по защите бизнеса от сбоев

Время на прочтение11 мин
Охват и читатели6.4K

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

Читать далее

GPS-мониторинг выездных сотрудников: посчитать, ускорить, не оставить в беде

Время на прочтение12 мин
Охват и читатели6.8K

На высоких конференциях и форумах говорят о цифровой трансформации, бизнес-форумы обсуждают автоматизацию и оптимизацию, на конференциях разбирают высоконагруженные системы и экономику данных под красными, зелёными, синими узнаваемыми логотипами.

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

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

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

Поставляя компаниям CRM-системы, мы видели, что компании нуждаются в хорошем комплексном решении для управления выездными сотрудниками. Так появился наш GeoMonitor, о котором мы сегодня расскажем максимально подробно.

Читать далее

Open source-стратегии: как МойОфис развивает открытый подход — рассказывает Тамара Щепалкина, CTO компании

Время на прочтение11 мин
Охват и читатели13K

Делюсь разговором с Тамарой Щепалкиной, техническим директором МойОфис. В интервью — подробный разбор открытого подхода, реализуемого компанией.

Читать далее

Динамические группы проксируемых серверов в Angie

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели9.3K

Современная инфраструктура приложений динамична и требует гибкости от конфигурации ключевых элементов. В этой статье мы разберём все варианты реализации динамических групп серверов (upstream) в Angie. С помощью этих методов вы сможете изменять состав и статус серверов без вмешательства в конфигурацию Angie. 

Читать далее

Код, за который не стыдно: Практика чистописания для начинающих Python-разработчиков

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели9.4K

Каждый из нас хотя бы раз в жизни писал код, который можно описать фразой: «Ну, оно как-то работает, лучше не трогать». Мы наспех добавляем костыль, чтобы успеть к дедлайну, оставляем переменную с именем data2 или пишем функцию на 200 строк, обещая себе вернуться к ней «позже». И знаете что? Это «позже» никогда не наступает.

Читать далее

Security by design на практике: проектирование безопасной инфраструктуры

Время на прочтение13 мин
Охват и читатели9.1K

Привет, Хабр! Меня зовут Саша, я ведущий специалист технической поддержки по услугам информационной безопасности в Selectel. В последние годы многие начинают задумываться о повышении безопасности своих информационных ресурсов. И это неудивительно, ведь кибератаки и связанные с ними риски касаются как крупных компаний, так и небольших проектов, использующих в работе пару серверов.

Конечно, тяжело написать универсальный гайд, который полностью закроет все вопросы по ИБ для каждого случая. Все кейсы — разные и требуют отдельного рассмотрения и анализа, а также регулярного обновления средств защиты и мониторинга для поддержания системы в актуальном состоянии.

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

Читать далее

Космический шум, или как случайно нашли реликтовое излучение

Время на прочтение10 мин
Охват и читатели8.7K

Иногда технологии подводят — зато случайность делает то, чего не смог бы ни один расчёт.

Шестьдесят лет назад два инженера из Bell Labs, Арно Пензиас и Роберт Уилсон, просто хотели измерить радиошум Млечного Пути. Но в антенне постоянно появлялся странный фон, будто кто-то шептал из ниоткуда. Оказалось, это не сбой и не помеха — это эхо самого рождения Вселенной.

Читать далее

Симметрия простых чисел

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели14K

Рассмотрим структуру простых чисел, их симметрию и введем новые определения. Применяя симметрию рассмотрим способ поиска простых чисел, задачу бесконечности близнецов и гипотезу Гольдбаха.

Читать далее

Книга «Современный C#. Разработка настольных, облачных, мобильных и веб-приложений». Работа со встроенными массивами

Время на прочтение9 мин
Охват и читатели13K

Приветствуем, Хабр.

Сегодня расскажем о нашей большой ноябрьской новинке – книге «Современный C#. Разработка настольных, облачных, мобильных и веб-приложений». Иэн Гриффитс продолжает многолетнюю работу над своим справочником по C#, и в новом издании осветил версию C#12. Вот ссылка на гитхаб-репозиторий с примерами к книге.

Более ранние издания этой книги (по версиям C#5 и C#8) уже выходили на русском языке, поэтому данное энциклопедическое пособие наверняка известно опытным .NET-разработчикам. Мы не претендуем на лавры «подхвативших упавшее знамя», но решили выпустить новую версию книги, так как она в подробностях затрагивает облачные и контейнерные аспекты работы.  Вот что появилось нового в этом издании по сравнению с версией «C# 8», опубликованной на русском языке в 2021 году:

Читать далее

От слов к делу: как Postgres Pro строит будущее в Академгородке

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели12K

Некоторые из IT-компаний говорят, что поддерживают open source. На деле это нередко означает использование чужого кода и PR-активность. Мы считаем, что настоящий вклад — это коммиты в ядро. И чтобы делать это системно, мы открыли инженерный центр не в столичном бизнес-парке, а в месте, где фундаментальная наука — часть культурного кода. Рассказываем, почему будущее системного программирования мы строим в новосибирском Академгородке.

Читать далее

Математическая головоломка из университетского квеста

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели14K

Mr. Game & Watch — одна из интересных головоломок игры Puzzle Hunt Мельбурнского университета 2011 года. Эта игра представляет собой ежегодный квест, цель которого — первыми обнаружить «сокровища», спрятанные где‑то на территории кампуса. Задания игры не содержат инструкций. Вместо этого участникам дается сюжет, который постепенно развивается, и в который встраиваются головоломки.

Головоломка представляет собой большое количество однотипных часов: всего их 24, и они аккуратно расположены на странице в 6 рядов и 4 столбца. На всех часах можно видеть циферблат с 12 римскими цифрами; расположение часовой стрелки и минутной стрелки; время суток (AM или PM); а также угол в градусах, который представляет собой разность между положением стрелок...

Читать далее

Эволюция подходов к написанию корутин от Си до С++20. Часть 2. Переходим от бесстековых сопрограмм к стековым

Уровень сложностиСложный
Время на прочтение25 мин
Охват и читатели9.2K

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

Для начала вспомним сопрограмму для вычисления чисел Фибоначчи, рассмотренную в предыдущей статье. Для её корректной все переменные, необходимые для работы алгоритма, а также состояние выполнения сопрограммы приходилось хранить в отдельной структуре, передаваемой сопрограмме в качестве параметра. Теперь я хочу избавиться от этой структуры и хранить состояние корутины при помощи локальных переменных, как это делается в обычных функциях. Функции хранят локальные переменные в стеке, следовательно, нам также нужен стек.

Под обычной я подразумеваю функцию, определённую синтаксисом языка, с указанием возвращаемого типа, имени функции, а также её параметров.

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

Обычная функция в Си передает управление вызывающему коду при помощи оператора return. При этом область стековой памяти, хранящая локальные переменные, больше не принадлежит функции. 

Читать далее

«План любой ценой»: Почему российский менеджмент превратил работу в выживание и можно ли с этим бороться

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели56K

Краткий разбор системных ошибок управления, которые годами тормозят развитие российского бизнеса (и не только в IT) 

Если вы работали в российской компании — от крупного холдинга до небольшого стартапа — вы, возможно, сталкивались с этим. Не везде, но такое, наверняка случалось. Авралы по выходным, KPI, которые невозможно выполнить, приказы, противоречащие здравому смыслу, и вечное «надо выкручиваться». И наше любимое — всем сейчас и так плохо, нужно затянуть пояса. Это не отдельные недочеты, а симптомы глубокой системной болезни, которую можно назвать «постсоветский управленческий синдром». Он проявляется в нескольких взаимосвязанных паттернах, которые годами кочуют из компании в компанию. О них сегодня и расскажу.

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Сургут, Тюменская обл. и Ханты-Мансийский АО, Россия
Дата рождения
Зарегистрирован
Активность