Pull to refresh
50
0
Юрий @ploop

User

Send message

Pritunl — VPN-сервер для себя и друзей за 10 минут

Reading time 2 min
Views 97K


В связи с последними событиями в России хочу рассказать вам о классном self-hosted VPN-сервере. После простой установки, без особого труда и углубленных знаний вы сможете создавать пользователей, генерировать VPN-профили и смотреть графики использования сети.


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


В результате чего пятидоллоравая VPS'ка может превратится в мощный инструмент обхода блокировок

Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Comments 95

Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу

Reading time 7 min
Views 697K
Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.

Существует два распространенных типа подключения DPI: пассивный и активный.

Пассивный DPI

Пассивный DPI — DPI, подключенный в провайдерскую сеть параллельно (не в разрез) либо через пассивный оптический сплиттер, либо с использованием зеркалирования исходящего от пользователей трафика. Такое подключение не замедляет скорость работы сети провайдера в случае недостаточной производительности DPI, из-за чего применяется у крупных провайдеров. DPI с таким типом подключения технически может только выявлять попытку запроса запрещенного контента, но не пресекать ее. Чтобы обойти это ограничение и заблокировать доступ на запрещенный сайт, DPI отправляет пользователю, запрашивающему заблокированный URL, специально сформированный HTTP-пакет с перенаправлением на страницу-заглушку провайдера, словно такой ответ прислал сам запрашиваемый ресурс (подделывается IP-адрес отправителя и TCP sequence). Из-за того, что DPI физически расположен ближе к пользователю, чем запрашиваемый сайт, подделанный ответ доходит до устройства пользователя быстрее, чем настоящий ответ от сайта.
Читать дальше →
Total votes 212: ↑212 and ↓0 +212
Comments 352

Укрощаем мультимедиа с помощью ffmpeg

Reading time 3 min
Views 87K

Внезапно ваш диск под завязку забит фотографиями и видео, а впереди новые поездки. Что делать, покупать новый, арендовать дисковое пространство на облаке, или может лучше сжать видео файлы через ffmpeg?





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

Читать дальше →
Total votes 38: ↑35 and ↓3 +32
Comments 33

Магия SSH

Reading time 11 min
Views 484K
С SSH многие знакомы давно, но, как и я, не все подозревают о том, какие возможности таятся за этими магическими тремя буквами. Хотел бы поделиться своим небольшим опытом использования SSH для решения различных административных задач.

Оглавление:

1) Local TCP forwarding
2) Remote TCP forwarding
3) TCP forwarding chain через несколько узлов
4) TCP forwarding ssh-соединения
5) SSH VPN Tunnel
6) Коротко о беспарольном доступе
7) Спасибо (ссылки)
Читать дальше →
Total votes 115: ↑106 and ↓9 +97
Comments 75

Bash-скрипты, часть 6: функции и разработка библиотек

Reading time 9 min
Views 244K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

Занимаясь разработкой bash-скриптов, вы рано или поздно столкнётесь с тем, что вам периодически приходится использовать одни и те же фрагменты кода. Постоянно набирать их вручную скучно, а копирование и вставка — не наш метод. Как быть? Хорошо бы найти средство, которое позволяет один раз написать блок кода и, когда он понадобится снова, просто сослаться на него в скрипте.



Оболочка bash предоставляет такую возможность, позволяя создавать функции. Функции bash — это именованные блоки кода, которые можно повторно использовать в скриптах.
Читать дальше →
Total votes 50: ↑47 and ↓3 +44
Comments 33

Индексы в PostgreSQL — 1

Reading time 17 min
Views 385K

Предисловие


В этой серии статей речь пойдет об индексах в PostgreSQL.

Любой вопрос можно рассматривать с разных точек зрения. Мы будем говорить о том, что должно интересовать прикладного разработчика, использующего СУБД: какие индексы существуют, почему в PostgreSQL их так много разных, и как их использовать для ускорения запросов. Пожалуй, тему можно было бы раскрыть и меньшим числом слов, но мы втайне надеемся на любознательного разработчика, которому также интересны и подробности внутреннего устройства, тем более, что понимание таких подробностей позволяет не только прислушиваться к чужому мнению, но и делать собственные выводы.

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

В этой части мы поговорим про разделение сфер ответственности между общим механизмом индексирования, относящимся к ядру СУБД, и отдельными методами индексного доступа, которые в PostgreSQL можно добавлять как расширения. В следующей части мы рассмотрим интерфейс метода доступа и такие важные понятия, как классы и семейства операторов. После такого длинного, но необходимого введения мы подробно рассмотрим устройство и применение различных типов индексов: Hash, B-tree, GiST, SP-GiST, GIN и RUM, BRIN и Bloom.
Читать дальше →
Total votes 104: ↑103 and ↓1 +102
Comments 59

