Пользователь
Разработка сложных процессорных систем на примере модуля SMARC. Продолжение
![](https://habrastorage.org/webt/rm/kr/_i/rmkr_il0-ojszwbd_l7l1xjcays.png)
Как и обещал, выкладываю продолжение на тему разработки на процессорах. В этой статье хочу коснуться нескольких тем:
- выбор стека платы,
- документация от производителя процессора,
- трассировка полигонов питания,
- расчет волнового сопротивления.
Все, что хотел, снова не уместилось в статье, а комкать информацию не хочется, чтобы еще больше не запутать. В материале много картинок, но это позволит проще воспринимать и запоминать информацию.
Светящиеся конденсаторы и дисплеи на их основе (в том числе DIY) на любой поверхности? Почему нет…
![](https://habrastorage.org/webt/z_/r9/fa/z_r9faw3kr9qrcdjfyi--dnmzoq.jpeg)
Что, если я скажу вам, что существуют светящиеся конденсаторы, которые могут быть использованы в качестве элементов дисплеев?
Несмотря на странное, на первый взгляд, утверждение, всё более, чем реально, и, мало того, известно около века…
Магия CSS на практике: советы по вёрстке от гика. Часть 2
![](https://habrastorage.org/webt/fo/xp/wa/foxpwat1obcz0y0wf_gladedwju.jpeg)
Хабр, привет! Я снова пришёл к вам со статьёй, где показываю мои любимые техники вёрстки. Моя цель — поделиться опытом с вами. Я использую не только трюки известных экспертов, есть лично мои придумки. Но, пожалуйста, относитесь к этому контенту, как просто альтернативному мнению. Мои техники не являются единственными правильными решениями.
Сегодня я расскажу:
- какие правила у меня есть при именовании CSS-переменных для дизайн-систем;
- на какие логические свойства вам стоит обратить внимание;
- зачем нужно делать прозрачные рамки;
- как я делаю зависимость значения одного свойства от других более явным;
- про пользу «внутренних» переменных.
Давайте посмотрим, что я вам подготовил.
Как устроен Braid?
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/ef7/3ef/c13/ef73efc13070ce93f4933a4caa0ef598.png)
Многие играли в знаменитую инди‑игру Braid и многие были впечатлены механикой возврата во времени. Для меня, как для программиста, это было особенно интересно, я решил попробовать повторить эту механику и вот что я узнал.
Тогда и сейчас
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/297/105/03a/29710503a7ad0149519a18507c343112.jpg)
Примечание: этот материал был написан ещё в далёком 2021 году, но его практически никто не видел кроме полутора знакомых автора. Я долго сомневался, стоит ли публиковать его на Хабре — всё‑таки ресурс в первую очередь технический. С другой стороны, здесь есть множество классных не совсем технических статей, например, про фотоохоту в городе. На мой взгляд, охота за прошлым может быть не менее увлекательной. Приятного чтения!
Наверное я слишком часто говорю в своих публикациях про DRTV, но ничего не могу с собой поделать — уж очень нравилось мне это шоу в своё время. Эта статья не станет исключением — источником вдохновения стал очередной выпуск, в котором Кай гуляет по Гонконгу и рассказывает об исторических местах, пытаясь снять их с того же ракурса и с той же перспективой как на старинных фотографиях. Это достаточно интересное фотоиспытание, мне захотелось повторить это и сейчас я хочу поделиться первыми результатами.
Как я реализовал процедурную генерацию лабиринтов в своей игре
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/d01/e61/9a4/d01e619a45059ec616ec355998225c5f.png)
Приветствую вас! Меня зовут Денис, я разрабатываю игры на Unity, и сегодня я расскажу о том, как устроена генерация лабиринтов в игре, которая находится на данный момент в разработке.
Это не коммерческий проект (хотя есть планы по выпуску игры в Google Play), а мой личный, так что в конце статьи вас ждёт технодемка.
systemD с 0 до 1: библия сисадмина
![](https://habrastorage.org/webt/ss/3i/2u/ss3i2ue25kekaxt0f8o2qclvabg.jpeg)
Что бы кто не говорил, systemD становится стандартом систем инициализацией в линуксе. И с 80% вероятностью все сервера будут с systemD. Не факт, конечно, есть и личные сервера, на которых может стоять хоть Gentoo, хоть Devuan, хоть NixOS.
Некоторые дистрибутивы хотят даже перейти с загрузчика Grub на systemd-boot! Потому знать, как работать с данной системой инициализации, должен каждый сисадмин и просто программист, ибо сейчас он практически везде.
В этой статье мы разберем — создание сервисов и юнитов, как облегчить работу при помощи systemd, отслеживать состояние системы и управлять ей.
А также напишем небольшой скрипт на Python для автомизации некоторых задач. Приятного чтения, господа линуксоиды и просто пользователи!
Готовимся к вопросам по вёрстке на интервью Frontend-разработчика: «Как скрыть элемент доступно?»
Перейди по ссылке, и я узнаю твой номер
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/180/02c/c9d/18002cc9d6499febeee560f52e3e0b7e.jpg)
В цифровую эпоху уже никто не удивляется, когда ему звонят с незнакомых номеров с рекламой. Мало ли какие соглашения о персональных данных мы подписываем и на каких сайтах оставляем свой номер.
Но сейчас на рынке информационных услуг всё большую популярность набирают сервисы, занимающиеся деанонимизацией пользователей при одном лишь открытии сайта. Причём всё это преподносится как абсолютно легальный сервис для бизнеса, с соблюдением закона о персональных данных.
Но что если вы не хотите оставлять свой номер на сайте, который просто открыли? Поговорим на примере одного из таких сервисов - dmp.one. Важно: автор рекомендует открывать этот адрес во вкладке инкогнито с включённым uBlock Origin с кастомными правилами (о них ниже), иначе есть риск попадания вашего телефона в базу.
Почему я отказался от разработки игр на Rust, часть 1
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/025/9bc/4e3/0259bc4e31dd716aef85c3825a6f8e6a.jpg)
Предисловие: этот пост представляет собой очень длинный перечень мыслей и проблем, возникавших у меня за годы работы; также в нём рассматриваются некоторые из аргументов, которые мне часто говорили. В посте выражено моё мнение, сформировавшееся у меня в процессе разработки игр на Rust в течение многих тысяч часов на протяжении многих лет и после множества завершённых игр. Это не хвастовство и не показатель успеха, я просто хочу сказать, что вложил достаточно много усилий в Rust; здесь не получится сказать «когда наберёшься опыта, тебе всё станет понятно».
Пост не будет ни научной оценкой, ни A/B-исследованием. Это моё личное мнение после разработки игр на Rust маленькой инди-командой (два человека) в попытках заработать достаточно денег, чтобы финансировать процесс. Мы не одни из тех разработчиков с бесконечными финансами от инвестора и многолетним запасом времени. Если вы находитесь в этой категории и получаете удовольствие от многолетней разработки систем, то всё написанное ниже к вам не относится. Я рассматриваю всё с такой точки зрения: «Мне хочется создать игру максимум за 3-12 месяцев, чтобы люди могли сыграть в неё, а я — немного заработать». Статья не написана с точки зрения «Я хочу изучить Rust, а разработка игр — это весело», хотя это и вполне нормальная цель; просто она никак не согласуется с тем, чего хотим мы — заниматься разработкой игр коммерчески успешным и самодостаточным образом.
Мы выпустили несколько игр на Rust, Godot, Unity и Unreal Engine, и многие люди сыграли в них в Steam. Мы создали с нуля собственный игровой 2D-движок с простым рендерером, а также в течение нескольких лет использовали Bevy и Macroquad во многих проектах, некоторые из которых были очень нетривиальными. Кроме того, я бэкенд-разработчик на полную ставку и пишу код на Rust. Этот пост — не какое-то поверхностное мнение после изучения нескольких туториалов или разработки небольшой игры для геймджема. За три с лишним года мы написали сильно больше ста тысяч строк кода на Rust.
Задача этого поста — развеять популярные и часто повторяемые аргументы. Но это всё-таки субъективное мнение; по большей части я написал пост, чтобы не объяснять снова и снова одно и то же. Пусть это будет справочный материал о том, почему мы, скорее всего, откажемся от Rust как от инструмента для разработки игр. Мы ни в коем случае не планируем прекращать создавать игры, просто не будем делать это на Rust.
Пошаговая шпаргалка по защите сервера от хакеров и другой нечисти
![](https://habrastorage.org/webt/nv/pj/fj/nvpjfjg0bvlcniskuxsmyhxpw0k.png)
Когда сервер создается для личных нужд, то чаще всего внимания безопасности почти не уделяется. А ведь это фатальная ошибка…
Представьте: вот арендовали вы сервер, запустили на нем SAMP или Minecraft, а через время видите, как наступает хаос. Виртуальную машину взломали и с открытым фанатизмом портят сборку плагинов, которую вы так долго делали.
Привет! На связи Йети — самый йетический автор Vscale. Это моя первая статья на Хабре. В ней я расскажу, как защитить сервер от хактевистов и другой нечисти. Подробности под катом! :)
35+ бесплатных ресурсов для начинающих разработчиков С++
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/6ab/051/83b/6ab05183bfd2cb68c417ebc3b41e4145.png)
Привет. Предположим, вы захотели начать изучать языĸ программирования C++ или, возможно, тех материалов, что уже изучили, вам недостаточно.
Я — Савва, программирую уже больше 7 лет, работаю менеджером команды наставников в Практикуме на курсе «Разработчик С++», а с недавнего времени — разработчиком в Positive Technologies. В этой статье мы с вместе с Практикумом собрали леĸции, ĸниги, курсы и всяĸое таĸое, чтобы шансов выстрелить себе в ногу самостоятельно было меньше :) По C++ существуют и другие подборĸи, но, ĸ удивлению, на Хабре их всего две.
Основные типы распределений вероятностей в примерах
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/6b0/82b/33e/6b082b33e1eaaa1ba22fe3b5d59d45b7.png)
Статистические исследования и эксперименты являются краеугольным камнем развития любой компании. Особенно это касается интернет-проектов, где учёт количества пользователей в день, времени нахождения на сайте, нажатий на целевые кнопки, покупок товаров является обычным и необходимым явлением. Любые изменения в пользовательском опыте на сайте компании (внешний вид, структура, контент) приводят к изменениям в работе пользователя и, как результат, изменения наблюдаются в собираемых данных. Важным элементом анализа изменений данных и его фундаментом является использование основных типов распределений случайных величин, от понимания которых напрямую зависит качество оценки значимости наблюдаемого изменения. Рассмотрим их подробнее на наглядных примерах.
Тестирование без моков: язык паттернов. Часть 2
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/382/538/f3b/382538f3b7522207991c748cecd36501.png)
Язык паттернов помогает избежать многих проблем: не использует широкие тесты, не использует моки, не игнорирует инфраструктуру и не требует архитектурных изменений. Он обладает мощью широких тестов, а также скоростью, надёжностью и удобством сопровождения, присущим модульным тестам. Хотя и не обошлось без компромиссов. В этой публикации подробнее рассмотрим паттерны инфраструктуры, паттерны Nullability и паттерны тестирования легаси-кода.
Как сайты обнаруживают ботов по TLS
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/ea2/a11/cda/ea2a11cda11a82f3118d8acbc1e14c09.png)
Порой случается так что несмотря на то что мы в точности повторяем запрос к сайту из своего любимого HTTP клиента в ответ мы получаем ошибку. Но ведь в браузере запрос проходит! В чём же дело? В этой статье мы с этим разберемся!
Как оформлять текст в игровых интерфейсах
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/787/3a5/7df/7873a57df329634b1d62fbdcc16c5b71.png)
Статья про приёмы, упрощающее восприятие текста игроками и про особенности работы с текстом на игровых проектах.
Популярные конфигурационные опции для работы с git
Привет! Я всегда мечтала, чтобы в инструментах для работы с командной строкой заранее сообщалось, насколько популярны те или иные конфигурационные опции, предусмотренные в них, например:
o «В принципе, никто этим не пользуется»
o «Этой опцией пользуется 80% аудитории, стоит ознакомиться»
o «У этой опции предусмотрено 6 возможных значений, но в реальной практике применяется всего 2 из них».
Так что я решила спросить пользователей Mastodon, какие у них любимые опции конфигурации git:
А какие опции git config вы больше всего любите выставлять? В настоящее время у меня в ~/.gitconfig установлены только git config push.autosetupremote true и git config init.defaultBranch main, вот интересуюсь, а что выставляют другие люди.
Как обычно, получила КУЧУ отличных откликов и так узнала множество очень популярных опций конфигурации git, о которых ранее никогда не слышала.
Далее перечислю их по порядку, при этом (очень примерно) попытаюсь начать с наиболее популярных.
Все описанные опции документированы на странице man git-config, а также на этой странице.
От потери к вдохновению: история развития стартапа
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/ae2/2e4/c75/ae22e4c75709c8748a8d58510eae6b05.png)
Я хочу рассказать вам нашу историю создания продукта. С одной стороны, наш опыт может вдохновить кого-то, а с другой стороны, возможно, вы найдете наш продукт полезным. Несмотря на то, что это еще одно приложение по здоровью, я, как и, вероятно, каждый учредитель, считаю его уникальным. Но давайте начнем с начала.
Идея создания продукта зародилась после серии смертей друзей. Все эти люди умерли в возрасте чуть за свои 55 лет, не имея серьезных проблем со здоровьем (по крайней мере, ничего такого, о чем они бы знали). Смерть всех была связана с сердечно-сосудистыми заболеваниями. Но то, что эти смерти можно было предотвратить, стало понятно после прочтения книги "9 шагов на пути к вечной жизни", написанной совместно с футурологом Google.
Следующим большим шагом была работа в Fitbit. Компания в то время только приобрела стартап в сфере здравоохранения с профилем помощи людям с хроническими заболеваниями. И тут мне повезло работать над портфелем проектов по здоровью. Этот опыт показал еще один вариант развития старения. Стоит сказать, что до этого я не представляла себе, что лечение хронических заболеваний не спасает от развития осложнений.
Таким образом, начались поиски решений, в том числе различных платформ, мобильных приложений и надежных источников информации. Я была одной из первых пользователей и поддерживала приложение Lifext с самого его появления на хабре. Наверное, как и многие я следила за публикациями Open Longevity и общалась с некоторыми его участниками. А в 2018 году у нас появился первый прототип продукта, который мы использовали сами и предоставляли своей семье. Затем прототип передавался по кругу друзей и знакомых, пока не попал к замечательному врачу. И это стало тем переворотом, с которого и началась разработка продукта.
Как переехать в Европу стартаперам и IT-специалистам
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/e78/cc2/399/e78cc2399d58530c652066fd38883281.jpg)
Как переехать в Европу без Digital Nomad?
Краткий обзор на 34 визовые программы в Европе для айти-специалистов и предпринимателей, которые ведут к ПМЖ и гражданству.
Информация
- В рейтинге
- 2 382-й
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Дата рождения
- Зарегистрирован
- Активность