Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

«Топ 10» популярных мужских профессий в столице и регионах в 2023 году

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 621
Python *Data Mining *Big Data *Машинное обучение *IT-компании
Из песочницы

Мир не стоит на месте. На смену многим мужским профессиям, что были актуальны полвека назад, приходят новые и более современные. Если раньше нас сковывали рамки малоразвитых технологий и выбор будущей профессии был невероятно мал, то сейчас есть где разгуляться. В преддверии праздника всех мужчин я задумался, а какие профессии, мы мужчины 2023 года, выбираем. Как известно, столица всегда отличалась от периферии и уровнем развития, и доходом, и мне стало интересно, чем наш выбор в данных городах отличается. Отслеживать резюме я решил на сервисе по поиску работы, из столичных городов взял Москву и Санкт-Петербург, в регионе Тверь и Иваново.  Анализ я провел в программе по аналитике данных своей компании, загрузив туда данные из резюме. На первом этапе я выделил самые популярные профессии в Москве и Санкт-Петербурге, ими стали водитель, менеджер, инженер, специалист, кладовщик, юрист, администратор, шеф-повар, управляющий и замыкает десятку профессия начальник участка.

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Комментарии 1

Новости

О Книгах

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 833
Профессиональная литература *Учебный процесс в IT Читальный зал Научно-популярное

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

Читать далее
Всего голосов 7: ↑4 и ↓3 +1
Комментарии 2

Разгон игры «Fred» для ZX Spectrum

Уровень сложности Средний
Время на прочтение 15 мин
Количество просмотров 638
Разработка игр *Реверс-инжиниринг *Игры и игровые консоли
Из песочницы

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

Спуститься в подземелье
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 1

Зачем в Hoff Tech архитекторы или как мы строим и описываем ИТ-ландшафт

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 383
Блог компании Hoff Tech Анализ и проектирование систем *Проектирование и рефакторинг *IT-стандарты *
Кейс

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

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

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 0

Истории

Какой датчик лучше подходит для хлопкового выключателя KY — 038 или GY — MAX9814?

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 345
Программирование микроконтроллеров *Звук
Из песочницы

За последнее время я нахожу множество статей и видио про самодельные хлопковые выключатели поэтому я решил провести исследование темой которого является изучение сигнала и сравнение датчиков GY - MAX9814 и KY - 038 , так как данные датчики довольно популярны у радиолюбителей.

Читать далее
Всего голосов 2: ↑0 и ↓2 -2
Комментарии 3

GAN: убийство двух зайцев одним выстрелом для синтеза табличных данных

Уровень сложности Простой
Время на прочтение 22 мин
Количество просмотров 238
Python *Git *Алгоритмы *GitHub *
Перевод

Аннотация

Синтез табличных данных получил широкое внимание в литературе. Это связано с тем, что доступные данные часто ограничены, неполны или не могут быть легко получены, а конфиденциальность данных становится все более актуальной. В этой работе мы представляем обобщенную структуру генеративной состязательной сети (GAN) для табличного синтеза, которая сочетает в себе состязательное обучение и регуляризацию при отрицательной логарифмической плотности обратимых нейронных сетей. Предлагаемая структура может быть использована для достижения двух различных целей. Во-первых, мы можем далее улучшить качество синтеза, уменьшив отрицательную логарифмическую плотность реальных записей в процессе состязательного обучения. С другой стороны, увеличивая отрицательную логарифмическую плотность реальных записей, можно синтезировать реалистичные поддельные записи таким образом, чтобы они не были слишком близки к реальным записям и снижали вероятность потенциальной утечки информации. Мы провели эксперименты с реальными наборами данных для классификации, регрессии и атак на конфиденциальность. В целом, предлагаемый метод демонстрирует наилучшее качество синтеза (с точки зрения оценочных показателей, ориентированных, например, на задачи F1) при уменьшении отрицательной логарифмической плотности во время состязательного обучения. При увеличении отрицательной плотности журнала результаты наших экспериментов показывают, что расстояние между реальными и поддельными записями увеличивается, повышая устойчивость к атакам на конфиденциальность.

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 0