Путешествие запроса Select через внутренности Постгреса

Reading time 9 min
Views 28K
До конференции PG Day'16 Russia остались считанные дни, расписание можно посмотреть на нашем сайте. Мы трудимся в поте лица, но тем не менее успеваем готовить для вас переводы самых интересных материалов о PostgreSQL. Сегодня представляем вашему вниманию перевод статьи Pat Shaughnessy о поведении запроса Select.

Готовясь летом к этой презентации, я решил изучить некоторые части исходного кода PostgreSQL на C. Я запустил очень простой запрос select и наблюдал, что Постгрес с ним делает, с помощью LLDB, отладчика C. Как Постгрес понял мой запрос? Как он нашел данные, которые я искал?



Этот пост — неформальный журнал моего путешествия через внутренности PostgreSQL. Я опишу пройденный мной путь и то, что я видел в процессе. Я использую серию простых концептуальных диаграмм, чтобы объяснить, как Постгрес выполнил мой запрос. В случае, если вы понимаете C, я также оставлю вам несколько ориентиров и указателей, которые вы можете поискать, если вдруг решите покопаться во внутренностях Постгреса.

Исходный код PostgreSQL восхитил меня. Он оказался чистым, хорошо задокументированным и простым для понимания. Узнайте сами, как Постгрес работает изнутри, присоединившись ко мне в путешествии в глубины инструмента, которым вы пользуетесь каждый день.
Читать дальше →
Total votes 34: ↑33 and ↓1 +32
Comments 24

Flappy Bird портировали на… электронную сигарету

Reading time 1 min
Views 19K


Техника умнеет очень быстро. Сейчас даже выйти в Интернет с холодильника можно — это уже не шутка, причем давно. Подключенные устройства, smart камеры, часы, которые знают, когда лучше всего проснуться… Прогресс затронул и игровую сферу — если раньше играть можно было только на ПК или паре-тройке моделей игровых консолей, то сейчас игры доступны на всем, чем только можно. Да, и на холодильниках тоже.

Но вот портирование мобильной игры в ПО электронной сигареты — это уже что-то новенькое. Пользователю YouTube с ником Balázs Bánk удалось перенести Flappy Bird на электронную сигарету. Результаты он демонстрирует на видео.
Читать дальше →
Total votes 13: ↑10 and ↓3 +7
Comments 37

Более чем 80 средств мониторинга системы Linux

Reading time 12 min
Views 315K
Ниже будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.



1. первый инструмент — top

Консольная команда top- удобный системный монитор, простой в использовании, с помощью которой выводится список работающих в системе процессов, информации о этих процессах. Данная команда в реальном времени сортирует их по нагрузке на процессор, инструмент предустановлен во многих системах UNIX.
читать дальше
Total votes 94: ↑82 and ↓12 +70
Comments 68

Arduino управляет промышленным грузовым лифтом

Reading time 6 min
Views 130K
Дисклеймер: Если вы разбираетесь в электронике, то некоторые технические решения, описанные в этой статье повергнут вас в шок и ужас, а также вызовут непреодолимое желание оторвать автору руки. Я предупредил.
Немного о том как устроены грузовые подъемники и небольшая история создания системы управления для шестиэтажного грузового лифта на базе платы Arduino совместимого контроллера Seeeduino (ATmega 328).image
Довольно много картинок и букв!
Читать дальше →
Total votes 90: ↑71 and ↓19 +52
Comments 96

STM32F4: GNU AS: Настройка тактирования микроконтроллера (Часть 5)

Reading time 6 min
Views 11K
Все что нам нужно знать для написания программ на языке ассемблера для stm32f4 я уже написал, ссылки на прошлые публикации:
STM32F4: GNU AS: Программирование на ассемблере (Часть 1)
STM32F4: GNU AS: Мигаем светодиодом (Оживление) (Часть 2)
STM32F4: GNU AS: Мигаем светодиодом (Версия для STM32F4 Discovery, Оптимизация) (Часть 3)
STM32F4: GNU AS: Настраиваем среду компиляции (Часть 4)

Обсуждение можно вести на платформе VK: vk.com/topic-200545792_46642258

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

Для начала, запустим микроконтроллер на его штатной частоте: 168 мгц, от внешнего кварцевого генератора, с использованием PLL.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 0

Расчет трансформатора для обратноходового импульсного источника питания (Flyback)

