Pull to refresh
-2
0
Send message

Современный Python: как начать свой проект с нуля при помощи Pyenv и Poetry

Reading time7 min
Views54K

Рассказываем, как начинающему разработчику установить и управлять различными версиями Python с помощью Pyenv, подготовить свой проект и создать виртуальное окружение через Poetry.

Читать далее
Total votes 15: ↑11 and ↓4+8
Comments16

Ленивый программист — хороший программист?

Reading time3 min
Views16K

У Билла Гейтса (или не у него) есть высказывание:

«Я всегда буду искать ленивого человека — он найдёт лёгкий путь решить задачу».

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

Читать далее
Total votes 15: ↑10 and ↓5+11
Comments54

Для чего же всё таки нужны honeypot'ы? Гайд по установке T-pot

Reading time6 min
Views9.3K

Цель honeypot в работе ЦМР — навлечь на себя атаку или несанкционированное исследование. Такое средство позволяет изучить стратегию злоумышленника и определить, каким образом могут быть нанесены удары по реально существующим объектам безопасности.

Рассмотрим же некоторые поближе и даже установим один из них!

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments4

Лучшие тренды веб-дизайна и UI на 2022 год

Reading time8 min
Views45K
image

Осторожно, статья очень «тяжелая», в ней много анимации (да, это один из трендов). Кликать на свой страх и риск!


Был ли 2021 год лучше 2020-го? Однозначно да — если мы говорим о UI/UX дизайне. Были созданы новые крутейшие сайты и приложения, выпущено новое ПО для графических дизайнеров. Творчество било ключом. И даже отобрать лучшие тенденции года в этот раз было трудно.


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


Для остального мира, конечно, 2021 год был довольно сложным. Зато самая старая из ныне живущих кошек отметила свое 34-летие :) Это, наверное, самое хорошее из того, что произошло. Милейшую мордочку этой кошки вы найдете в конце статьи (на свои года она совсем не выглядит).

Читать дальше →
Total votes 9: ↑5 and ↓4+4
Comments11

Рефакторинг продукта как фактор развития компании. Часть 1: история одного проекта

Reading time24 min
Views2.4K

Под катом рассказ моего коллеги по Altenar IT-аналитика Андрея Андрианова в формате “от первого лица” об особенностях нашего рефакторинга.  Надеюсь, что описанный опыт по изменению внутренней структуры кода имеющий целью облегчить понимание его работы будет вам полезен. 

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments2

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

Reading time5 min
Views3.9K

Представить, что робот рассказывает сказку ребенку, уже совсем не сложно, особенно после выхода нового сериала Риддли Скотта. В трейлере “Воспитанный волками” андроид читает малышу историю “Три поросенка”. Это 2145 год. 

Но и в 2021-м есть технологичный сервис MySkazka. Платформа на базе искусственного интеллекта помогает создавать персонализированные истории для детей. Эта статья о том, как работает сервис, а также сказке об ИТ-профессиях, подготовленной по заказу ЛАНИТ для детей к Новому году. 

Читать далее
Total votes 23: ↑22 and ↓1+28
Comments2

Почему я перешёл с Python на Go: choose your fighter

Reading time8 min
Views60K
Привет, Хабр! Меня зовут Саша, я бэкенд-разработчик в Ozon. Пишу платформу для контента, который генерят пользователи: отзывов, комментов, вопросов, ответов. Раньше я писал на Python. Выбрал его изначально из-за лёгкого синтаксиса и большого количества вакансий для Python-разработчиков — изи катка для входа в профессию. 

В один момент мне написали из Ozon: «П̶с̶с̶,̶ ̶п̶а̶р̶е̶н̶ь̶,̶ ̶п̶о̶к̶о̶д̶и̶т̶ь̶ ̶н̶а̶ ̶G̶o̶ ̶н̶е̶ ̶х̶о̶ч̶е̶ш̶ь̶?̶ Предлагаем переход на Golang с текущего стека, обучение за счёт компании».

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


