Search
Write a publication
Pull to refresh
-5
@cosmolevread⁠-⁠only

User

Send message

«Независимо от ситуации на рынке стоит учиться на Scala»

Reading time7 min
Views17K

О «пороге входа» для Scala-программиста, переходе с Java, востребованности таких спецов на российском рынке в 2022 году мы поговорили с Алексеем Долгим (@sinc86), ведущим инженером-программистом департамента разработки компании «Криптонит».

Советы по книгам и курсам для самостоятельного изучения Scala прилагаются.

Читать далее

Как я встраивал JS в свой игровой движок

Reading time14 min
Views8.1K

Писать на С++ игры долго и дорого, но при этом по перфомансу получается хорошо. Но далеко не всё в играх, требовательно к производительности, особенно 2D. Например всякие окошечки не производят тяжелых расчетов внутри. А на больших проектах они могут занимать до 80% всего объема кода. И на С++ есть проблемы на продакшене - если где-то крешится или бажит, приходится перезаливать приложение.

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

Совсем недавно прикрутил JS к своему движку. Кому интересны подробности - добро пожаловать под кат.

Читать далее

ICMP открывашка портов для сервера

Reading time2 min
Views19K

Имею парочку VDSок для различных нужд (почта, веб-сервер, хранилка и т.п.) так вот, возникла необходимость скрывать порты (22, 443 и т.п.) от посторонних глаз. Немного подумав, а идея уже не новая, решил написать простенький, так сказать, ICMP knocker, то есть открытие портов по пингу. Но пингу не простому, а с определенным размером пакета. Пример для линукс:

ping -s 999 -c1 mysrv.com

Где -s - размер отправляемого сообщения, -с количество.

Читать далее

Как работают snap, flatpak, appimage

Reading time13 min
Views85K

Распространение приложений в линуксе - это боль. Причем в наше время цикл обновлений приложений все уменьшается и эта боль чувствуется все сильнее. В связи с этим появляются технологии вроде snap, flatpak, которые декларируют решение этих проблем. Некоторые дистрибутивы (я смотрю на тебя, Ubuntu) даже начинают довольно агрессивную политику по их внедрению. Однако, несмотря на то, что про сами эти технологии много говорят (и ещё больше жалуются), про то, как они работают написано довольно мало. Попробуем исправить это.

Disclaimer: в этой статье я не буду давать каких-то оценок, пытаться говорить что лучше. Только как это работает. Я предполагаю, что читатель знает что такое контейнеризация и как это примерно работает.

Читать далее

Отрисовка в браузере большой анимации или как я ушел с mp4 к своему формату видео

Reading time17 min
Views56K

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

Читать далее

Как создавать иконки сайтов в 2022 году — всё о favicon

Reading time9 min
Views45K

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

Статья глубоко погружается в тему, поэтому в начале я даю два фрагмента кода для тех, кто уже достаточно настрадался и понимает, что делать. Тем не менее, я всем рекомендую читать статью целиком!

Статья целиком

Обучение нейросети в речном круизе или история одного мини-проекта

Reading time15 min
Views6K

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

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

Читать далее

Баллада о долгоживущем софте

Reading time11 min
Views51K
Увлекаясь коллекционированием старого хлама винтажной электроники, я научился ценить долгоиграющие проекты. Конечно, в моей коллекции часто попадаются экспонаты противоположного типа. Вот клавиатурный коммуникатор Nokia, аналогов которого больше нет. Вот минидисковый плеер, проигрыватель музыки с мертвого формата. А вот телевизор с трубкой: таких больше не делают! Все рано или поздно заканчивается, и с возрастом иногда хочется остановить, эм, неумолимую поступь прогресса.



С железками это сделать трудно, зато можно с программами. Уже более четверти века я занимаюсь развлечением под условным названием «переустановка Windows». В последнее время чаще я устанавливаю ОС либо на новый ПК, либо на один из своих ретроэкспонатов. Как у многих из вас, у меня есть список софта, который при каждой такой операции устанавливается в первую очередь. Некоторые из этих программ я регулярно устанавливаю, и пользуюсь ими лет 15 или даже больше. Все это время создатели обновляют и развивают их, это не заброшенные проекты. В этой статье я хочу отдать должное этим разработчикам-долгожителям в субъективном хит-параде древнего, но актуального софта.
Читать дальше →

6 способов сделать наши клетки здоровее. Введение в клетку

Reading time17 min
Views13K

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

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

Читать далее

Электронные ценники— мертворожденный продукт или реальный инструмент?

Reading time5 min
Views22K

Про электронные ценники ЭЦ (в английской аббревиатуре ESL – electronic shelf labels) для розничных магазинов пишут и говорят уже с начала 2000-х годов. За четверть века технология удешевилась, усовершенствовалась и сейчас это зрелое решение, которое предлагают несколько поставщиков на рынке.

Читать далее

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

Reading time8 min
Views22K

Термин «выгорание» вошёл в мою жизнь как-то неожиданно. Работал я. Работал много лет: сначала кодил, потом свои проекты делал, команды собирал, бизнес налаживал… И тут — Бац! Куча мемов на эту тему во всех связанных с IT-ресурсах. Не знаю, то ли я в какой-то тундре жил, то ли тундра жила во мне. Но да ладно: мемы почитал, поржал и забыл. А тут неожиданно этот термин вошёл в обиход моих ребят. Где-то как бы в шутку, где-то в серьёз. А мы все знаем: в каждой шутке есть доля шутки, а остальное — чистая правда. 

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

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

