Search
Write a publication
Pull to refresh
3
0
Send message

Ngrokking. Организация удаленного доступа без белого IP

Reading time4 min
Views88K

Начало

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

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

Читать далее

ICMP открывашка портов для сервера

Reading time2 min
Views19K

Имею парочку VDSок для различных нужд (почта, веб-сервер, хранилка и т.п.) так вот, возникла необходимость скрывать порты (22, 443 и т.п.) от посторонних глаз. Немного подумав, а идея уже не новая, решил написать простенький, так сказать, ICMP knocker, то есть открытие портов по пингу. Но пингу не простому, а с определенным размером пакета. Пример для линукс:

ping -s 999 -c1 mysrv.com

Где -s - размер отправляемого сообщения, -с количество.

Читать далее

A minute of Black Magic

Reading time6 min
Views14K

Prev


В этой статье расскажем, как научиться отлаживать и полюбить маленькую черную плату Black Magic Probe V2.1. Но для начала немного о том, что это такое и зачем она нужна.

Плата Black Magic Probe Mini V2.1 (BMPM2) разработана 1BitSquared в сотрудничестве с Black Sphere Technologies, является адаптером JTAG и SWD, предназначена для программирования и отладки микроконтроллеров ARM Cortex-M и ARM Cortex-A. Можно добавить поддержку других процессоров. Описание процесса добавления можно найти по ссылке. Стоит также отметить, что любой процессор с поддержкой ADIv5 (ARM Debug Interface v5) будет определяться платой.

Читать дальше →

Лучшие Проекты Для Начинающих Python-Разработчиков

Reading time8 min
Views282K

Чтобы научиться ходить – надо ходить, чтобы научиться подтягиваться – надо подтягиваться, чтобы научиться решать задачи по физике – надо решать задачи по физике. Так говорил преподаватель физики в моём университете, и эта аналогия применима и к программированию.

Можно сколько угодно упираться в сухую теорию, но без применения своих знаний на практике научиться программировать невозможно. В этой статье я подобрал несколько проектов для начинающих python-разработчиков. Эти проекты помогут закрепить теорию, применить полученные знания на практике и набить руку в написании кода. Некоторые из них даже можно добавить в будущее портфолио. Я объясню, чем хорош каждый проект, какие навыки и темы он позволяет проработать, а также сориентирую какие библиотеки и технологии можно использовать для его реализации.

Цель данного "топа" – это не создание самого оригинального портфолио и не перечисление уникальных проектов. Цель статьи разобраться в простых вещах, технологиях и темах, которые помогут развить практические навыки программирования. Поэтому не стоит ждать здесь сборку Оптимуса Прайма, программирование Звезды смерти и создание двигателя на китовом жире. Мы пройдёмся по простым, но в тоже время базовым вещам. Ведь как говорил один мой приятель: «Всё великое начинается с малого».

Читать далее

Типографская раскладка для 60-процентной клавиатуры

Reading time22 min
Views24K


Оригинал фото: pxhere.com/ru/photo/1600961

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

Библиотека для адресных светодиодов STM32

Reading time8 min
Views27K

Драйвер для STM32 для реализации протокола адресных светодиодов (WS2812, WS2811, SK6812, и т.д.), с рациональным использованием буферной памяти и DMA.

Читать далее

Веб-сервер — это просто скрипт

Reading time7 min
Views24K

Есть категория людей, которые особо ценят надёжность, стабильность, безопасность и свободу информации. Наверное, именно такие люди поднимают медиасерверы Plex и Jellyfin, запускают ноды Bitcoin, мосты Tor, инстансы Mastodon и Matrix, приложения YunoHost, VPN-узлы Tailscale и так далее. Это как бы естественный процесс.

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

У обывателей часто возникает вопрос: наверное, это очень трудно? Поднять свои серверы? На самом деле сложность задачи часто переоценивают. Давайте посмотрим на примере простого веб-сервера.
Читать дальше →

Обход графа в ширину (BFS) и глубину (DFS)

Reading time3 min
Views66K

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

Читать далее

Что есть sshto?

Reading time4 min
Views12K

Многие, если не все, кому приходится подключаться по ssh к серверам начинают использовать ssh aliases(конфиг файлы), когда этих серверов становится больше одного. А если их больше двух наступает время автоматизации. Так появился sshto.

Узнать sshto это

Строковые алгоритмы на практике. Часть 2 — Алгоритм Бойера — Мура

Reading time13 min
Views26K