Reading time 18 min
Views 130K
Популярность обратноходовых источников питания (ОИП, Flyback) последнее время сильно возросла в связи с простотой и дешевизной этого схемного решения – на рынке можно часто встретить интегральные схемы, включающие в себя практически всю высоковольтную часть такого источника, пользователю остается только подключить трансформатор и собрать низковольтную часть по стандартным схемам. Для расчета трансформаторов также имеется большое количество программного обеспечения – начиная от универсальных программ и заканчивая специализированным ПО производителей интегральных схем.

Сегодня же я хочу поговорить о ручном расчете импульсного трансформатора. «Зачем это нужно?», может спросить читатель. Во-первых, ручной расчет трансформатора подразумевает полное понимание процессов, происходящих в источнике питания, чего зачастую не происходит, если начинающий радиолюбитель рассчитывает трансформатор в специальном ПО. Во-вторых, ручной расчет позволяет выбирать оптимальные параметры функционирования источника (и иметь представление, какой параметр в какую сторону надо изменить для достижения заданного результата) еще на этапе разработки.
Читать дальше →
Total votes 31: ↑30 and ↓1 +29
Comments 21

Sublime text для PL/SQL разработчика

Reading time 6 min
Views 23K
Хотелось рассказать о том, как многими любимый Sublime Text можно использовать как неплохое средство для разработки на PL/SQL.

Хотелось бы начать с того, для чего нужен был этот велосипед, ведь есть вроде бы много других IDE для работы с SQL и в частности Oracle PL/SQL, такие как Toad for Oracle, SQL Navigator, PL/SQL Developer и даже бесплатный Oracle SQL Developer, однако у большинства из них есть несколько недостатков по сравнению с текстовыми редакторами типа Emacs, SciTe, Vim, Notepad++, Sublime Text и т.д.

Перечислю некоторые из них, данный список сугубо субъективный:

  • “Тяжеловесность” каждой IDE, это выражается не только в размере дистрибутива, но и общими ощущениями, наличием множества не нужных функций, кнопок, отзывчивостью и т.д.
  • Большинство приемлемых IDE являются платными, или условно бесплатными с ограниченным функционалом.
  • Хотелось бы кроссплатформенность, под это требование из приведенных IDE попадает только Oracle SQL Developer.
  • Функционал редактирования текста. В большинстве из них есть только базовые методы по работе с текстом: это набор текста, copy-paste, подсветка синтаксиса. Ни о каких “CTRL+D” как Sublime Text речи и не идет.
  • Простота расширения, практически все IDE закрыты, никакой поддержки самописных пагинов и т.д.

Есть еще один пункт, но он больше относится к организации проектов и задач на рабочем месте. Хотелось бы немного затронуть эту тему, так как организация на проектах наложила свой отпечаток на настройку Sublime Text.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 11

Новый GUI для Postgresql

Reading time 3 min
Views 72K
Хочу поделиться новым продуктом со всеми пользователями замечательной базы данных Postgresql. Встречайте — SQL Tabs — графическая SQL консоль для Postgresql. Это новый GUI клиент, в котором можно просматривать объекты базы данных, писать SQL запросы и строить графики.

На сегодняшний день можно скачать версии для OSX и Ubuntu. Пользователи других linux-дистрибутивов могут запустить приложение из исходников. К сожалению, версии для Windows пока нет. Хочется надеяться, что приложение понравится сообществу, и найдутся разработчики, способные помочь в выпуске пакетов под разные платформы: rpm, debian, windows.

Немного информации для разработчиков: SQL Tabs написано на стэке javascript, electron, react
 и использует native libpq драйвер для работы с базой. Выпускается под лицензий GPL3.

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


Читать дальше →
Total votes 40: ↑36 and ↓4 +32
Comments 79

Кросс-компиляция Qt5 под Linux для Win x32/x64/static/shared

Reading time 14 min
Views 36K

Цель статьи


Документирование получения системы кросс-компиляции под Linux для Windows x32/x64/static/shared и сборка последней на момент описания Qt 5.4.1 в лайт-версии (для указанных четырех целей). Для себя, глубоко-обожаемого, ну и для пользы обществу.

Назначение


Многие разработчики приходят к выводу, что использование *nix (в частности Linux) более предпочтительно для разработки приложений, используя фрэймворк Qt. И тому есть причины. Qt изначально ориентирована на *nix инструментарий, типа autotool, make, perl… И второй момент, под никсами есть прекрасный инструмент — valgrind, под виндой порта пока его не видел. Ну и последняя причина: просто удобно иметь набор инструментария для создания приложений под различные целевые платформы — в одном месте.

