Как стать автором
Обновить
4
0
Алексей @HaJIuBauKa

Software Engineer

Отправить сообщение

Деплой .NET приложений для самых маленьких. Часть 2. Github Actions

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3.4K

В прошлой статье мы рассмотрели чрезвычайно популярный инструмент для выкатки приложений Jenkins. Мы подружили его через плагины с SSH, с GitHub, построили простой пайплайн с помощью Groovy. И вроде все здорово, все работает как должно, но все равно есть ощущение, что можно сделать лучше. И действительно, наш процесс можно улучшить, перестав проводить сборку на VPS.

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

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

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

Андреас Клинг, его операционная система SerenityOS и браузер Ladybird

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров13K


Говорят, что в спортзале сильнее всех выкладываются бывшие алкоголики и наркоманы, они работают из последних сил. И это наблюдение не только из спорта, но и из других сфер жизни. Если люди склонны к зависимости, это может проявиться в разных увлечениях, куда они погружаются с головой: трудоголизм, женщины, хобби, гурманство, коллекционирование и т. д. Каждому делу они словно отдаются целиком.

Взять к примеру шведского программиста Андреаса Клинга (Andreas Kling). В 2018 году он вышел из государственной клиники реабилитации наркоманов после трёхмесячного курса — и в качестве хобби начал разработку операционной системы SerenityOS. Нужно было чем-то занять свободное время и избавиться от посторонних мыслей. Создание новой ОС вполне подходит для такой задачи.

За несколько лет SerenityOS стала одним из крупнейших опенсорсных проектов в мире с тысячами контрибуторов. Приятный интерфейс в стиле 90-х, Unix-подобное ядро и лучшие идеи из других ОС — вот рецепт успеха.
Читать дальше →
Всего голосов 58: ↑56 и ↓2+73
Комментарии23

Паттерны проектирования в Unity: от Singleton до Object Pool

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров4.9K

Паттерны проектирования в Unity: от Singleton до Object Pool

В этой статье мы подробно рассмотрим ключевые паттерны проектирования, такие как Singleton, Observer, Factory Method и Object Pool. Узнайте, как эти паттерны могут улучшить структуру вашего кода, повысить производительность игры и упростить управление ресурсами. Пошаговые примеры помогут вам внедрить эти методы в ваш проект и сделать его более масштабируемым и устойчивым.

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

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

Время на прочтение10 мин
Количество просмотров38K

1


В новый офис бывших коллег я попал под аккомпанемент дождя. Вот-вот начался май, пора к такому привыкать. Отряхиваюсь от влаги, жму руку бывшему руководителю, через просторный холл поднимаюсь на второй этаж, дальше по коридору, затем направо или налево — уж и не вспомню — и вот она, цитадель геймдева. Знакомые лица, знакомые рукопожатия, всё как в старые добрые времена. За три месяца инди-плавания я уже успел подзабыть, что такое офисные кресла, кофемашина и фритуплей.
Читать дальше →
Всего голосов 40: ↑36 и ↓4+32
Комментарии16

О, «Герои»? Дайте две! Как я писал очередной браузерный клон легендарной стратегии, в который уже почти* можно играть

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров35K


TL;DR для тех, кому некогда читать™:




Вот как всё начиналось
Всего голосов 191: ↑191 и ↓0+191
Комментарии79

Создание сеток шестиугольников

Время на прочтение25 мин
Количество просмотров98K
image

Сетки из шестиугольников (гексагональные сетки) используются в некоторых играх, но они не так просты и распространены, как сетки прямоугольников. Я коллекционирую ресурсы о сетках шестиугольников уже почти 20 лет, и написал это руководство по самым элегантным подходам, реализуемым в простейшем коде. В статье часто используются руководства Чарльза Фу (Charles Fu) и Кларка Вербрюгге (Clark Verbrugge). Я опишу различные способы создания сеток шестиугольников, их взаимосвязь, а также самые общие алгоритмы. Многие части этой статьи интерактивны: выбор типа сетки изменяет соответствующие схемы, код и тексты. (Прим. пер.: это относится только к оригиналу, советую его изучить. В переводе вся информация оригинала сохранена, но без интерактивности.).
Читать дальше →
Всего голосов 92: ↑91 и ↓1+90
Комментарии25

Как я решил сделать игру, вдохновившись Heroes of Might and Magic, и потерял деньги (часть 1, 2)

Время на прочтение12 мин
Количество просмотров66K
Данная история будет состоять из трёх частей, т.к. я выпустил три игры:

  • Beasts Battle
  • Necromancer Returns
  • Magicians Legacy

Часть‌ ‌1


Для тех кто предпочитает смотреть, а не читать, я подготовил видео этой статьи.


В каждом выпуске будут цифры по каждой игре, какой бюджет и доход принесли игры…

