Мир не стоит на месте. На смену многим мужским профессиям, что были актуальны полвека назад, приходят новые и более современные. Если раньше нас сковывали рамки малоразвитых технологий и выбор будущей профессии был невероятно мал, то сейчас есть где разгуляться. В преддверии праздника всех мужчин я задумался, а какие профессии, мы мужчины 2023 года, выбираем. Как известно, столица всегда отличалась от периферии и уровнем развития, и доходом, и мне стало интересно, чем наш выбор в данных городах отличается. Отслеживать резюме я решил на сервисе по поиску работы, из столичных городов взял Москву и Санкт-Петербург, в регионе Тверь и Иваново. Анализ я провел в программе по аналитике данных своей компании, загрузив туда данные из резюме. На первом этапе я выделил самые популярные профессии в Москве и Санкт-Петербурге, ими стали водитель, менеджер, инженер, специалист, кладовщик, юрист, администратор, шеф-повар, управляющий и замыкает десятку профессия начальник участка.
Все потоки
Новости
О Книгах
Основные тезисы о книгах будет написаны для справочников, технической, научной и научно-популярной литературы. Художественные книги рассмотрены не будут, но часть пунктов применительны и к ним.
Разгон игры «Fred» для ZX Spectrum
История о том, как я вернулся к любимой игре своего детства, немного узнал о том, как она работает, сделал так, чтобы играть в неё было приятнее и интереснее. Маленький кусочек ретро-археологии.
Зачем в Hoff Tech архитекторы или как мы строим и описываем ИТ-ландшафт
Мы последовательно внедряем архитектурный подход в давно работающей компании, буквально на ходу — это напоминает починку работающего двигателя. Здесь неизбежны некоторые особенности, о которых стоит поговорить.
Спойлер: процесс идет, мы набили шишки и выработали подходы, которые хочется показать и обсудить с коллегами. Этот пост — первый из серии статей, где я изложу свое видение работы архитектора и пошагово расскажу, как мы внедряли и практикуем архитектурный подход.
Истории
Большая часть работы с базами данных — бесполезна
Я привык к привкусу отчаяния, которое так глубоко укоренилось в моем сердце и сердцах моих коллег, что превратилась в безнадежную пассивность. Это отчаяние, которое приходит от осознания того, что мы тратим большую часть нашего времени, не производя ничего ценного.
Это то, в чем мы признаемся тихо, иногда со смехом, потому что знаем, что могло быть намного хуже. По большей части все мы работаем в пространстве данных в крупных организациях либо в государственном секторе, либо что-то вроде этого. Это невероятно комфортная жизнь. Давления не существует, мы заканчиваем работу в 17:00, и, безусловно, бывают судьбы гораздо хуже. Но все же мы отчаиваемся.
Какой датчик лучше подходит для хлопкового выключателя KY — 038 или GY — MAX9814?
За последнее время я нахожу множество статей и видио про самодельные хлопковые выключатели поэтому я решил провести исследование темой которого является изучение сигнала и сравнение датчиков GY - MAX9814 и KY - 038 , так как данные датчики довольно популярны у радиолюбителей.
4 года развивали бизнес с партнером и разошлись. Как это сделать и не поубивать друг друга в процессе
До недавнего времени мы управляли компанией вместе с партнером, но с этого года разошлись и разделили бизнес на 2 части. Нам надо было поделить активы так, чтобы никто не остался в обиде, и при этом не поломать уже существующие проекты. Рассказываю, как мы это сделали.
GAN: убийство двух зайцев одним выстрелом для синтеза табличных данных
Аннотация
Синтез табличных данных получил широкое внимание в литературе. Это связано с тем, что доступные данные часто ограничены, неполны или не могут быть легко получены, а конфиденциальность данных становится все более актуальной. В этой работе мы представляем обобщенную структуру генеративной состязательной сети (GAN) для табличного синтеза, которая сочетает в себе состязательное обучение и регуляризацию при отрицательной логарифмической плотности обратимых нейронных сетей. Предлагаемая структура может быть использована для достижения двух различных целей. Во-первых, мы можем далее улучшить качество синтеза, уменьшив отрицательную логарифмическую плотность реальных записей в процессе состязательного обучения. С другой стороны, увеличивая отрицательную логарифмическую плотность реальных записей, можно синтезировать реалистичные поддельные записи таким образом, чтобы они не были слишком близки к реальным записям и снижали вероятность потенциальной утечки информации. Мы провели эксперименты с реальными наборами данных для классификации, регрессии и атак на конфиденциальность. В целом, предлагаемый метод демонстрирует наилучшее качество синтеза (с точки зрения оценочных показателей, ориентированных, например, на задачи F1) при уменьшении отрицательной логарифмической плотности во время состязательного обучения. При увеличении отрицательной плотности журнала результаты наших экспериментов показывают, что расстояние между реальными и поддельными записями увеличивается, повышая устойчивость к атакам на конфиденциальность.
Программисты проверили, насколько тяжело жить девушкам с длинными ногтями
Команда парней KTS нарастила ногти и посоревновалась с девушками в скоростной печати, открывании жестяных банок и других повседневных задачах.
В среднем 247 рабочих дней в году мы в KTS проводим за разработкой цифровых продуктов в HRTech, EduTech, мобильной разработкой и DevOps. Месяц назад мы поспорили: правда ли, что с нарощенными длинными ногтями сложнее выполнять повседневные действия. Девушки согласились, парни — нет. Выяснить правду решили честным экспериментом.
Дисклеймер: цель нашей статьи — поздравить девушек с 8 марта и напомнить всем мужчинам, насколько прекрасны и изобретательны девушки.
Как доставлять товары из Китая в 2023 году
Собрала подборку из 5 сервисов для тех, кто также, как и я искал способы привозить товары из Китая.
Привет, я Юля, руковожу компанией по производству упаковочных материалов Cups»n»co. В апреле 2022 года в Россию запретили ввоз полиграфических материалов из Европы (пятый пакет санкций). У нас небольшой склад и после санкций встал вопрос или закрываться, или искать, как привозить материалы из Китая.
P. S. Выбрали второй вариант.
Вся информация об условиях, тарифах и сроках бережно собрана ниже.
Как техпису изложить фактуру в техдоке?
Ни в форумах, ни в блогах, ни в России, ни в англоязычных ресурсах я не смог найти информацию о том, как логично упаковать всю релевантную фактуру в приятный технический документ. В книге М. Ильяхова «Пиши, сокращай» есть отдельная глава про дидактику, но там очень мало, вскользь и не совсем о том.
Еще есть ГОСТы 34 и 19 — там уже написано, из каких разделов должен состоять стандартизованный документ, но ведь кроме стандартизованных есть и другие документы — во всяком случае заказы на таковые ко мне приходили, — и каждый раз приходилось ломать голову.
Статический анализ. PHPStan
Цель статьи - помочь разработчикам которые много слышали про статический анализ, но пока что так и не поняли что это такое и с чем его едят.
Статический анализ
Анализ программного обеспечения, производимый без реального выполнения исследуемых программ, процесс выявления ошибок и недочетов в исходном коде программ. Список языков для которых существуют статические анализаторы кода достаточно велик - Си, Си++, C#, Java, Ada, Fortran, Perl, Ruby и т.д. Компиляторы различных языков программирования во время своей работы так же запускают статические анализаторы (как правило усеченные версии) которые находят ошибки. Т.о. использование статичского анализа, в поисках ошибок, приравнивает (а может даже и превосходит, все зависит от используемого анализатора и стиле написания приложения) PHP к компилируемым языкам программирования.
Сообщество PHP прикладывает значительные усилия в сторону развития статического анализа, так типы mixed и never были добавлены для лучшего анализа программами статического анализа.
Необходимость статического анализа
Статический анализ позволяет найти уйму различных проблем в коде, начиная от неправильного использования конструкций языка, заканчивая опечатками. При проведении code review позволяет сосредоточиться на просмотре реализации логики программы, а не на поиске синтаксических ошибок, опечаток, ошибок в данных, мертвый код и т.п.
Поиск и устранение повреждений данных
Это выдержка из восьмой главы книги Rodney Landrum: «SQL Server Tacklebox», в которой описывается, как DBA может устранить последствия повреждения данных. Будут продемонстрированы инструменты и сценарии, необходимые для своевременного поиска и устранения повреждений данных и предотвращения их попадания в резервные копии.
Типизируй с нами, типизируй, как мы…
Сказ о том, как я каррирование типизировал
Как не потерять ценность для пользователя при создании внутреннего продукта
Всем привет! Это статья для продактов, тех кто хочет им стать и просто для всех тех, кому не безразлична тема создания внутренних корпоративных продуктов.
Думаю многие из вас замечали, что внутренний продукт созданный внутри компании очень часто уступает по качеству и удобству его использования своим внешним аналогам. В этой статье я хочу поделиться мыслями которые помогут делать хорошие внутренние корпоративные продукты. А также о том, какие могут возникнуть сложности на тернистом пути создания внутренних продуктов, почему так случается и как преодолеть эти сложности.
Первая бесплатная модель перевода с русского на китайский язык и обратно
Представляю вашему вниманию, первую бесплатную offline модель по переводу с русского языка на китайский и обратно.
Ранее, я писал, как можно достаточно легко обучить свою модель по машинному переводу на примере перевода с английского на русский.
В этот раз я решил, реализовать, модель перевода с китайского языка, так как давно хотел и о чем заявлял в комментариях к предыдущей своей статье.
Как выпускать успешные продукты на высококонкурентном рынке
По данным Statista, ежемесячно на Google Play появляется около 100 000 новых сервисов и приложений. Чтобы выдержать конкуренцию, необходимо сокращать время вывода на рынок новых продуктов, при этом не теряя в качестве. О том, как создавать что-то новое быстро ― к примеру, придумать новый айфон, ― расскажу в этой статье.
Невозможно во сне придумать айфон: создание качественного, нужного и приятного для пользователей продукта или сервиса ― это тяжелая ежедневная работа. Здесь действует логика венчурной индустрии. Инвестируем в десять проектов: шесть из них умрут, три покажут небольшой успех, один «взлетит» ― окупит расходы на все десять и даст прибыль сверху. Проблема в том, что никогда не знаешь, какой из проектов окажется звездным.
Для создания успешного продукта необходимы упорство и трудолюбие, умение слушать и слышать (клиентов, окружающую среду, тренды и так далее) и готовность к постоянным изменениям. Например, Яндекс изначально стартовал как компания интернет-поисковик, зарабатывал на рекламе. Чтобы дифференцировать бизнес, понадобилось более 20 лет и несколько десятков закрытых проектов. Зато в 2022 выручка Яндекса от непоисковых проектов (такси, e-commerce и других) превысила 50%.
Допустим, мы хотим, чтобы у нас получилось так же, как у Яндекса. Что нам для этого нужно?
Обработка исключений в Java с использованием сопоставления с образцом (pattern matching)
Обработка исключений в Java с использованием сопоставления с образцом (pattern matching).
Данная статья является логическим продолжением статей
- Обработка исключений в Java в функциональном стиле и
- Обработка исключений в Java в функциональном стиле. Часть 2.
В данной статье рассмотрим способы обработки исключений 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?
Действительно ли солнечные эксперименты неудачны?
О том, как французская Colas Group ввязалась в эксперимент по установке солнечной дороги и как у неё ничего не вышло. С первого раза.
Расширяем возможности Ansible: развертывание Docker
В предыдущих статьях мы уже рассмотрели установку Ansible и подготовку шаблонов для автоматизации работы с управляемыми узлами. В этой статье мы продолжим обсуждать те возможности, которые есть у Ansible, и рассмотрим развертывание Docker.
Управление установкой Docker с помощью Ansible позволяет вам один раз определить свою инфраструктуру и использовать ее везде, где и как вам нужно. Так, с помощью плейбуков мы можем легко развернуть необходимые нам настройки в любой целевой архитектуре. При этом и Docker имеет множество преимуществ. Отличительной чертой контейнеров является та простота, с которой их можно как развернуть, так и удалить. При этом, в контейнерах могут работать достаточно сложные приложения, для которых важна правильная последовательность загрузки их компонентов.
Далее перейдем к подготовке плейбука для установки и базовой настройки Docker. И начнем мы со списка задач, которые необходимо выполнить.