В прошлый раз мы с вами разобрали Алгоритм Кнута — Морриса — Пратта, сегодня мы разберем не менее интересный, а на мой личный взгляд, даже наиболее любопытный и изящный алгоритм поиска подстрок в тексте, который подкупает своей гениальной простотой.

Читать дальше →

Функции в скриптах Роутер ОС Микротик. Интересные решения и недокументированные возможности

Reading time32 min
Views25K
Роутер ОС Микротик, как известно, имеет мощнейший LUA-подобный встроенный скриптовый язык, позволяющий осуществлять исполнение сценариев, в том числе при наступлении каких-либо событий в сети или по расписанию. Скрипты могут состоять из одной строки кода или иметь внушительные размеры, при передаче управления друг другу формируя сложные программы. Встроенный скриптовый язык существенно расширяет возможности системы, практически не ограничивая полет фантазии программиста. Существующее официальное руководство по скриптам написано кратко и, разумеется, не может охватить все особенности программирования для Роутер ОС.

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

Перед прочтением статьи, пользователям, начинающим изучать скрипты, рекомендую ознакомиться с официальным руководством Микротик по скриптам по ссылке выше, либо с его переводом (например, здесь). Следует знать типы переменных в скриптах Микротик, иметь понятие об областях видимости, окружении переменных и т.д… Также будет весьма полезна статья habr.com/ru/post/270719, в которой автор подробно разбирает типы переменных LUA Микротик и варианты их объявления и использования.
Читать дальше →

Народный измеритель пульсации света

Reading time6 min
Views36K
Пульсация — главный параметр света, влияющий на здоровье, но, увы, доступных приборов для измерения коэффициента пульсации нет в продаже. Я решил исправить эту ситуацию и разработать недорогой прибор.



Читать дальше →

Ремонт БП FSP Epsilon 1010, принцип работы APFC

Reading time10 min
Views221K
Идея написать родилась после очередной непредвиденной поломки блока питания, чтобы поделиться опытом да и самому было где почитать в следующий раз, если попадётся на ремонт подобный блок питания (далее — БП) или понадобится вспомнить схему.



Сразу скажу, статья рассчитана на простого пользователя ПК, хотя можно было и углубиться в академические подробности.
Несмотря на то, что схемы не мои, я даю описание исключительно «от себя», которое не претендует не единственно правильное, а имеет целью объяснить «на пальцах» работу столь необходимого устройства, как БП компьютера.

Необходимость вникнуть в работу APFC у меня появилась в 2005 году, когда я имел проблему с произвольной перезагрузкой компьютера. Комп я купил на «мыльной» фирмочке не вникая особо в тонкости. В сервисе не помогли: на фирме работает, а у меня перезагружается. Я понял, что пришла очередь напрячься самому… Оказалось проблема в домашней сети, которая вечером просаживалась скачками до 160В! Начал искать схему, увеличивать ёмкость входных конденсаторов, слегка попустило, но проблему не решило. В процессе поиска информации увидел в прайсах непонятные буквы APFC и PPFC в названиях блоков. Позже выяснил, что у меня оказался PPFC и я решил купить себе блок с APFC, потом взял ещё и бесперебойник. Начались другие проблемы — выбивает бесперебойник при включении системника и пропадании сети, в сервисе разводят руками. Сдал его обратно, купил в 3 раза мощнее, работает по сей день без проблем.

Поделюсь с вами своим опытом и надеюсь, вам будет интересно узнать немного больше про компонент системника — БП, которому несправедливо отводят чуть ли не последнюю роль в работе компьютера.

Блоки питания FSP Epsilon 1010 представляют собой качественные и надёжные устройства, но учитывая проблемы наших сетей и другие случайности, они иногда тоже выходят из строя. Выкидывать такой блок жалко, а ремонт может приблизиться к стоимости нового. Но бывают и мелочи, устранив которые, можно вернуть его к жизни.
Читать дальше →

Rustenstein 3D: программируем, как будто сейчас 1992 год

Reading time11 min
Views11K
image

Дважды в год компания NextRoll организует мероприятие Hack Week, на котором сотрудники на неделю берутся за проект по своему выбору. Это превосходная возможность для экспериментов, изучения новых технологий и объединения с людьми из всех отделов компании. Узнать о Hack Week подробнее можно здесь.

Так как NextRoll всё активнее использует язык программирования Rust, на Hack Week инженеры обычно пытаются получить опыт работы с ним. Ещё одним популярным вариантом выбора является работа над видеоиграми, и, как вы уже могли догадаться, мы часто видим в проектах сочетание видеоигр и языка Rust.

