Рассказываем, как начинающему разработчику установить и управлять различными версиями Python с помощью Pyenv, подготовить свой проект и создать виртуальное окружение через Poetry.
User
Ленивый программист — хороший программист?
У Билла Гейтса (или не у него) есть высказывание:
«Я всегда буду искать ленивого человека — он найдёт лёгкий путь решить задачу».
И вроде бы с нею можно согласиться, но тут стоит чётко понимать, что значит здесь «ленивый».
Для чего же всё таки нужны honeypot'ы? Гайд по установке T-pot
Цель honeypot в работе ЦМР — навлечь на себя атаку или несанкционированное исследование. Такое средство позволяет изучить стратегию злоумышленника и определить, каким образом могут быть нанесены удары по реально существующим объектам безопасности.
Рассмотрим же некоторые поближе и даже установим один из них!
Лучшие тренды веб-дизайна и UI на 2022 год
Осторожно, статья очень «тяжелая», в ней много анимации (да, это один из трендов). Кликать на свой страх и риск!
Был ли 2021 год лучше 2020-го? Однозначно да — если мы говорим о UI/UX дизайне. Были созданы новые крутейшие сайты и приложения, выпущено новое ПО для графических дизайнеров. Творчество било ключом. И даже отобрать лучшие тенденции года в этот раз было трудно.
Когда дизайнеры вынуждены сидеть дома, они создают больше и успевают глубже задуматься над тем, что уже существует. Скука — злейший враг художника, и он приложит немало усилий, чтобы избавиться от нее.
Для остального мира, конечно, 2021 год был довольно сложным. Зато самая старая из ныне живущих кошек отметила свое 34-летие :) Это, наверное, самое хорошее из того, что произошло. Милейшую мордочку этой кошки вы найдете в конце статьи (на свои года она совсем не выглядит).
Рефакторинг продукта как фактор развития компании. Часть 1: история одного проекта
Под катом рассказ моего коллеги по Altenar IT-аналитика Андрея Андрианова в формате “от первого лица” об особенностях нашего рефакторинга. Надеюсь, что описанный опыт по изменению внутренней структуры кода имеющий целью облегчить понимание его работы будет вам полезен.
Как платформа на базе ИИ помогает создавать персонализированные сказки для детей
Представить, что робот рассказывает сказку ребенку, уже совсем не сложно, особенно после выхода нового сериала Риддли Скотта. В трейлере “Воспитанный волками” андроид читает малышу историю “Три поросенка”. Это 2145 год.
Но и в 2021-м есть технологичный сервис MySkazka. Платформа на базе искусственного интеллекта помогает создавать персонализированные истории для детей. Эта статья о том, как работает сервис, а также сказке об ИТ-профессиях, подготовленной по заказу ЛАНИТ для детей к Новому году.
Почему я перешёл с Python на Go: choose your fighter
В один момент мне написали из Ozon: «П̶с̶с̶,̶ ̶п̶а̶р̶е̶н̶ь̶,̶ ̶п̶о̶к̶о̶д̶и̶т̶ь̶ ̶н̶а̶ ̶G̶o̶ ̶н̶е̶ ̶х̶о̶ч̶е̶ш̶ь̶?̶ Предлагаем переход на Golang с текущего стека, обучение за счёт компании».
Каждый инженер десятки раз в своей карьере сталкивается с выбором: оставаться дальше на той технологии, на которой он работает, или уходить на другую. В статье я расскажу, по каким критериям я сравнивал две технологии, и почему принял решение переехать на другой язык.
Среди разработчиков бытует мнение, что язык вторичен. Мол, главное — уметь в computer science, а на чём писать — не так уж важно. Но так считают хардкорные разработчики, они вертят деревья, смотрят на всех свысока и зарабатывают 300кк в наносекунду. Я же программист-полукровка (без высшего технического образования, а ещё мои родители — маглы) и считаю, что смена языка — важный шаг и нужно хорошенько прикинуть, прежде чем в это вписываться. Будем откровенны, если у вас за плечами десять лет на плюсах, вряд ли вам предложат должность senior iOS-разработчика на Swift. Проблема в том, что каждый язык имеет свои особенности и на их изучение требуется время.
Современный программист — ремесленник или мастер?
Вы работаете программистом и практически каждый день пишете код. Скажите, как часто вы чувствуете удовлетворение от выполненной работы и гордость за результаты своего труда? Случалось ли вам выпускать работающий, но некачественный и «некрасивый» код только для того, чтобы уложиться в сроки? Есть ли у вас мотивация писать оптимальный код, зная, что через пару месяцев он станет неактуальным и бесполезным?
Попробуем разобраться, как же так получилось, что программирование из красивого искусства и творчества превратилось в повседневный рутинный конвейер.
Разбираемся с библиотекой лексического анализа ANTLR4
У нас в SberDevices разрабатывается платформа по управлению рекомендациями, которая взаимодействует с разными ML-движками. Со временем их станет много, и, когда пользователь умных устройств Sber будет запрашивать контент – искать фильмы, музыку, спрашивать о чём-то виртуальных ассистентов Салют, – запрос будет проходить через нашу платформу.
Сначала выбор движка мы хотели завязывать на источник сообщений – пользовательское приложение на устройстве. Сейчас мы решили управлять маршрутизацией на основе содержания сообщений – по различным полям. Для этого используется набор правил, похожих на условие WHERE в SQL, т.е. мы выбираем маршруты, у которых совпадают условия со значениями полей сообщений.
В SQL-запросе пользователь шлёт условие, по которому из существующих строк таблицы выбираются подходящие. В нашей задаче получается наоборот: входящему сообщению нужно сопоставить все условия, которые у нас есть, и вернуть те, которые прошли проверку. Правила маршрутизации – это настройки и их должны создавать не только программисты, но и менеджеры контента или дейта-сайентисты. С такими задачами справляются такие фреймворки, как, например Drools, но мы решили написать своё легковесное решение с упрощенным DSL, условия на котором может понять не только разработчик.
Для обработки правил, написанных на кастомном DSL, лучшая библиотека – ANTLR4. Я находил много статей, в которых описываются разные аспекты работы с ANTLR4, но ни в одной из них я не увидел, то, что изучил на пути создания production-ready кода. Поэтому, разобравшись, я решил собрать туториал. Ниже опишу пример парсинга SQL SELECT-запроса в объектную модель Java. Будем двигаться постепенно, в этот раз рассмотрим простейший случай. На нём мы разберём саму идею этого парсера, сделаем минимальную реализацию.
Первый митап фронтенд-гильдии Росбанка: шакализация, GraphQL и микроархитектура
Привет! Недавно мы провели небольшой митап для фронтендеров, куда пригласили троих интересных спикеров. Наш коллега Игорь Борзунов рассказал о том, как решать проблемы с плохим качеством изображений. Даниил Водолазкин из X5Tech поведал о неочевидных сложностях работы с GraphQL. И завершил программу Георгий Конюшков из «Леруа Мерлен» с темой «Time to market: микрофронтенды». В этом посте мы свели основные тезисы всех трех докладов.
Создание нативных CLI приложений на Java с помощью Graalvm и Picocli
Язык программирования Go стал популярным для написания приложений командной строки. Для этого может быть много причин, но один аспект, в котором выделяется Go, - это возможность скомпилировать программу в один нативный исполняемый файл. Это значительно упрощает распространение программы.
Программы Java традиционно было трудно распространять, потому что они требовали, чтобы на целевой машине была установлена виртуальная машина Java. Можно связать с приложением последнюю JVM, но это увеличивает размер пакета примерно на 200 МБ.
Все движется в правильном направлении: система модулей Java (JPMS), представленная в Java 9, включает утилиту jlink, позволяющую приложению создавать настраиваемую, минимизированную JRE, размер которой может составлять всего 30-40 МБ, и Java. 14 включает jpackage, которая может создать установщик, содержащий этот минимальный JRE с вашим приложением.
Тем не менее, для приложений командной строки установщик не идеален. В идеале мы хотим распространять нашу утилиту CLI как «настоящий» нативный исполняемый файл без упакованной среды выполнения. GraalVM позволяет нам делать это с помощью программ, написанных на Java.
В софте все всрато и становится еще всратее
Приветствую хабравчане!
Глава 1 - Нытье про то, что раньше было лучше
Десяток лет читаю Хабр, в основном разработка, программирование, старое железо и посты с адовым рейтингом. Видел несколько постов об ожирении сайтов, софта. О разочаровании в программировании с 2000+ постов. И пост, что в софте все ок, но никто не доволен или как оно там. А не важно. Хочу поделиться своими мыслями и наблюдениями на этот счет.
Ниже размещена картинка с ПК которые у меня были, не все, парочку ноутов я просто не помню. Эволюция их производительности, специально выделил производительность на одно ядро.
Об истории Software: почему программы становятся всё хуже
Как найти удаленную работу в США с прицелом на релокацию: описания виз, списки ~1000 компаний, полезные инструменты
Поиск работы в американских компаниях, особенно с прицелом на будущий переезд – это всегда актуальная тема. Я сам живу в США уже более пяти лет, прошел все стадии профессиональной эмиграции, запустил здесь не один бизнес и нанял немало людей.
В этой статье я собрал материалы для тех, кто задумывается о поиске сначала удаленной работы в США, а затем и о переезде. В тексте есть описания виз, списки компаний, нанимающих на remote, инструменты для подготовки к собеседованиям. Надеюсь, будет полезно!
Объяснение фильтра Калмана в картинках
Я обязан рассказать вам о фильтре Калмана, потому что он выполняет просто потрясающую задачу.
Как ни удивительно, о нём, похоже, знают немногие разработчики ПО и учёные, и это печалит меня, потому что это очень обобщённый и мощный инструмент для объединения информации в условиях присутствия неопределённости. Иногда его способность извлечения точной информации кажется почти магической, а если вы думаете, что я слишком много болтаю, то взгляните на это видео, в котором я показываю, как фильтр Калмана определяет ориентацию свободно плавающего тела, посмотрев на его вектор скорости. Потрясающе!
Собеседования джунов — вся жесть вопроса
После 2-х лет разработчиком на С# в небольшой английской компании в сфере строительства, я решил выяснить свою стоимость как специалиста на рынке труда Великобритании. Несмотря на то, что большинство вакансий представляют собой примерно одно и то же: «Требуется человек-оркестр с 10+ лет опыта для очень интересной работы», — я специально выбирал позиции исключительно младшего разработчика не содержащих цифр 5+, 10+ и 15+ в описании. Как это было — читайте дальше.
Паразит, превращающий хозяина в зомби, одержимого желанием секса
Автор: Лысый Камрад (@LKamrad)
Паразит, превращающий хозяина в зомби, одержимого желанием секса, пичкающий его галлюциногенами и "амфетамином", в то время как сам хозяин (носитель паразита) разлагается заживо, не замечая этого.
Как вам такое, правда похоже на сюжет фантастического фильма ужасов? Но это не выдумка сценаристов, а реальность. Просто жертвами паразита становятся не люди, а...
Неважно, худой ты или толстый. Главное, что не жирный
Привет всем цифрам на весах! Сегодня хотим поговорим о весе, лишнем или не очень. Чтобы начать разговор, предлагаем откинуть предрассудки. Вот несколько спорных моментов, которые хочется привести в подтверждение того, что нельзя однозначно считать какой-то вес «нездоровым» или «лишним»:
Дешево и сердито: 72 инструмента, которые помогут раскрутить стартап
Что делать, если у вас наметился стартап, а денег на его раскрутку практически нет? Конечно, придется вложить в это дело свое время, но при этом сэкономить. Мы сделали подборку сервисов, которые помогут заняться продвижением бизнеса с минимальными затратами. В нее мы добавили и очевидные инструменты, и весьма интересные, чтобы не упустить ничего. Забирайте себе, надеемся, будет полезно.
WD-40: средство, которое может почти всё
Если провести эксперимент и попросить аудиторию Хабра опознать сине-жёлтый баллончик с красной крышечкой, то 90% ответят правильно — это WD-40. Узнаваемость средства объясняется просто — его используют повсеместно, «вэдэшкой» разве что голову не моют и пельмени не заправляют. Сегодня хочу рассказать вам о смазке, ставшей популярной во всём мире. А в конце статьи — маленький опрос.
Information
- Rating
- Does not participate
- Registered
- Activity