Как стать автором
Обновить
6
Карма
0
Рейтинг
Семченко Александр @0xcffaedfe

Программер & Реверсер

58 байтов CSS, которые выглядят красиво почти где угодно

Веб-дизайн *CSS *HTML *
Перевод

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

main {
  max-width: 38rem;
  padding: 2rem;
  margin: auto;
}

Давайте их разберём.
Читать дальше →
Всего голосов 55: ↑46 и ↓9 +37
Просмотры 26K
Комментарии 11

Всё про USB-C: резисторы и E-Marker

Блог компании RUVDS.com Интерфейсы *Энергия и элементы питания
Перевод

Если вы следите за нашей сагой про USB-C, то уже знаете, что жила CC в этих кабелях используется для коммуникации и определения полярности. Однако есть и один малоизвестный факт, а именно то, что в USB-C коммуникация реализуется через два протокола – аналоговый и цифровой. Сегодня мы разберём аналоговую передачу, получше уяснив роль и принцип работы пресловутых резисторов 5,1 кОм. Помимо этого, мы познакомимся с микросхемами E-Marker и таинственным VCONN.

Прим. пер.: продолжение серии статей про особенности реализации и использования стандарта USB-C. Другие части доступны здесь:

Читать дальше →
Всего голосов 58: ↑58 и ↓0 +58
Просмотры 8K
Комментарии 12

Заметка о восстановлении Grub UEFI для Proxmox 7.xx (Debian 11)

Системное администрирование **nix *Серверное администрирование *DevOps *
Кейс

Доброго времени суток, Хабр!

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

Недавно, после установки драйверов видеокарты NVIDIA для XFCE4 на Proxmox 7.xx перестал пинговаться гипервизор с роутера и компов сети. После его перезагрузки я увидел черный экран и надписью "grub disk native sectors not found".

Как восстановить загрузку с диска LVM Deb
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 2.9K
Комментарии 45

Алиса, Яндекс.Станция и Nigthscout

Python *API *Яндекс API *Облачные сервисы *
Кейс

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

Сервис Nightscout, представляющий собой веб-приложение с базой данных об уровне глюкозы и событиях терапии, позволяет обращаться к себе по API с запросом информации. А всем известная голосовая помощница и колонка с ней - позволяет разрабатывать для себя индивидуальные варианты диалогов "запрос" - "ответ".

Например, "скажи, какой уровень глюкозы у ... ?". а в ответ: "уровень такой-то, снижение/рост на столько-то, за последние Х минут снижение/рост умеренный/сильный на Y ммоль на литр." (немного легкой аналитики и выводов).

Итак, по шагам.

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

Пишем и отлаживаем приложения для Flipper Zero

C *Программирование микроконтроллеров *Гаджеты
Туториал
Из песочницы

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

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

JEP-400 или UTF-8 РєРѕРґРёСЂРѕРІРєР° РїРѕ умолчанию

Блог компании JUG Ru Group Программирование *Java *Разработка под Linux *Разработка под Windows *

Не прошло и пяти лет, как в Java 18 докатилось небольшое, но очень ожидаемое и обсуждаемое изменение: теперь во всех стандартных API используется UTF-8 кодировка по умолчанию. Это изменение, которое сделает выражение «Write once, run anywhere» действительно правдой, так как теперь поведение приложения будет еще меньше зависеть от системы, где оно запущено. 

На конференции Joker я рассказал, как развивались события в работе над JEP-400 и как сделать так, чтобы ничего не поломалось после перехода на новые версии JDK. А теперь делюсь с Хабром и видеозаписью доклада, и текстовой версией. Как говорится, помимо двух самых сложных задач в программировании – нейминга и инвалидация кэша, есть ещё две: таймзоны и кодировки. Вот о кодировках и поговорим. Как читается название доклада/поста — разберёмся в конце.

Читать далее
Всего голосов 49: ↑48 и ↓1 +47
Просмотры 9.7K
Комментарии 20

