Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга

Неубиваемый P2P-интернет

Блог компании FirstVDS Децентрализованные сети Информационная безопасность *Open source *Сетевые технологии *


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

Например, в апреле 2022 года запустилась пиринговая сеть Lantern. Также недавно разработана децентрализованная платформа Locutus для запуска любых P2P-приложений (от создателя легендарной пиринговой сети Freenet). Это далеко не полный список новых пиринговых проектов, созданных в последнее время для помощи людям, испытывающим затруднения в работе интернета.
Читать дальше →
Всего голосов 36: ↑36 и ↓0 +36
Просмотры 11K
Комментарии 13

Новости

Видео докладов потока Engineering. Конференция BeeTech 2.0

Блог компании Beeline Казахстан Программирование *Управление разработкой *Конференции Микросервисы *

Привет! Создали плейлисты с выступлениями на конференции BeeTech 2.0 — ежегодной бесплатной конференции, которую мы проводим для передачи знаний и развития IT-сообщества Казахстана.

В программе было 4 потока, поэтому мы сделаем 4 публикации с роликами, чтобы они попали в профильные хабы. Самые интересные выступления расшифруем и напишем по ним статьи с дополнениями от автора доклада.

Вот ссылка на весь поток Engineering, внутри статьи ссылки на каждое видео с его описанием + презентация спикера. 

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

Чтобы найти хороших разработчиков, заставьте их читать чужой код

Программирование *Управление персоналом *Карьера в IT-индустрии
Перевод
При найме разработчиков можно смотреть на различные навыки, но за годы работы я выяснил, что самое важное — простая способность кодить, и этот навык сильно опережает по важности все остальные. Я могу быстро обучить человека, чтобы он получил знания в определённой области, но никогда не видел, чтобы простая способность кодить исходила из чего-то иного, кроме как из личного стремления к упорной и глубокой практике. Благодаря этому я выяснил, что одни способы лучше подходят для выявления талантов, чем другие.
Читать дальше →
Всего голосов 81: ↑81 и ↓0 +81
Просмотры 26K
Комментарии 59

Изучение TypeScript — полное руководство для начинающих. Часть 2 — ссылочные типы данных

JavaScript *ReactJS *TypeScript *
Перевод

Всем привет!
Меня зовут Лихопой Кирилл и я - фронтенд-разработчик в компании Idaproject.

В этой серии статей я рассказываю об основах TypeScript, его преимуществах и фишках.

Сегодня мы поговорим про объекты, массивы и функции, а также затронем еще пару тем, полезных для веб-разработки. Если вы пропустили первую часть, то советую ознакомиться: Изучение TypeScript — Полное руководство для начинающих. Часть 1 — введение и примитивные типы данных. Итак, начнем.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 2.9K
Комментарии 0

Оптический трюк: волшебное зеркало из жидких кристаллов

Блог компании ua-hosting.company Математика *Научно-популярное Физика


При наблюдении за работой иллюзиониста или фокусника в голове всегда возникает вопрос «как он это делает?». Порой кажется, что трюк настолько нереален, что начинаешь верить в волшебство и магию. Однако, как бы прагматично это не звучало, магия заключается не в каких-то таинственных силах и заклинаниях, а в талантливом и весьма креативном применении точных наук. Многие фокусы, которые поражают воображение зрителей, являются не более чем устройствами, объединяющими в себе инженерию и физику. Одним из самых популярных физических инструментов фокусника всегда была оптика, а точнее зеркала и стекла. Еще тысячи лет тому назад в Древнем Китае и Японии ремесленники научились делать бронзовые зеркала, которые выглядели как обычное зеркало, если человек смотрел на свое отражение. Но если на него падали прямые солнечные лучи, то волшебное зеркало показывало какое-то изображение. Лишь в начале XX века ученые сообразили, что работа этого устройства основана на том, что изображение, отбрасываемое на обратную сторону зеркала, создает небольшие вариации поверхности, которые вызывают формирование нового изображения. И вот уже в XXI ученые из OSA (Оптическое общество) решили осовременить древнекитайское волшебное зеркало, использовав жидкие кристаллы. Как было создано волшебное зеркало 2.0, каков принцип его работы, и где оно может найти свое практическое применение? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Просмотры 6K
Комментарии 2

Как мы в команде Oracle-разработки организовали deploy

Блог компании Совкомбанк Технологии Oracle *Отладка *

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

Читать далее
Всего голосов 6: ↑3 и ↓3 0
Просмотры 1.4K
Комментарии 7