Почему лайт-версия Qt5


Фрэймворк-Qt имеет модульную структуру, но, увы, не совсем совершенную. Некоторые зависимости от внешних библиотек «вешаются» не на модуль, требующий эти библиотеки, а на Qt5Core. Иными словами, нужна вам эта библиотека, или нет — вынь да положЪ в дистрибутив. Пример тому «монстрик» — библиотека ICU. Весит она почти 25 метров! Зависимость вешается, как я упоминал выше, на Qt5Core… а требует ее модуль Qt5WebKit (который по сути в 99% случаев не используется, по крайней мере мной). Что делаем? Вырезаем и отрезаем. Хотите получить фулл-версию Qt5? Об этом упомяну в заключении. Поехали.
Читать дальше →
Total votes 36: ↑33 and ↓3 +30
Comments 34

Программируем микроконтроллеры в QtCreator

Reading time 9 min
Views 25K


Почему-то в интернете мало документации про qbs, и я решил немного исправить эту ситуацию. Попробую описать в виде повествования, что необходимо сделать, что бы в QtCreator можно было компилировать (и не только) что угодно под что угодно.
Читать дальше →
Total votes 27: ↑27 and ↓0 +27
Comments 25

Энтропия? Это просто!

Reading time 7 min
Views 426K
Этот пост является вольным переводом ответа, который Mark Eichenlaub дал на вопрос What's an intuitive way to understand entropy?, заданный на сайте Quora

Энтропия. Пожалуй, это одно из самых сложных для понимания понятий, с которым вы можете встретиться в курсе физики, по крайней мере если говорить о физике классической. Мало кто из выпускников физических факультетов может объяснить, что это такое. Большинство проблем с пониманием энтропии, однако, можно снять, если понять одну вещь. Энтропия качественно отличается от других термодинамических величин: таких как давление, объём или внутренняя энергия, потому что является свойством не системы, а того, как мы эту систему рассматриваем. К сожалению в курсе термодинамики её обычно рассматривают наравне с другими термодинамическими функциями, что усугубляет непонимание.
энтропия
Так что же такое энтропия?
Total votes 65: ↑63 and ↓2 +61
Comments 58

Некоторые бытовые моменты потребления электроэнергии

Reading time 4 min
Views 13K
Последнее время появляются статьи (один, два) об использовании альтернативных источников энергии для питания квартир/домов, также упоминается о возможных перспективах. В этой статье я хочу предоставить некоторые данные, которые могут быть основой для дальнейших сравнений и анализов касательно потребления электрической энергии.
Читать дальше →
Total votes 17: ↑10 and ↓7 +3
Comments 22

IPv6 под прицелом

Reading time 14 min
Views 76K


Казалось бы, зачем сейчас вообще вспоминать про IPv6? Ведь несмотря на то, что последние блоки IPv4-адресов были розданы региональным регистраторам, интернет работает без каких-либо изменений. Дело в том, что IPv6 впервые появился в 1995 году, а полностью его заголовок описали в RFC в 1998 году. Почему это важно? Да по той причине, что разрабатывался он без учета угроз, с той же доверительной схемой, что и IPv4. И в процессе разработки стояли задачи сделать более быстрый протокол и с большим количеством адресов, а не более безопасный и защищенный.
Подробности
Total votes 58: ↑55 and ↓3 +52
Comments 41

This War of Mine — симулятор выживания

Reading time 2 min
Views 50K
Это не реклама, а взгляд на необычное явление в мире игр, которое уже этим интересно. Поэтому призывать играть будут другие, а сейчас, не играя, остановимся на идее стратегии.

14 ноября 2014 состоялся релиз игры польской студии "11 bit studios", привлекавшей внимание по пре-релизам нетипичностью сюжета. Вроде бы о войне, что встречается часто, но вы не оказываетесь одной из воюющих сторон. Это — стратегия выживания вас и подконтрольной вам группы мирных жителей, с учётом всех её обычных реалий: обстрелы, снайперы, руины, мусор, без магазинов и лекарств, собирательство, грабежи. Игра навеяна реальльными событиями (Сараево, 92), причём, логика их подходит под похожие ситуации. В сюжете нет жёстких правил — придерживаться в своих решениях моральных норм или нет, но есть закономерные последствия принятых решений. При этом, в самой игре «сейвов» нет, а игра начинается со случайной генерации своего расположения, цепочку решений изменить не получится.


Читать дальше →
Total votes 39: ↑33 and ↓6 +27
Comments 19

Information

Rating
Does not participate
Location
Кирсанов, Тамбовская обл., Россия
Date of birth
Registered
Activity