Обзор Harbor. Реестр Docker образов с организацией прав доступа и сканированием образов на наличие угроз

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

В основе концепции Docker лежит такое понятие как образ. В терминологии Docker образ — это исполняемый файл (шаблон), в котором содержится исходный код приложения, его библиотеки и все самое необходимое для запуска контейнера. Готовые образы хранятся в реестрах. Один из самых известных и в тоже время общедоступных реестров это Docker Hub — официальный реестр от разработчиков Docker. Однако существуют сторонние продукты, которые значительно расширяют функционал реестров, например, путем использования прав доступа и сканирования образов на наличие уязвимостей. Одним их таких продуктов является Harbor.

Harbor — это бесплатный реестр для хранения Docker образов c открытым исходным кодом, который предоставляет доступ к образам с помощью политик, а также умеет сканировать образы на наличие уязвимостей. Проект был запущен в 2016 году силами командой инженеров из компании VMware. В 2018 году Harbor перешел под контроль организации CNCF и с тех пор активно развивается — новые версии стабильно выходят несколько раз в месяц.

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

Шаблон приложения Asp .Net Core 6 Web API с предустановкой и настройкой необходимых инструментов

Программирование *.NET *Visual Studio *C# *Разработка под Windows *
Туториал

Обычно моя работа связана с разработкой функционала REST веб-сервисов. Чаще всего, разработка эта ведется на базе уже существующих приложений, созданных и настроенных ранее по шаблону Web API в VisualStudio. Создавать новые приложения приходится не часто, последнее созданное мной, было еще на .NET Core 3.1, поэтому, когда возникает подобная задача, приходится тратить время на повторное изучение технологий первоначальной настройки приложения, чтобы оно отвечало всем требованиям бизнес-процесса компании, в которой я работаю. Столкнулся с этой задачей накануне, решил создать шаблон приложения (ссылка на репозиторий GitHub), в котором уже все настроено и готово. Краткое описание процесса привожу в этой статье. Постарался разбить сам процесс на независимые блоки, чтобы для реализации одного из них не приходилось изучать другие. Намеренно подробно освящаю настройку базовых функции, не вдаваясь в описание принципа работы той или иной функции - для более глубокого понимания привожу ссылки на документацию, по которой учился сам. Статья моя будет полезна для новичков в качестве отправной точки для изучения тех или иных функций .Net Core 6, а так же для специалистов, которые как и я, сосредоточены на реализации бизнес-логики приложения и требуется сократить время восстановления в памяти технологии его первоначальной настройки.

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

Разбираем атаки на Kerberos с помощью Rubeus. Часть 2

Блог компании T.Hunter Информационная безопасность *


Всем привет!

Это вторая часть статьи про возможности инструмента проведения атак на протокол Kerberos — Rubeus. Первую можно прочитать тут. В этот раз мы рассмотрим, как с помощью данного инструмента возможно реализовать следующие атаки:


  • Overpass The Hash/Pass The Key (PTK);
  • Pass The Ticket;
  • Unconstrained Delegation;
  • Constrained Delegation.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 6.3K
Комментарии 0

simctl: управление симуляторами Apple через терминал

Тестирование IT-систем *Разработка под iOS *Разработка мобильных приложений *Отладка *Тестирование мобильных приложений *
Всем привет! Меня зовут Паша Лесюк, я работаю мобильным тестировщиком в компании Циан. В этой статье я расскажу о возможностях управления яблочными симуляторами из командной строки.

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 11K
Комментарии 5

SwiftUI по полочкам

Разработка под iOS *Разработка мобильных приложений *Дизайн мобильных приложений *
Туториал
Из песочницы
Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого уже не застал. Сейчас, если начинаешь с нуля, выбор языка уже не стоит. Swift вне конкуренции.