В прошлом году группа сотрудников работала над развитием моей игры rpg-cli. На этот раз захотелось пойти дальше и взять проект, который показывает некоторые из сильных сторон Rust: низкоуровневым программированием, высоконагруженными вычислениями и операционной совместимостью данных с языком C. Поэтому мы решили портировать на Rust классическую игру Wolfenstein 3D.
Читать дальше →

Pyxel  для любителей ретро игр

Reading time12 min
Views21K

Pyxel -- это игровой движок для Python в стиле ретро.

Благодаря своей простоте, вдохновленной старыми игровыми консолями (например, палитра состоит всего из 16 цветов, и только 4 звука могут быть проиграны одновременно), вы можете легко создавать игры в стиле пиксель-арт.

Читать далее

И всё-таки, возможен ли 1мс таймер в Windows?

Reading time4 min
Views18K

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

Вводные: нам нужен таймер, на Windows, с точностью порядка 1мс, драйвер при этом мы писать не хотим и решения при исполнении которых процессор попытается радикально ускорить глобальное потепление не приемлем.

Есть ли такое решение? Из коробки - нету, но при помощи нехитрых приспособлений наше досадное недоразумение превращается... в точный таймер, конечно же.

Читать далее

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

Reading time2 min
Views22K

Продолжим изучение компьютерного зрения, которое мы начали на прошлом уроке. Напомню кратко, что там было:

• Этапы обработки и анализа изображений.

• Установка OpenCV.

• Простая программа на OpenCV – отображения картинки в окне.

• Изменение размеров картинки.

• Преобразование из цветного формата в черно-белый.

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

Читать далее

Green server для PET-проектов на базе Raspberry Pi – часть вторая(большой брат)

Reading time6 min
Views9.7K

После не самого удачного опыта с Raspberry Pi 2 B в качестве домашнего сервера, я на пару лет бросил идею с домашним хостингом. Но количество PET проектов только увеличивалось. Тогда я раздобыл старенькую рабочую лошадку - полноразмерный HP сервер 1U с 8gb оперативной памяти, intel xeon. Разместил этот юнит в колокейшине и платил 35$/месяц за размещение. Помимо Ubuntu Server, там ещё стоял Windows Server для разработки и тестирования ASP.NET сервера. Пока один из проектов приносил прибыль, мне было выгодно размещать сервер в колокейшине. Через год, проект приносящий прибыль - заморозили, а привычка иметь собственный DEV сервер - осталась. Тогда я решил запустить этот сервер дома, даже не задумываясь о том, сколько шума он будет издавать. Чтобы вы понимали, я жил в панельном многоквартирном доме. И ко мне иногда приходили соседи с вопросом: «А чего у вас так долго пылесос работает?». Конечно же, мне это быстро надоело и я отключил сервер, положив на полку как сувенир. А без сервера было скучно…

Через некоторое время, один из моих проектов заинтересовал Швейцарскую компанию, которая занимается продажей золота. Если вкратце, это сервис, который выполняет работу ERP системы(учёт клиентов, контрактов, хранение документов, pdf сервис и всяческие отчёты). Этот проект необходимо было адаптировать под потенциально клиента, попутно переписать с устаревшей версии ASP.NET и всего стека Microsoft, на что-то быстрее и проще. В этот момент я выбрал GoLang, PostgreSQL, S3, Docker и парочку вспомогательных технологий, так как имел опыт работы с ними. Так вот, это эксперимент и клиент может в любой момент сказать, что ему это решение не подходит. Было решено, что хостить буду его - дома, дабы избежать лишних расходов и не тратить время на настройку облачных служб. Ну и хотелось попробовать решить проблему с предыдущей версией малинки.

Читать далее

PyQt6 — полное руководство для новичков

Reading time30 min
Views431K

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

1. Первое приложение

2. Слоты и сигналы

3. Виджеты

За подробностями приглашаем под кат.

Читать далее

PyQt6 — полное руководство для новичков. Продолжение

Reading time35 min
Views69K

В первом материале мы рассказали о создании первого окна, о сигналах, слотах и событиях, а также о виджетах. Сегодня, к старту курса по Fullstack-разработке на Python, делимся продолжением — о макетах, работе с панелями инструментов и меню при помощи QAction, дополнительных и диалоговых окнах. За подробностями приглашаем под кат.

1. Макеты

2. Панели инструментов, меню и QAction

3. Диалоговые окна и окна предупреждений

4. Дополнительные окна

Читать далее

Information

Rating
Does not participate
Registered
Activity