Статический анализ. PHPStan

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 417
PHP *

Цель статьи - помочь разработчикам которые много слышали про статический анализ, но пока что так и не поняли что это такое и с чем его едят.

Статический анализ

Анализ программного обеспечения, производимый без реального выполнения исследуемых программ, процесс выявления ошибок и недочетов в исходном коде программ. Список языков для которых существуют статические анализаторы кода достаточно велик - Си, Си++, C#, Java, Ada, Fortran, Perl, Ruby и т.д.  Компиляторы различных языков программирования во время своей работы так же запускают статические анализаторы (как правило усеченные версии) которые находят ошибки. Т.о. использование статичского анализа, в поисках ошибок, приравнивает (а может даже и превосходит, все зависит от используемого анализатора и стиле написания приложения) PHP к компилируемым языкам программирования.

Сообщество PHP прикладывает значительные усилия в сторону развития статического анализа, так типы mixed и never были добавлены для лучшего анализа программами статического анализа.

Необходимость статического анализа

Статический анализ позволяет найти уйму различных проблем в коде, начиная от неправильного использования конструкций языка, заканчивая опечатками.  При проведении code review позволяет сосредоточиться на просмотре реализации логики программы, а не на поиске синтаксических ошибок, опечаток, ошибок в данных, мертвый код и т.п.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Поиск и устранение повреждений данных

Уровень сложности Средний
Время на прочтение 24 мин
Количество просмотров 344
Microsoft SQL Server *Администрирование баз данных *
Туториал
Перевод

Это выдержка из восьмой главы книги Rodney Landrum: «SQL Server Tacklebox», в которой описывается, как DBA может устранить последствия повреждения данных. Будут продемонстрированы инструменты и сценарии, необходимые для своевременного поиска и устранения повреждений данных и предотвращения их попадания в резервные копии.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Типизируй с нами, типизируй, как мы…

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 949
Разработка веб-сайтов *JavaScript *TypeScript *
Из песочницы

Сказ о том, как я каррирование типизировал

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 2

Первая бесплатная модель перевода с русского на китайский язык и обратно

Время на прочтение 6 мин
Количество просмотров 1.4K
Data Mining *Машинное обучение *Искусственный интеллект Natural Language Processing *Data Engineering *
Кейс

Представляю вашему вниманию, первую бесплатную offline модель по переводу с русского языка на китайский и обратно.

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

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

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 2

Обработка исключений в Java с использованием сопоставления с образцом (pattern matching)

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 956
Java *Функциональное программирование *
Туториал

Обработка исключений в Java с использованием сопоставления с образцом (pattern matching).


Данная статья является логическим продолжением статей



В данной статье рассмотрим способы обработки исключений Java при помощи pattern-matching, как это делается в других FP языках.


Пример на других языках


В функциональных языках программирования существуют удобные средства для работы с исключениями. В Kotlin и Rust это класс Result, в Scala и Haskell — Try. Обработка успешного результата или ошибки может производится при помощи pattern-matching как на примерах ниже.


Scala


val result = divideWithTry(10, 0) match {
  case Success(i) => i
  case Failure(DivideByZero()) => None
}

Rust


    let greeting_file_result = File::open("hello.txt");
    let greeting_file = match greeting_file_result {
        Ok(file) => file,
        Err(error) => panic!("Problem opening the file: {:?}", error),
    };

Использование pattern-matching является естественным (idiomatic) в функциональных языках. А как дело обстоит в Java?

Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Текстовый Инпут с возможностью выделять отдельные слова

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 521
ReactJS *
Туториал

Как, вроде бы, простая задача превратилась в головную боль.

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 4

С полным ПО-пакетом: каким требованиям должен соответствовать офисный софт для бизнеса

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 699
Информационная безопасность *IT-инфраструктура *Бизнес-модели *Софт

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

Читать далее
Всего голосов 7: ↑0 и ↓7 -7
Комментарии 4

Как не потерять всю переписку в Slack? Подробная инструкция, что можно сейчас сделать

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 807
Мессенджеры *
Туториал
Recovery mode

