habrahabr
P2P-форум с нуля | от NAT hole punching до автономной и полностью децентрализованной сети

Многие, кто работают с интернет-сокетами в любой сфере IT, задаются вопросом о пробросе портов. Связано это с тем, что практически во всех домашних/общественных/корпоративных роутерах реализован механизм NAT, который перекрывает прямой доступ к устройствам в этих подсетях извне, общаясь с внешним интернетом от их имени. У NAT есть киллер-фича — он представляет собой идеальный фаервол: атаки извне не могут использовать порты локальных устройств напрямую, следовательно, это решает проблему ата…

  • суббота, 7 октября 2023 г. в 00:00:25
habrahabr
Проектируем узлы печатной платы с учетом особенностей монтажа при массовом производстве. Подход DFA

Автор статьи — Александр ПатутинскийТехнолог по подготовке и запуску печатных плат в производство, инспекциям печатных плат (AOI, AVI). Технолог по SMT-, THT- и PressFit-монтажу, инспекциям печатных узлов (SPI, AOI, X-ray).Специалист по DFM- и DFA-анализам.Сегодня мы рассмотрим, что стоит учесть в конструкторской документации, чтобы защититься от проблем на этапе автоматизированного монтажа компонентов на плате. Я покажу, как можно организовать подбор элементов, их взаимное расположение и разв…

  • суббота, 7 октября 2023 г. в 00:00:24
habrahabr
Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля?

Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали бы даже на железе 20-летней давности. Полтора года назад, в мае 2022 года, я написал демку гоночной игры с очень знакомым всем нам сеттингом — жигули, девятки, десятки, и всё это даже с тюнингом! В этой статье я расскажу вам…

  • суббота, 7 октября 2023 г. в 00:00:23
habrahabr
Проблемы современного программного обеспечения — невозможность отключения «ненужного функционала»

Версия статьи не от дилетанта, с более близкими для Хабра примерами… лежит здесь!Сразу оговорюсь, я знаю о существовании Linux,  существовании бесплатных аналогов больших программных комплексов, но эти бесплатные аналоги не всегда удовлетворяют удобством, в сравнении с привычными для многих программными комплексами. При этом, использование самих привычных программ, с годами превращается всё в большую муку.При этом мне кажется, что идёт какая-то сумасшедшая гонка: более прожорливый софт — быстр…

  • суббота, 7 октября 2023 г. в 00:00:22
golang
Готовый набор golang линтеров (джунам и мидлам)

При рефакторинге легаси проекта перед нами встала задача внедрить в компании готовый линтер-тулз, дабы минимизировать объёмы генерируемого говнокода.Вот что у нас получилось (полная инструкция по внедрению).1. Сам ямл, со всем конфигомЯмл закидывается в корень проекта под названием .golangci.ymllinters-settings: varnamelen: min-name-length: 2 max-distance: 20 nlreturn: # Size of the block (including return statement that is still "OK") # so no return split required.…

  • суббота, 7 октября 2023 г. в 00:00:21
javascript
Юриспруденция и программирование: что общего?

Юриспруденция и программирование… Казалось бы, что может быть общего у этих двух совершенно не похожих и не связанных друг с другом сфер деятельности? Юристы — это стопроцентные гуманитарии (по крайней мере так считается), а программисты — это технари, копающиеся в машинном коде. Но правда в том, что эти две области знаний, как ни странно, имеют очень много общего. А, главное: у них одна основа — логика! Сейчас я попытаюсь это доказать на примере языка JavaScript.Что такое Закон в широком смы…

  • суббота, 7 октября 2023 г. в 00:00:19
javascript
Миграция с Webpack и react-scripts на Vite: Путь к Быстрому и Легковесному React

Введение Я работаю фронтенд-разработчицей в IT-компании, и многие из моих проектов на протяжении долгого времени собирались с использованием Webpack. Настройка Webpack иногда бывала сложной, но в целом он справлялся с задачей сборки проектов. Однако в последнее время мои коллеги начали восторгаться новым инструментом - Vite. Они рассказывали о его легковесности, быстрой сборке и преимуществах для разработчиков React-приложений. В этой статье я поделюсь своим опытом миграции с Webpack и react…

  • суббота, 7 октября 2023 г. в 00:00:19
github
PHP-CS-Fixer / PHP-CS-Fixer

A tool to automatically fix PHP Coding Standards issues PHP Coding Standards Fixer The PHP Coding Standards Fixer (PHP CS Fixer) tool fixes your code to follow standards; whether you want to follow PHP coding standards as defined in the PSR-1, PSR-2, etc., or other community driven ones like the Symfony one. You can also define your (team's) style through configuration. It can modernize your code (like converting the pow function to the ** operator on PHP 5.6) and (micro…

  • суббота, 7 октября 2023 г. в 00:00:17
github
gethomepage / homepage

A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations. A modern, fully static, fast, secure fully proxied, highly customizable application dashboard with integrations for over 100 services and translations into multiple languages. Easily configured via YAML files or through docker label discovery.       Features With features like quick search, bookmarks, weather support, a wide range of integ…

  • суббота, 7 октября 2023 г. в 00:00:15