Фронтенд-новости №5. Отказ от React, новые CSS-свойства для адаптивности и JS-контейнеры

Блог компании HTML Academy Разработка веб-сайтов *JavaScript *HTML *Node.JS *

Подборка того, что волновало фронтенд-разработку, пока все отдыхали на майских.

Горячее

Веб быстро развивается и уже пора переосмыслить подходы к адаптации интерфейсов. Используйте CSS-свойства, функции и значения: clamp(), min-content, max-content, fit-content, auto-fit, minmax().

Узнайте о JavaScript контейнерах.

Что случится если вы откажетесь от React?

Ещё один сайт на HTML. Да, так тоже можно.

Остальные новости и статьи — под катом.

Что там у вас ещё
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 11K
Комментарии 5

Механизмы сериализации в Java и Kotlin

Блог компании Usetech Программирование *Java *Kotlin *

В этой статье Илья Гершман, ведущий разработчик Юзтех, рассматривает понятия сериализации и десериализации в сравнении между двумя языками программирования — Java и Kotlin.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 2.3K
Комментарии 4

Пишем приложение на JetBrains Exposed

Программирование *Kotlin *

При всём разнообразии фреймворков для работы с базой данной, стоящих и постоянно развивающихся не так уж и много. И если про Hibernate знают все, а про JOOQ знают очень многие, то слабая популярность Exposed скорее связана с его ориентацией на Kotlin. Если Вы только-только пришли в Kotlin из Java, Вам архитектурные подходы, заложенные в Exposed (переполнение лямбдами и функциями-замыканиями, к примеру) могут показаться дичью, но пугаться не стоит: чем дальше Вы будете осваивать Kotlin, тем привычнее для Вас будут конструкции Exposed.

Какое-то время назад здесь уже была статья про Exposed, от компании Otus, но с тех пор прошло больше года и многие практики пользования фреймворком нужно освежить - даже пока я писал эту статью, многое поменялось!

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.3K
Комментарии 1

Как пропатчить ОС 1996 года с помощью Ghidra

Блог компании SkillFactory C *Реверс-инжиниринг *Старое железо Звук
Перевод

Не так давно автор материала работал над сложной головоломкой: как пропатчить операционную систему сэмплового синтезатора 1996 года Kurzweil K2500. О путешествии автора в старый код музыкального инструмента рассказываем к старту курса по разработке на C++.

Читать далее
Всего голосов 55: ↑55 и ↓0 +55
Просмотры 8.6K
Комментарии 5

TileTool — модуль для обучения детей основам разработки игр

Python *Разработка игр *Дизайн игр *Изучение языков
Из песочницы

TileTool -игра на Python за считанные минуты. Модуль генерации и построения двухмерных игровых миров TileTool, базирующийся на небезызвестном PyGame, экономит кучу времени и помогает детям, изучающим программирование без боли освоить геймдев, а инди разработчикам упростить и ускорить разработку.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 7.2K
Комментарии 7

Как работает ViewEncapsulation и ng-deep в Angular

CSS *Angular *
Из песочницы

Перевод (а точнее оригинал) моей статьи опубликованной здесь

Многие Angular разработчики и верстальщики, пишущие CSS/SCSS код в Angular-приложениях сталкивались с ситуацией, когда надо применить стили к компоненту вложенному в текущий и не до конца разобравшись как это работает, выключали инкапсуляцию стилей или добавляли ng-deep, при этом не учитывая некоторых нюансов, что в последствии приводит к проблемам. В данной статье я попытаюсь максимально просто и сжато изложить все детали.

Когда у компонента включена инкапсуляция стилей (по умолчанию она включена и в большинстве случаев стоит оставить ее включенной), стили содержащиеся в файле\файлах стилей компонента будут применяться только к элементам этого компонента. Это очень удобно, вам не нужно следить за уникальностью селекторов, не нужно использовать БЭМ или придумывать длинные имена классов и следить за их уникальностью, хотя вы по-прежнему можете это делать, если хотите. Во время компиляции проекта Angular сам добавит к каждому элементу уникальный атрибут, например, _ngcontent-ool-c142 и заменит ваш класс .my-class на .my-class[_ngcontent-ool-c142] (это в случае ViewEncapsulation.Emulated, которая включена по умолчанию, если вы укажете `ViewEncapsulation.ShadowDom`, поведение будет другое, но результат тот же).

Теперь давайте представим, что у нас есть компонент ComponentA

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1K
Комментарии 1

OpenVPN. Инструкция по применению