Среди разработчиков бытует мнение, что язык вторичен. Мол, главное — уметь в computer science, а на чём писать — не так уж важно. Но так считают хардкорные разработчики, они вертят деревья, смотрят на всех свысока и зарабатывают 300кк в наносекунду. Я же программист-полукровка (без высшего технического образования, а ещё мои родители — маглы) и считаю, что смена языка — важный шаг и нужно хорошенько прикинуть, прежде чем в это вписываться. Будем откровенны, если у вас за плечами десять лет на плюсах, вряд ли вам предложат должность senior iOS-разработчика на Swift. Проблема в том, что каждый язык имеет свои особенности и на их изучение требуется время.
Читать дальше →
Total votes 49: ↑41 and ↓8+45
Comments131

Современный программист — ремесленник или мастер?

Reading time4 min
Views8.6K

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

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

Читать далее
Total votes 23: ↑19 and ↓4+20
Comments53

Разбираемся с библиотекой лексического анализа ANTLR4

Reading time9 min
Views14K

У нас в SberDevices разрабатывается платформа по управлению рекомендациями, которая взаимодействует с разными ML-движками. Со временем их станет много, и, когда пользователь умных устройств Sber будет запрашивать контент – искать фильмы, музыку, спрашивать о чём-то виртуальных ассистентов Салют, – запрос будет проходить через нашу платформу.

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

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

Для обработки правил, написанных на кастомном DSL, лучшая библиотека – ANTLR4. Я находил много статей, в которых описываются разные аспекты работы с ANTLR4, но ни в одной из них я не увидел, то, что изучил на пути создания production-ready кода. Поэтому, разобравшись, я решил собрать туториал. Ниже опишу пример парсинга SQL SELECT-запроса в объектную модель Java. Будем двигаться постепенно, в этот раз рассмотрим простейший случай. На нём мы разберём саму идею этого парсера, сделаем минимальную реализацию.

Читать далее
Total votes 11: ↑10 and ↓1+12
Comments11

Первый митап фронтенд-гильдии Росбанка: шакализация, GraphQL и микроархитектура

Reading time15 min
Views2.3K

Привет! Недавно мы провели небольшой митап для фронтендеров, куда пригласили троих интересных спикеров. Наш коллега Игорь Борзунов рассказал о том, как решать проблемы с плохим качеством изображений. Даниил Водолазкин из X5Tech поведал о неочевидных сложностях работы с GraphQL. И завершил программу Георгий Конюшков из «Леруа Мерлен» с темой «Time to market: микрофронтенды». В этом посте мы свели основные тезисы всех трех докладов.

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments0

Создание нативных CLI приложений на Java с помощью Graalvm и Picocli

Reading time15 min
Views7.5K

Язык программирования Go стал популярным для написания приложений командной строки. Для этого может быть много причин, но один аспект, в котором выделяется Go, - это возможность скомпилировать программу в один нативный исполняемый файл. Это значительно упрощает распространение программы.

Программы Java традиционно было трудно распространять, потому что они требовали, чтобы на целевой машине была установлена ​​виртуальная машина Java. Можно связать с приложением последнюю JVM, но это увеличивает размер пакета примерно на 200 МБ.

Все движется в правильном направлении: система модулей Java (JPMS), представленная в Java 9, включает утилиту jlink, позволяющую приложению создавать настраиваемую, минимизированную JRE, размер которой может составлять всего 30-40 МБ, и Java. 14 включает jpackage, которая может создать установщик, содержащий этот минимальный JRE с вашим приложением.

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

Читать далее
Total votes 13: ↑11 and ↓2+11
Comments4

В софте все всрато и становится еще всратее

Reading time5 min
Views176K

Приветствую хабравчане!

Глава 1 - Нытье про то, что раньше было лучше

