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

Все потоки

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

Как перейти в IT: краткая инструкция для страждущих

Время на прочтение 9 мин
Количество просмотров 1.5K
Карьера в IT-индустрии
Обзор

Как перейти в IT: краткая инструкция для страждущих

Всем привет, меня зовут Виктор! Я руководитель группы разработки в Тинькофф Спецпроектах. В 2018 году я получил первое высшее образование по направлению академический кларнет в Московской государственной консерватории им. П.И. Чайковского, а в 2022 году защитил диплом магистра по направлению "Системная и программная инженерия" в НИУ Высшая Школа Экономики.

Из этой статьи вы узнаете какие профессии существуют в IT и какую профессию выбрать, если вы собираетесь совершить невероятный прыжок в IT из любой другой профессии.

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

Новости

Использование Kotlin и WebFlux для выполнения задач ML в Apache Spark на GPU

Уровень сложности Средний
Время на прочтение 32 мин
Количество просмотров 538
Java *Kotlin *

В предыдущей статье для создания Spark Driver приложения использовался сервлетный стек Spring (Boot 2.7.11) и JDK 8.

На дворе вторая половина 2023 года, у многих в проде уже используется Boot 3+ (а то и 3.1+), совсем скоро должна выйти новая LTS версия Java, и, мягко говоря, Boot 2+ и JDK8 устарели. Использовались они намеренно, так как для задач тренировки моделей машинного обучения на GPU в среде Spark частью системы является ускоритель вычислений на GPU NVidia Rapids. Поддержка JDK 17 появилась только в релизе v23.06.0 от 27.06.23, с ее выходом появилась возможность перейти на актуальную LTS версию Java, а с ней - на Spring Boot 3+.

В данной статье описывается миграция с Boot 2 и JDK 8 До Boot 3 и JDK 17, со Spring Web на Spring WebFlux, в конце сравниваются Web и WebFlux версии по потреблению аппаратных ресурсов и скорости выполнения.

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

Атмосферная история: как поплавать в газовом гиганте

Время на прочтение 7 мин
Количество просмотров 2.5K
Научно-популярное Физика Астрономия

Всякий раз, получая минус в статью за «не соответствует тематике Хабра», я воспринимаю эту оценку со смесью досады и удовлетворения. В целом считаю, что мне удаётся подбирать темы достаточно интересные и не слишком умозрительные, а также наталкивать читателей на размышления и необычные идеи. Однако я был удивлён, когда в поисковой выдаче мне попался удивительный материал с «Пикабу», тема которого значительно более приличествует Хабру. Пользователь shipilev86 задался вопросом: можно ли пролететь Юпитер насквозь? Иными словами, насколько газовый гигант похож на водородно-гелиевое круглое облако, и можно ли в самом деле пронизать такую планету на космическом корабле или хотя бы при помощи космического зонда? Давайте обсудим, какова современная научная точка зрения на этот вопрос, но сформулируем его шире: можно ли пролететь через газовый гигант, и какие осложнения при этом могут нас ожидать?

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

«Пиратим» Google Chrome для Microsoft Windows 7

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 7.6K
Assembler *Браузеры Разработка под Windows *Копирайт
Из песочницы

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

На абордаж!

Читать далее
Всего голосов 66: ↑58 и ↓8 +50
Комментарии 31

Истории

Свойство типа Controller Service в кастомном процессоре NiFi

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 343
Java *Big Data *
Туториал

В этой короткой статье я хочу показать, как использовать в качестве одного из свойств кастомного процессора NiFi стандартную службу Controller Service, а также как написать тест для такого процессора.В качестве примера будем использовать стандартную службу SSLContextService.

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

IronZen: как мы решили боль тысяч тревожных людей, разработав собственное мобильное приложение

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 2.1K
Разработка мобильных приложений *Дизайн мобильных приложений *Монетизация мобильных приложений *Развитие стартапа Flutter *
Из песочницы

Кейс о том, как компания друзей с опытом в IT и digital на досуге начала разрабатывать приложения, и в первом же проекте закрыла острую проблему людей с повышенной тревожностью и ОКР, дав старт собственной кузнице аппок.

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

RuGPT3XL. Примеры генерации на русском языке (zero-shot coding)

Время на прочтение 6 мин
Количество просмотров 945
Искусственный интеллект

Давно известно, что Сбер разработал и опубликовал свою коллекцию генеративных текстовых моделей RuGPT3.

В данной статье тестируем ruGPT-3 XL прямо на демо-странице от Сбера.

Как проводится данное исследование:
даем RuGPT3 простые запросы.
"Простые" означает, что спрашиваем естественным образом, на естественном русском языке, без затравочных примеров и определения ролей.
Такие же запросы даем ChatGPT.

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

Новый алгоритм нашёл первый «потенциально опасный» для Земли астероид

Время на прочтение 5 мин
Количество просмотров 1.5K
Научно-популярное Астрономия
Перевод