Информационная безопасность *Open source **nix *Разработка под Linux *

Виртуальные частные сети (VPN) давно вошли в повседневную жизнь. Множество технологий и реализаций сервиса приватных сетей (как для частного применения, так и для использования внутри периметра организаций), обеспечивающих определённый уровень безопасности, доступны для использования широкому кругу ИТ-специалистов.

Не смотря на обилие технологий, предлагаю остановиться на старом добром OpenVPN (в связке с EASY-RSA). Решение от Джеймса Йонана отличается гибкостью, функциональностью, надёжностью и непрерывностью разработки на протяжении приличного временного периода. Так сказать, мастодонт от мира VPN-решений.

Спойлер — ссылка на довольно функциональное решение (ничего особенного, чистый бэкэнд), написанное на bash некоторое время назад, ждёт вас в конце публикации (в виде github-репозитория под именем «openvpn_helper»), а здесь же уделю внимание общей структуре и некоторым аспектам использования набора скриптов и OpenVPN.

***

Список необходимых компонентов (используемая ОС — AlmaLinux 8):

1) OpenVPN 2.4.12;
2) EASY-RSA 3.0.8.

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 8.9K
Комментарии 7

Эффективная генерация сортируемых GUID для первичных ключей БД на клиенте

Программирование *.NET *Microsoft SQL Server *C# *Хранилища данных *

Использовать Guid.NewGuid() в качестве первичного ключа в базе данных — плохая с точки зрения производительности идея. Это связано с тем, что в SQL Server, MySQL и некоторых других БД для первичных ключей создаются кластерные индексы, которые определяют, как строки будут храниться на диске. GUID — это по сути случайное значение, поэтому новая строка может попасть в начало, середину или конец таблицы. Серверу БД в этом случае придётся перемещать другие строки, что приведёт к фрагментации данных, а их извлечение может занять больше времени, если вам нужно извлечь несколько добавленных последовательно записей (например, когда вы добавляете набор связанных сущностей, которые потом будут извлекаться вместе — БД понадобится прочитать данные из разрозненных страниц вместо последовательного чтения набора данных).

Поэтому, чаще всего, лучше пользоваться сгенерированными БД первичными ключами. В SQL Server, например, есть функция NEWSEQUENTIALID(), которая генерирует последовательные GUIDы. Зачем может понадобиться генерировать ключи именно на клиенте и как это правильно сделать?

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Просмотры 5.3K
Комментарии 34

В России начали строить фабрику для выпуска 28-нм чипов. Но все не так просто

Блог компании Selectel Исследования и прогнозы в IT Производство и разработка электроники *Процессоры

На днях стало известно о том, что в Зеленограде приступили к строительству фабрики, которая, по плану, будет выпускать процессоры по 28 нм техпроцессу. Этот проект разработали уже давно, но к его реализации приступили только сейчас. В целом, проект интересный, но в ходе его выполнения может возникнуть немало проблем. Обо всем этом — под катом.
Читать дальше →
Всего голосов 141: ↑133 и ↓8 +125
Просмотры 103K
Комментарии 784

Недельный геймдев: #69 — 8 мая, 2022

Разработка игр *

Из новостей: Blender 3.2 Beta, Unity выложила руководство по 2D-арту, анимации и освещению, Движок BRender и исходники 3D Movie Maker выложили в опенсорс, подробности о технологии лицевых ригов MetaHuman Creator.

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.9K
Комментарии 2

Как улучшить распознавание скелетов в MediaPipe

Блог компании Recognitor Алгоритмы *Обработка изображений *Машинное обучение *Искусственный интеллект
Tutorial

Я очень люблю скелетные детекторы из Mediapipe. Чтобы запустить их нужно всего несколько минут. Работает на разных платформах (мобильные, pc, embedded, и.т.д.). И выдает достаточное качество для многих применений. 

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

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 2.1K
Комментарии 14

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 6

Python *
Tutorial

На прошлом уроке мы научились превращать набор особых точек, найденных специальным детектором особых точек, в граф. Там же я объяснил, зачем это вообще надо. Сегодня мы будем изучать такую область науки о компьютерном зрении, как нахождение областей интереса на изображении. Как правило, это вторая часть этапа обработки изображений (см. первый урок). И так, предположим, нам надо найти на изображении дорожный знак. Пусть мы пока ограничимся только поиском знаков «кирпич». Вот наша рабочая картинка:

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 3.4K
Комментарии 4

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

Python *Алгоритмы *

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

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 5K
Комментарии 32