Десяток лет читаю Хабр, в основном разработка, программирование, старое железо и посты с адовым рейтингом. Видел несколько постов об ожирении сайтов, софта. О разочаровании в программировании с 2000+ постов. И пост, что в софте все ок, но никто не доволен или как оно там. А не важно. Хочу поделиться своими мыслями и наблюдениями на этот счет.

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

Читать далее
Total votes 542: ↑458 and ↓84+462
Comments1418

Как найти удаленную работу в США с прицелом на релокацию: описания виз, списки ~1000 компаний, полезные инструменты

Reading time5 min
Views32K

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

В этой статье я собрал материалы для тех, кто задумывается о поиске сначала удаленной работы в США, а затем и о переезде. В тексте есть описания виз, списки компаний, нанимающих на remote, инструменты для подготовки к собеседованиям. Надеюсь, будет полезно!

Читать далее
Total votes 32: ↑18 and ↓14+14
Comments11

Объяснение фильтра Калмана в картинках

Reading time9 min
Views42K
image

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

Как ни удивительно, о нём, похоже, знают немногие разработчики ПО и учёные, и это печалит меня, потому что это очень обобщённый и мощный инструмент для объединения информации в условиях присутствия неопределённости. Иногда его способность извлечения точной информации кажется почти магической, а если вы думаете, что я слишком много болтаю, то взгляните на это видео, в котором я показываю, как фильтр Калмана определяет ориентацию свободно плавающего тела, посмотрев на его вектор скорости. Потрясающе!
Читать дальше →
Total votes 116: ↑116 and ↓0+116
Comments31

Собеседования джунов — вся жесть вопроса

Reading time6 min
Views86K

После 2-х лет разработчиком на С# в небольшой английской компании в сфере строительства, я решил выяснить свою стоимость как специалиста на рынке труда Великобритании. Несмотря на то, что большинство вакансий представляют собой примерно одно и то же: «Требуется человек-оркестр с 10+ лет опыта для очень интересной работы», — я специально выбирал позиции исключительно младшего разработчика не содержащих цифр 5+, 10+ и 15+ в описании. Как это было — читайте дальше.

Читать далее
Total votes 77: ↑69 and ↓8+79
Comments237

Паразит, превращающий хозяина в зомби, одержимого желанием секса

Reading time3 min
Views79K

Автор: Лысый Камрад (@LKamrad)

Паразит, превращающий хозяина в зомби, одержимого желанием секса, пичкающий его галлюциногенами и "амфетамином", в то время как сам хозяин (носитель паразита) разлагается заживо, не замечая этого.

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

Читать далее
Total votes 187: ↑173 and ↓14+192
Comments147

Неважно, худой ты или толстый. Главное, что не жирный

Reading time11 min
Views32K

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

Читать далее
Total votes 58: ↑52 and ↓6+63
Comments77

Дешево и сердито: 72 инструмента, которые помогут раскрутить стартап

Reading time10 min
Views12K

Что делать, если у вас наметился стартап, а денег на его раскрутку практически нет? Конечно, придется вложить в это дело свое время, но при этом сэкономить. Мы сделали подборку сервисов, которые помогут заняться продвижением бизнеса с минимальными затратами. В нее мы добавили и очевидные инструменты, и весьма интересные, чтобы не упустить ничего. Забирайте себе, надеемся, будет полезно.

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments4

WD-40: средство, которое может почти всё

Reading time8 min
Views59K

Если провести эксперимент и попросить аудиторию Хабра опознать сине-жёлтый баллончик с красной крышечкой, то 90% ответят правильно — это WD-40. Узнаваемость средства объясняется просто — его используют повсеместно, «вэдэшкой» разве что голову не моют и пельмени не заправляют. Сегодня хочу рассказать вам о смазке, ставшей популярной во всём мире. А в конце статьи — маленький опрос.

Читать далее
Total votes 67: ↑62 and ↓5+72
Comments147

Information

Rating
Does not participate
Registered
Activity