Алгоритм обнаружения астероидов, предназначенный для поиска околоземных астероидов в рамках предстоящего десятилетнего обзора ночного неба обсерватории имени Веры К. Рубин, выявил первый «потенциально опасный» астероид - так называют космические камни в окрестностях Земли, за которыми учёные предпочитают наблюдать. Астероид диаметром около 200 метров, получивший обозначение 2022 SF289, был обнаружен во время пробного запуска алгоритма в рамках исследования ATLAS на Гавайях. Обнаружение 2022 SF289, который в обозримом будущем не представляет опасности для Земли, подтверждает, что алгоритм нового поколения, известный как HelioLinc3D, может идентифицировать околоземные астероиды с помощью меньшего количества и более разрозненных наблюдений, чем требуется для современных методов.

«Демонстрируя реальную эффективность программного обеспечения, которое "Рубин" будет использовать для поиска тысяч ещё неизвестных потенциально опасных астероидов, открытие 2022 SF289 даёт нам ощущение безопасности», - сказал научный сотрудник "Рубин" Ари Хайнце, главный разработчик HelioLinc3D и исследователь из Университета Вашингтона.

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

Волшебство Drag And Drop: Как динамические дашборды делают жизнь проще. Часть 1. Описание и мотивы

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

Всем привет :)

Я Никита, уже больше 4 лет занимаюсь фронтендом, погружаюсь в инфраструктуру и кайфую от IT мира и комьюнити около веба, частенько читаю Хабр и решил попробовать написать сам.

Цикл статей про опыт добавления динамических элементов на страницу с помощью Drag and Drop и получения данных с BFF. Предварительно разбив на три части.

1. Описание решения, технологий и мотивация

2. Техническая часть с кодом про структуру компонентов и Drag and Drop решение

3. Техническая часть с кодом про BFF( backend for frontend ) решение

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

SQL-инъекция через остановку перенаправления на страницу входа

Время на прочтение 2 мин
Количество просмотров 1.7K
Информационная безопасность *
Из песочницы
Перевод

Обзор отчета , в котором сервер компании Razer пострадал от обхода авторизации в странице администратора и SQL-инъекции. Это позволило получить доступ к игровым ключам из раздач, почтовым перепискам, данным пользователей и т.д.

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

Мы провели PyCon Russia 2023

Время на прочтение 2 мин
Количество просмотров 1.1K
Python *Конференции

В конце июля питонисты со всей страны съехались в Москву, чтобы побывать на самой масштабной, но душевной конференции для python-разработчиков: PyCon Russia. Держите отчет о том, как это было. 

В дождливую московскую пятницу утром в Старт Хаб яблоку некуда было упасть — в этом году в конференции участвовали больше шестисот человек. Такого еще не помнит новейшая пиконовская история.

Как это было
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 0

О замене потенциометров в геймпаде

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 2.1K
DIY или Сделай сам Игры и игровые консоли

С развитием игровой индустрии и ее ориентацией на консоли, геймпады все больше становятся стандартными устройствами ввода и для ПК. Кроме того, игровые контроллеры могут использоваться для управления объектами реального мира, например, печально известная подлодка «титан». Таким образом, часто возникает вопрос ремонта этих контроллеров, в том числе и самостоятельного. А там где есть спрос – там будет и предложение. Онлайн торговые площадки просто завалены запчастями и деталями для ремонта геймпадов.

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

Однако, не все потенциометры одинаковые. Так, после установки данной детали, появилась огромная «мертвая зона» (область около нейтрального положения, в которой контроллер не реагирует на движение стика), а также очень резкий переход к максимальному или минимальному значению. Т.е. по сути, стик перестает быть аналоговым, но свою функцию формально выполняет. Были закуплены другие потенциометры, разных цветов,  отдельные и в составе 3d-механизмов стика, но все они вели себя похожим образом. Чтобы выяснить, что не так с этими потенциометрами, и как это можно исправить (спойлер – никак), была собрана «измерительная установка», и проведены некоторые «измерения».

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 7

Sticky Header в SwiftUI

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 265
Разработка под iOS *Xcode *Swift *
Из песочницы

Cоздаем липкие заголовки на SwiftUI (Без introspect и GeometryReader)!
Попутно понимая как SwiftUI взаимодействует с UIKit.

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

Нужно больше Linux-смартфонов: Ubuntu Touch продолжает развиваться, поддерживая новые модели

Время на прочтение 4 мин
Количество просмотров 4.9K
Блог компании МТС Open source *Гаджеты Смартфоны

Проект Ubuntu Touch изначально развивала компания Canonical, и у неё были на мобильную версию своего дистрибутива большие планы. Но что-то пошло не так, и разработчики отказались от проекта. К счастью, он не умер, его подхватила команда из Ubports. Причём не формально — сейчас вышла новая версия прошивки, которая называется Ubuntu Touch OTA-2 Focal. Под катом — о её возможностях, включая новые модели телефонов, которые поддерживают эту прошивку.

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