В конце февраля Slack разослал владельцам пространств из России письма, где кому‑то объявил о блокировке пространства, а кому‑то о полном отключении тех. поддержки с 21 марта. День Х все ближе, поэтому рассказываем, как сохранить свои данные и как/куда их можно перевезти.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 0

Какой сервис сетевой связности использовать: глобальный роутер Selectel, Direct или Global Connect?

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 444
Блог компании Selectel Высокая производительность *IT-инфраструктура *Сетевые технологии *Распределённые системы *
Обзор

Существует много способов, как организовать инфраструктуру. Например, можно объединить on-premise с сервером или облаком провайдера. Или собрать географически распределенную инфраструктуру в нескольких регионах.

Но как объединить разные серверы и проекты в одну сеть? Какую услугу использовать: глобальный роутер Selectel, Direct или Global Connect — и в чем разница? С такими же вопросами к нам приходят клиенты. Поэтому мы постарались дать гайд по выбору услуги. О том, что из этого получилось, рассказываем под катом.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 0

Эволюция алгоритма фильтрации модификаций товаров в Авито

Время на прочтение 16 мин
Количество просмотров 624
Блог компании AvitoTech Go *

Всем привет! Меня зовут Денис Колпаков, я бэкенд-инженер в юните Core Services Авито. Долгое время я был овнером критически значимого для бизнеса сервиса форм, а последний год занимаюсь каталогами и каталогизацией. 

Я расскажу, как мы решали продуктовую задачу — искали способ отфильтровать модификации товаров из базы данных. 

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 5

Что нового в Chrome 111?

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 2.1K
CSS *JavaScript *Google Chrome HTML *Браузеры
Обзор
Перевод

Давайте погрузимся внутрь и посмотрим, что нового ждет разработчиков в Chrome 111.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Почему UserStory и ныне там?

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 595
Блог компании Банк «Открытие» Анализ и проектирование систем *Управление разработкой *Управление персоналом *Подготовка технической документации *
Кейс

Когда в коллегах согласья нет,
На лад проект их не пойдет,
И выйдет из него не profit, только cost.

Однажды Бэкендер, Фронтендер да Аналитик
Везти с тасками US взялись,
И вместе трое все в него впряглись;

Из кожи лезут вон, а US всё нет ходу!
Таски для них казались и легки:
Да Фронт рвется в Cloud-решения,
Бэк пятится назад, а Аналитик тянет в воду.

Кто виноват из них, кто прав, - судить не нам;
Да только UserStory и ныне там.

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

Го дальше!
Всего голосов 5: ↑3 и ↓2 +1
Комментарии 7

Как мы попробовали Yatagan

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 492
Блог компании Циан Программирование *Разработка мобильных приложений *Разработка под Android *
Кейс

У нас в проекте с незапамятных времён для DI используется Dagger. И в целом он нас всем устраивает. Ну, разве что кроме одного маленького пунктика — скорость сборки с kapt. Он прилично увеличивает время сборки. Казалось бы, смирись, страдай, прими ситуацию. Но относительно недавно Yandex представили библиотеку для Dependency Injection. Имя ей Yatagan. У неё есть две важных особенности — она спроектирована быть похожей на Dagger по API, и одна из её целей — меньше влиять на время сборки. Меньшее время сборки — это всегда хорошо, а значит, стоит её как минимум попробовать. 

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Python, Django и немного защиты кода

Время на прочтение 4 мин
Количество просмотров 2.3K
Python *Django *
Из песочницы

Привет, Habr! Компания, в которой я работаю, занимается системами умного дома и видеонаблюдения. Услуга работает по форме SaaS. Но недавно было решено продавать и локальное решение. За основу «коробки» было решено взять облако, немного его переделать и вот готов новый продукт…

С переездом с облачных «рельс» возник ряд вопросов. Один из них в том, что весь проект написан на Python‑ язык интерпретируемый на лету и не защищенный от копирования от слова совсем. Второй момент, что в проекте используется Django. Фреймворк со своими зависимостями, которые еще аукнулись нам в процессе поиска решений. То с чем мы столкнулись и к чему пришли далее в статье.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 8