Сразу скажу, я – фанат серии Heroes of Might and Magic и King's Bounty. Играл почти во все части и аддоны, за исключением седьмой части, т.к. время идет, жизнь меняется и на игры времени не осталось.
Всего голосов 106: ↑105 и ↓1+137
Комментарии108

Super Heavy Starship. Первый пуск. Успешный старт и разрушение в полете. Первые мысли

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров38K

20 апреля 2023 года прошел пуск самой мощной ракеты и, наверное, самой мощной машины, созданной человеком. Почти 7600 тонн-сил тяги или 74 МегаНьютонов силы подняли 5000 тонного монстра в небо.

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

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

Читать далее
Всего голосов 86: ↑79 и ↓7+95
Комментарии303

Книга «C# 10 и .NET 6. Современная кросс-платформенная разработка»

Время на прочтение12 мин
Количество просмотров20K
image Привет, Хаброжители!

Шестое издание книги серьезно переработано, добавлены все новые функции, реализованные в версиях C# 10 и .NET 6.

Вы изучите принципы объектно-ориентированного программирования, научитесь писать, тестировать и отлаживать функции, реализовывать интерфейсы и наследовать классы. В издании рассматриваются API .NET, призванные решать такие задачи, как управление данными и их запросами, мониторинг и повышение производительности, а также работа с файловой системой, асинхронными потоками, сериализацией и шифрованием. В книге приведены примеры кода кросс-платформенных приложений, веб-сайтов и служб, которые вы можете создавать и развертывать на основе ASP.NET Core.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии5

Интегрируем Яндекс Музыку в Visual Studio Code

Время на прочтение15 мин
Количество просмотров21K

Представьте, что вы можете слушать свои любимые песни на Яндекс.Музыке, прямо из своего любимого редактора кода, не переключаясь между приложениями. Это уже не мечта, а реальность! В этой статье мы рассмотрим, как интегрировать Яндекс.Музыку в Visual Studio Code и наслаждаться любимой музыкой прямо во время работы.

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

О применении RazorPages в консольных и десктопных приложениях

Время на прочтение17 мин
Количество просмотров4.1K

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

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

О синглтонах и статических конструкторах

Время на прочтение8 мин
Количество просмотров29K
Изначально автор хотел назвать эту статью следующим образом: «О синглтонах, статических конструкторах и инициализаторах статических полей, о флаге beforeFieldInit и о его влиянии на deadlock-и статических конструкторов при старте сервисов релизных билдов в .Net Framework 3.5», однако в связи с тем, что многострочные названия по неведомой автору причине так и не прижились в современном компьютерном сообществе, он (автор) решил сократить это название, чудовищным образом исказив его исходный смысл.

-------------------------

Любая реализация паттерна Синглтон в общем случае преследует две цели: во-первых, реализация должна быть потокобезопасной, чтобы предотвратить создание более одного экземпляра в многопоточном мире .Net; а во-вторых, эта реализация должна быть «отложенной» (lazy), чтобы не создавать экземпляр (потенциально) дорого объекта раньше времени или в тех случаях, когда он вообще может не понадобиться. Но поскольку основное внимание при прочтении любой статьи про реализацию Синглтона отводится многопоточности, то на «ленивость» зачастую не хватает ни времени не желания.

Читать дальше →
Всего голосов 80: ↑65 и ↓15+50
Комментарии35

Пять простых шагов для понимания JSON Web Tokens (JWT)

Время на прочтение5 мин
Количество просмотров671K

jwt


Представляю вам мой довольно вольный перевод статьи 5 Easy Steps to Understanding JSON Web Tokens (JWT). В этой статье будет рассказано о том, что из себя представляют JSON Web Tokens (JWT) и с чем их едят. То есть какую роль они играют в проверке подлинности пользователя и обеспечении безопасности данных приложения.

Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии60

Датчик CO2 — прибор, который подскажет когда проветрить, чтобы думалось эффективнее

Время на прочтение7 мин
Количество просмотров156K
image

Помните, на Хабре в разделе GTD была любопытная статья от BarsMonster о том, что кроме лени, прокрастинации и проблем с планированием времени может мешать эффективной работе и жизни?
Если кто пропустил эту статью — очень рекомендую!

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

В этой статье я поделюсь с вами результатами своих изысканий.
Проводил замеры в небольшой квартире, торговом зале на 100 квадратов, а также в небольшой приёмной одной компании. Кому интересно, добро пожаловать под Cut (осторожно, траффик).
Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии56

Регулярные выражения. Всё проще, чем кажется

Время на прочтение7 мин
Количество просмотров112K

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

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

Читать далее
Всего голосов 40: ↑36 и ↓4+41
Комментарии71

Лучшее компьютерное кресло: табурет и здоровые мышцы спины

Время на прочтение5 мин
Количество просмотров96K

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