То же самое, но в меньшем масштабе, происходит и с фреймворками. Появление SwiftUI — не исключение. Вероятно, я — представитель первого поколения разработчиков, кто стартовал с изучения SwiftUI, проигнорировав UIKit. У этого есть своя цена — обучающих материалов и примеров работающего кода пока очень мало. Да, в сети уже есть некоторое количество статей, рассказывающих о той или иной особенности, том или ином инструменте. На том же www.hackingwithswift.com уже довольно много примеров кода с объяснениями. Однако, они слабо помогают тем, кто решил изучать SwiftUI с нуля, как я. Большинство материалов в сети — это ответы на конкретные, сформулированные вопросы. Опытный разработчик легко разберется, как все устроено, почему именно так, и зачем это нужно применять. Новичку же, сначала нужно понять, какой вопрос задать, и только тогда он сможет добраться до этих статей.



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

Надеюсь статья поможет вам сэкономить некоторое время, когда вы тоже захотите ощутить немного магии.
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 65K
Комментарии 30

Пишем блог на микросервисах – часть 3 «User»

Блог компании X5 Tech Go *Микросервисы *
Во второй части нашего цикла статей «Пишем блог на микросервисах» мы описали «API Gateway».

Здесь мы опишем реализацию микросервиса User.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 4.7K
Комментарии 1

Реактивная разработка Telegram бота

Сетевые технологии *Go *
Из песочницы
Доброго времени суток, Habr'овчане.

В поисках различной информации по разработке бота для чата Telegram в сети Интернет обнаружил, что все tutorial'ы хоть и достаточно полны различными механиками взаимодействия с библиотекой «telegram-bot-api», никто не пришёл к умозаключению, что жизнь товарищей всегда нужно улучшать в сторону облегчения труда (программисты — люди по натуре своей ленивые), потому решил написать собственный tutorial с применением собственной библиотеки-обёртки, которая умеет на данный момент только читать сообщения и отправлять на них ответ, но обо всём по порядку.
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 18K
Комментарии 12

MOXA Nport — взгляд изнутри

Промышленное программирование *Программирование микроконтроллеров *
Серверы сбора данных по последовательным портам MOXA Nport и им подобные — в настоящее время являются стандартом де факто в области построения систем передающих или принимающих данные через интерфейсы RS-232,RS-485 и RS-422.

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

Все, что может генерировать данные или управляться удаленно и имеет интерфейс RS-232, RS-485 и RS-422 — работает через данные преобразователи.

Общий смысл их использования — обычно заключается в следующем: пробросить интерфейсы RS-232,RS-485 и RS-422 через существующую локальную сеть, подключить устройство или прибор имеющий один из последовательных интерфейсов к ПК (серверу, SCADA) через Ethernet, подключится к прибору имеющему последовательный интерфейс через Internet для удаленного управления и т.п.

Цены на данные преобразователи не сильно высоки, младшие модели можно взять за 100-200$. Но учитывая что на любом автоматизированном производстве таких устройств может быть установлено сотни а то и тысячи — вырисовывается довольно лакомый кусочек для отечественных «импортозамещальщиков».

Им то я сегодня и попытаюсь помочь.

Что будем делать?

Во первых — разберемся в теории, как оно устроено внутри.

Во вторых — вычленим минимальный функционал для запуска работы в режиме Real Com Mode (то есть по сути для проброса виртуального COM порта до устройства через Ethernet).

В третьих — ради интереса разберем протокол поиска и конфигурирования устройства через утилиту NPort Administration Suite. Получим полное понимание, как создать pin-to-pin аналог железки, которую можно воткнуть вместо существующей MOXA Nport при этом получив полную поддержку со стороны родного ПО и драйвера.

Ну и на последок — попробуем посчитать, сколько индусов писало код прошивки MOXA.
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 20K
Комментарии 16

Функциональная парадигма на Go: основные техники

Блог компании OTUS Go *