«Вот я в своё время по 10 часов работал без выходных и отпусков. Скучные проекты пилил, ночью на проде хотфиксил и т.д. и т.п. У ребят же условия другие: график нормированный (авралы, конечно, бывают, но всё в рамках), переработки оплачиваются х1,5-х2 (всё по ТК), проекты интересные. Премии! Отпуска! Работа, блин, командная! Не как дурак сидишь и всё в одного пилишь, а в коллективе ответственных товарищей. Какое, мол, выгорание? Я вам сейчас расскажу про выгорание!» Ну и прочая блаж в том же духе.

Читать далее

7 типов корпоративных программистов

Reading time4 min
Views30K

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

Первый тип - быстрые программисты. С такими сталкиваешься редко. Это эрудированные и увлеченные люди, обычно занимающие высокое положение в иерархии разработчиков (тим лиды или что-то около). Основная особенность - высокая скорость написания кода и способность быстро осваивать новые технологии. Думаю, для корпоративной среды это ценные сотрудники, поскольку, чаще всего скорость в цене. Качество кода у таких программистов не всегда высокое, чаще наоборот. Иногда код сложный. Один раз я просматривал код за одним из таких специалистов и он меня поразил одной особенностью. Это был код высококлассного спеца, но выглядел он как набросок - широкими мазками была сформирована структура, но вот детали были иногда просто не реализованы. Обычно код таких программистов приходится допиливать, но главное преимущество, что код очень быстро появляется и сразу в больших объемах. Работая с таким кодом, чаще всего находишься в растерянности от широты мысли и идей автора.

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

Читать далее

Как мы впервые делали инженерный «хакатон» и что из этого вышло

Reading time6 min
Views4.7K

Привет, Хабр! Не так давно, у себя в блоге мы анонсировали студенческий инженерный «хакатон» YADRO SoC Design Challenge по проектированию современных микропроцессоров на базе архитектуры RISC-V. Теперь будет логично поделиться подробным рассказом, как это было. Спойлер: первый блин не комом, а кое в чём мероприятие даже приятно удивило. Детали читайте под катом.

Приятного чтения!

Как устроен системный калькулятор в iPhone

Reading time1 min
Views9.4K

Приложение написано на сценах. Root-контроллер называется DisplayViewController. Лейбл с введенными цифрами обернули в контейнер DisplayView и добавили жесты LongPress, Swipe и Tap.

Читать далее

Возрождение простых сайтов. Статика, 0kB JS, ничего лишнего

Reading time8 min
Views42K

Как мы обсуждали в прошлый раз, удручающее ожирение сайтов и софта вернуло моду на простые, маленькие проекты. И сейчас происходит своеобразный ренессанс веба 90-х, вплоть до стиля Geocities (такой был бесплатный хостинг) и веб-страниц в виде PDF. Таковы примеры самореализации. У каждого человека — уникальный сайт, который отличается от остальных и отражает его личность.

Статический сайт можно выполнить в одном файле HTML, а динамический — в одном бинарнике (под катом). Тенденция видна везде. Современные фреймворки даже хвалятся «0кБ JavaScript» по дефолту, а браузеры внедрили технические усовершенствования, которые во многом аннулируют преимущества использования SPA.
Читать дальше →

Как открыть ИП и ООО в Армении в 2025 году?

Reading time6 min
Views90K

2022 год стал рекордным по количеству открытых ИП и ООО в Армении в основном благодаря россиянам, и благодаря льготам для IT стартапов со стороны РА, которые полностью освобождают от налога на прибыль (18%) как минимум до 31 декабря 2022 и снижают подоходный налог на зарплаты сотрудников с 21% до 10%. В связи с этим продолжу цикл постов про Армению маленьким гидом о том, куда идти, что открывать и что потом со всем этим делать.

Читать далее

Пятьдесят лет на стезе программирования. Отступление. Расставание с прошлым

Reading time3 min
Views9.1K
imageРовно месяц была публикация «Пятьдесят лет на стезе программирования. Отступление. Встреча с прошлым», которая завершалась так таким постскриптумом:

Ссылаясь на ваш комментарий: «Говорят в ближайшие дни наши дома должны взорвать. Жалко.»
Читать дальше →

Docker: собираем веб сервер

Reading time9 min
Views62K

Готовый набор окружения веб сервера на базе контейнеров Docker. Включает в себя MySQL, PHP, NGINX, composer, SSL сертификаты и механизм резервного копирования в облако.

Читать далее

Цифровой кочевник, или тернистый путь релокации

Reading time11 min
Views10K

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

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

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

Начнем с главного. Современному поколению айтишников эмигрировать на порядок проще, чем это было раньше – у них с первого дня есть востребованная и актуальная профессия. Это важно. Если ранее эмиграция почти всегда означала потерю одного поколения – эмигрировали ради детей – то теперь уже первое поколение имеет все шансы вписаться в новую жизнь практически без «раскачки» и потери социального статуса. Уже нет необходимости жертвовать собой и своей карьерой. И это колоссальная разница между эмиграцией сейчас и, скажем, эмиграцией нулевых. Разумеется, это касается в основном айтишников, и в первую очередь – разработчиков, где начальные требования к знанию языка не слишком высоки. Тем не менее, нужно понимать, что в долгосрочном плане полноценная интеграция в общество и социальный статус все равно зависят от свободного владения языком. И это касается всех стран без исключения.

Читать далее

Information

Rating
Does not participate
Registered
Activity