Такая поддержка служит заменой базовой способности человека держать осанку с прямой спиной и поднятой головой без особых усилий, не уделяя этому сознательного внимания. Баг это или фича — зависит от контекста. На дороге — фича, потому что при столкновении даже на городских скоростях никакие мышцы, никакая богатырская сила не удержит тело человека в безопасном положении. В помещении поддержка при наборе действий «присесть-привстать-наклониться-повернуться-потянуться» становится «поддержкой», превращаясь в настоящий баг, который обкрадывает человеческое тело от необходимой ему минимальной нагрузки, чтобы оставаться полноценно функциональным в любом возрасте.
Что лучше для здоровья?
Всего голосов 57: ↑48 и ↓9+57
Комментарии154

Вертебро-базилярная недостаточность — болезнь программиста с тысячью лиц

Время на прочтение13 мин
Количество просмотров25K


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

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

Однако в то же время все перечисленные симптомы, столь непохожие друг на друга, характерны и для вертебро-базилярной недостаточности (ВБН), а причиной развития данного недуга может оказаться искривление шейного отдела позвоночника, вызванное неправильной осанкой при длительной работе за компьютером. Что же это за болезнь и как не допустить ее развития? Об этом мы и расскажем в сегодняшнем материале.
Читать дальше →
Всего голосов 39: ↑37 и ↓2+48
Комментарии24

Чернобыль ч.1. РБМК-1000

Время на прочтение13 мин
Количество просмотров66K

Автор: Александр Старостин

Авария на Чернобыльской атомной электростанции, произошедшая в 1 час 23 минуты 47 секунд 26 апреля 1986 года, стала одной из крупнейших техногенных катастроф в истории человечества. Порядка 115 тысяч человек было выселено из зоны отчуждения. Более 600 тысяч человек приняли участие в ликвидации аварии. Загрязнено более 200 тысяч квадратных километров, из оборота были выведены 5 миллионов гектаров земель. Значительному загрязнению подверглись территории Украины, Белоруссии (по некоторым данным, загрязнению подверглось 20% площади этой страны), России. Кроме того, чернобыльская радиация была обнаружена в северной и западной Европе, а также у берегов Северной Америки. Масштабы аварии повергают в шок.

Записано множество воспоминаний, издано огромное количество книг, многие из них описывают чуть ли не поминутно последний день четвёртого энергоблока ЧАЭС. И тем не менее далеко не все готовы изучать или систематизировать огромный объём информации о том, что же происходило в те жуткие весенние дни, а также на протяжении следующих нескольких лет. Прошло уже 35 лет с момента аварии, а потому мне кажется, что стоит собрать всю имеющуюся информацию в едином цикле, дабы позволить читателю ознакомиться с хронологией тех уже почти забытых событий, а также с их контекстом.

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

Читать далее
Всего голосов 38: ↑34 и ↓4+45
Комментарии58

10 расширений для VS Code, без которых я не могу программировать

Время на прочтение3 мин
Количество просмотров150K
VS Code — мой любимый редактор кода. Это — самый популярный из существующих редакторов, возможности которого можно расширять практически до бесконечности. И, что удивительно, разработала его компания Microsoft. Я полагаю, что ни один из других редакторов и ни одна из других IDE не может дать разработчику хотя бы половину того, что способен дать ему VS Code. Одна из сильных сторон VS Code — это система расширений. Она позволяет создавать расширения буквально на все случаи жизни. Хочу рассказать вам о моём топ-10 расширений для VS Code.


Читать дальше →
Всего голосов 57: ↑31 и ↓26+21
Комментарии70

JavaScript и TypeScript: 11 компактных конструкций, о которых стоит знать

Время на прочтение12 мин
Количество просмотров45K
Существует очень тонкая грань между чистым, эффективным кодом и кодом, который может понять только его автор. А хуже всего то, что чётко определить эту грань невозможно. Некоторые программисты в её поисках готовы зайти гораздо дальше других. Поэтому, если нужно сделать некий фрагмент кода таким, чтобы он был бы гарантированно понятен всем, в таком коде обычно стараются не использовать всяческие компактные конструкции вроде тернарных операторов и однострочных стрелочных функций.

Но правда, неприятная правда, заключается в том, что эти вот компактные конструкции часто оказываются очень кстати. И они, при этом, достаточно просты. А это значит, что каждый, кому интересен код, в котором они используются, может их освоить и понять такой код.



В этом материале я собираюсь разобрать некоторые весьма полезные (и иногда выглядящие достаточно таинственными) компактные конструкции, которые могут попасться вам в JavaScript и TypeScript. Изучив их, вы сможете пользоваться ими сами или, как минимум, сможете понять код тех программистов, которые их применяют.
Читать дальше →
Всего голосов 37: ↑22 и ↓15+18
Комментарии17
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Челябинск, Челябинская обл., Россия
Дата рождения
Зарегистрирован
Активность