Всем привет, напоминаем о том, что в этом месяце в OTUS стартует новый набор по курсу «Разработчик Golang». Несмотря на некоторый хейт предыдущей статьи по Golang, наш внештатный автор решил рискнуть продолжить серию статей, посвященных этому языку. Мы попробуем пройти по этому тонкому льду еще раз, оперевшись на то, на что в Golang вроде как можно опереться — на функциональную парадигму.



Напоминаем, что данная статья является неким материалом для «внеклассного чтения» и не имеет отношения к программе курса, с которой можно ознакомиться тут.
Читать дальше →
Всего голосов 37: ↑22 и ↓15 +7
Просмотры 10K
Комментарии 25

Как создать свое первое веб-приложение с помощью Go

Go *
Туториал
Из песочницы

Привет, Хабр! Представляю вашему вниманию перевод статьи "How to build your first web application with Go" автора Ayooluwa Isaiah.


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

Читать дальше →
Всего голосов 27: ↑24 и ↓3 +21
Просмотры 37K
Комментарии 13

Чем чревато отключение «лишних» проверок в САПР печатных плат

CAD/CAM *Производство и разработка электроники *Электроника для начинающих
Туториал
В современных условиях инженеру-проектировщику необходимо постоянно получать новые знания, чтобы быть востребованным на рынке труда. Часто получать новую информацию приходится, так сказать, “без отрыва от производства”: в ходе работы над проектом, в поездках на работу и т.п. Современный цифровой мир это позволяет, было бы желание. Однако, иногда качество получаемых знаний может страдать. Информация усваивается человеком поверхностно или даже в искаженном виде.

Общаясь с трассировщиками ПП, работающими в САПР печатных плат Cadence OrCAD/Allegro, я иногда замечал, что люди не придают большого значения цветовой индикации полей в редакторе правил Constraint Manager. А именно: пользователи не обращают внимания на то, что некоторые колонки раскрашены в желтый цвет.

На самом деле желтый цвет в редакторе правил Cadence означает, что данная проверка не может быть проведена по какой-либо причине. Причины могут быть разными:

  • Проверка отключена пользователем.
  • Проводящая дорожка либо не проложена вовсе, либо не доведена до конца.
  • Иные причины.

В большинстве случаев не возникает фатальных ситуаций, при которых появляются ошибки, приводящие к неработоспособности ПП. Поскольку OrCAD PCB Editor обладает многоступенчатым механизмом проверок проекта на DRC, просто так, одним движением их не отключить. Однако иногда из-за досадного пробела в знаниях, или же из-за невнимательности, создаются ситуации, приводящие к возникновению некорректных ситуаций в проекте.
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 4.6K
Комментарии 6

Введение в SSD. Часть 1. Историческая

Блог компании Selectel Хранение данных *Компьютерное железо История IT


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

Несмотря на обилие различных устройств для хранения информации, популярность HDD и SSD в наше время неоспорима. Разница между этими двумя видами накопителей для обывателя очевидна: SSD дороже и быстрее, а HDD дешевле и вместительнее.

Отдельное внимание следует обратить на единицу измерения вместимости накопителей: исторически сложилось, что десятичные приставки, такие как кило- и мега-, в контексте информационных технологий подразумевают как десятая и двадцатая степень двойки. Для исключения путаницы были введены двоичные приставки киби-, меби- и другие. Разница этих приставок становится заметной с увеличением объема: покупая диск на 240 гигабайт, вы можете сохранить на нём 223.5 гибибайта информации.
Читать дальше →
Всего голосов 48: ↑44 и ↓4 +40
Просмотры 44K
Комментарии 43

VPN в каждый дом или как приручить Дракона

Информационная безопасность *
Туториал

Ниже я расскажу о том, как заменить ваш VPN провайдер собственным сервером, развернутым на DigitalOcean с использованием WireGuard.


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


Решение достаточно простое — развернуть свою VPN ноду.


Я хочу сделать это просто

Читать дальше →
Всего голосов 34: ↑27 и ↓7 +20
Просмотры 71K
Комментарии 130

Информация

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