Что такое формальная верификация

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1.2K
Информационная безопасность *Алгоритмы *Функциональное программирование *Криптовалюты
Обзор

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

Формальная верификация — это доказательство с использованием математических методов корректности программного обеспечения.

Формальная верификация молода. На сегодняшний день, на сайте хабр, например, нет (пока) специализации «Формальная верификация», нет специальности «Proof инженер» или «Специалист по формальной верификации». А люди, работающие по этой специальности — есть.

Программное обеспечение, которое прошло формальную верификацию считается надежным. Формальная верификация дает (с математической точностью) гарантии того, что программный код не будет содержать конкретных ошибок, что функции будут вести себя так, как ожидается.

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

Инструменты для верификации — это программные средства для доказательства теорем (Coq, Isabelle ...), а также SAT-solvers.

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

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

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

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 1.8K
Python *Математика *Визуализация данных *Машинное обучение *TensorFlow *
Из песочницы

Прочитав статью, вы узнаете, как можно прогнозировать погоду с точностью до двух градусов на 3 месяца вперед, причем здесь преобразование Фурье и машинное обучение

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

Аналитика и оптимизация батарей в IoT-устройствах

Уровень сложности Средний
Время на прочтение 19 мин
Количество просмотров 1.4K
Блог компании RUVDS.com Производство и разработка электроники *Энергия и элементы питания Интернет вещей
Обзор
Перевод

В прошлом я занимал должность инженера ПО в двух компаниях-производителях нательной электроники — Pebble и Fitbit. За время моей работы клиенты постоянно жаловались на одну и ту же проблему: продолжительность работы батареи. Это была непрекращающаяся «борьба с гидрой», когда каждая новая версия прошивки вела к очередной регрессии жизни батареи.
Читать дальше →
Всего голосов 42: ↑40 и ↓2 +38
Комментарии 6

Создаём основу для диалогового Телеграм бота в облаке

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 974
Python *Облачные сервисы *Serverless *
Из песочницы

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

Это первая статья цикла, в ней я расскажу, как создать базу — шаблонного serverless бота на Python с использованием Yandex Cloud Functions и базы данных YDB с нуля.

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

/start
Всего голосов 4: ↑2 и ↓2 0
Комментарии 0

Отношения с IT. Глава (забытая) пятнадцатая. Обратная связь

Время на прочтение 6 мин
Количество просмотров 935
Управление персоналом *Читальный зал

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

- Тебе когда-нибудь давали обратную связь?

- Конечно! Вот вчера только директор по операциям сказал, что я тупой …

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

- Не, ну, когда он меня при всех отп**орасил, я был очень мотивированным чтобы такого больше не произошло.

Процедуре обратной связи в компании как правило не уделяется значительного внимания. Большая часть людей вместо обратной связи проявляет психологическое насилие, имитирует или не дает ее вовсе. При этом какой-либо корреляции между качеством обратной связи и масштабом бизнеса нет. Скорее есть зависимость между степенью развития культуры или уровнем сознания руководителя. При этом в самой компании может стимулироваться культ качественной обратной связи, но если СЕО плевать на людей – ему плевать на людей для него будут важнее цифры (eNPS, размер освоенного бюджета на развитие мягких навыков и т.д.), которые он сможет продать акционерам или новому работодателю.

- Скажи, почему в такой демократичной компании нет практики хорошей обратной связи?

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

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

Лучший стек для питониста-джуна 2023

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 2.7K
Python *Django *Исследования и прогнозы в IT *
Мнение
Из песочницы

Давно устоявшийся и прекрасно показывающий себя фреймворк. Постоянная поддержка, множество пакетов «из под капота», отличный ORM, хорошее распределение компонентов и простота в изучении — вот, что предлагает Django.

Да, все мы знаем, что выходят новые фреймворки, например, FastAPI, который все увереннее закрепляется на рынке, но сможет ли он похвастаться тем, что имеет Django? Например, для нормальной ORM, если вы не хотите писать напрямую SQL‑запросы конечно же, нужно будет воспользоваться sqlalchemy и alembic. В Django же все проще, создай проект и твори! Есть и плюсы FastAPI, но об этом в другой статье, не будем отходить от темы.

Так вот, есть и не такие «молодые» технологии, например, тот же Flask, тоже хорошо закрепился на рынке и стеке разработчиков, но ситуация очень похожа с FastAPI, не хватает простоты и множества удобств. Та же панель администратора — это что‑то с чем‑то, максимально полезный инструмент, который используются все при создании проектов на Django. Так же, стоит отметить приложения в Django, отличный способ разделять основные модули проекта и не ловить путаницу, опять‑таки, не все могут этим похвастаться. Не стоит и забывать об огромном комьюнити пользователей этого фреймворка, я не раз сталкивался с ошибками и практически все находил на том же Stack Overflow. Еще одна, но значительная плюшка — это неплохой перевод на русский язык.

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