Pull to refresh
-25
0
Sergey Abaev @Serjaru

Пользователь

Send message

Выходим из тюрьмы Apple. Установка произвольных приложений на iOS без джейлбрейка

Reading time5 min
Views179K


App Store — не единственный способ установки приложений для iOS. Раньше люди специально делали джейлбрейк, чтобы установить каталог Cydia. Но в последнее время появилось несколько сторонних каталогов, которые работают вообще без джейлбрейка. Удивительно, но Apple пока не ставит им палки в колёса.

Эти каталоги приносят реальную пользу, ведь здесь независимые разработчики свободно распространяют свои программы без комиссий и цензуры. Apple не может произвольно отзывать со смартфонов такие приложения. А люди получают более широкий выбор программ, включая эмуляторы Linux, независимость от производителя и реальное право владения.
Total votes 45: ↑45 and ↓0+45
Comments61

Памятка пользователям ssh

Reading time13 min
Views1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8+344
Comments148

rssh, или Как разрешить SCP, но запретить SSH

Reading time2 min
Views18K
Вполне адекватная ситуация: у вас есть удалённая Linux-машина с доступом по SSH, и вам срочно нужно дать кому-то из знакомых возможность загрузить на эту машину файл. Разумеется, нам абсолютно лениво разворачивать ради этого FTP-сервер. Да и зачем, когда есть SCP?

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

Выход вроде как всплывает: надо заменить пользователю shell по умолчанию (/bin/sh) на что-нибудь другое. Вот только что?
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments22

Лучшие практики обработки исключений в C#

Reading time6 min
Views27K

Я плавно приближаюсь к своему двадцатилетнему юбилею в технической индустрии. На протяжении этих лет я своими глазами повидал почти все анти-паттерны обработки исключений (да что уж там, и я сам тоже совершал ошибки). В этой статье я собрал собственные лучшие практики работы с исключениями в C#.

Читать далее
Total votes 15: ↑11 and ↓4+7
Comments15

VDS с видеокартой — мы знаем толк в извращениях

Reading time4 min
Views35K
Когда один из наших сотрудников сказал своему знакомому сисадмину: «А у нас теперь новая услуга — VDS с видеокартой», тот в ответ усмехнулся: «Что, будете офисную братию на майнинг толкать?». Ну хоть не про игры пошутил, и то ладно. Много он понимает в жизни разработчика! Но в глубине души у нас затаилась мысль о том, а вдруг кто-то и правда думает, что видеокарта — удел майнеров и любителей компьютерных игр? В любом случае, лучше семь раз проверить, а заодно рассказать, зачем придуман VDS с видеокартой и почему это так важно.



Безусловно, если вам нужен арендованный виртуальный сервер VDS с видеокартой для игр, то даже не читайте дальше, переходите на страницу услуги и смотрите условия/цены от RUVDS — наверняка вам понравится. Остальных мы приглашаем к дискуссии: а нужен ли VDS с видеокартой как услуга или проще развернуть свой программно-аппаратный комплекс?
Читать дальше →
Total votes 49: ↑45 and ↓4+41
Comments44

Разработана опенсорсная утилита Depix для восстановления паролей с размытых скриншотов

Reading time6 min
Views18K
Разработана опенсорсная утилита Depix для восстановления паролей с размытых скриншотов


Результат работы программы Depix (исходный код)

В голливудских фильмах любят преувеличивать. Они зуммируют фотографии в миллион раз — и выводят цифры из одного пикселя.

Хотя это невероятно, но научные исследования в этой области идут давно. Ещё в 90-е годы были опубликованы теоретические работы и PoC с восстановлением текста из размытых изображений. В 2012 году Владимир Южиков писал на Хабре о своей программе SmartDeblur для восстановления смазанных и расфокусированных снимков.

Несмотря на достаточно хорошее развитие науки в данном направлении, до сих пор не было специализированного инструмента конкретно для восстановления паролей (текста) после пикселизации. Программа Depix — первый такой инструмент.
Читать дальше →
Total votes 67: ↑65 and ↓2+63
Comments34

Установка Visual Studio Code в облаке

Reading time7 min
Views19K

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

Интегрированные среды разработки тоже не избежали переноса в облака. Около десяти лет назад это было диковинкой, Cloud IDE только начинали развиваться, но потом на них обратили внимание самые крупные игроки IT-индустрии. 
Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments25

Как вести точный учет времени: 10 приложений для фрилансеров

Reading time7 min
Views20K
В 2018 году 35% американцев назвали фриланс своим основным источником дохода. Стремительный рост рынка фриланса стал возможным в том числе и благодаря появлению множества приложений для учета и анализа рабочего времени.

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



Учет времени для фрилансеров: польза для бизнеса


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

  • Упорядочение и обеспечение стабильности рабочего процесса.
  • Прозрачность и доверительность в отношениях с клиентами.
  • Гарантия своевременной оплаты по проектам.
  • Облегчение ведения задач и надежное хранение данных в одном месте.
  • Достижение успешного баланса между работой и свободным временем благодаря оптимизации рутинных задач.

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

Счетчики времени: выбор фрилансеров


В этой статье мы собрали 10 популярных устройств для подсчета рабочего времени. Все они прекрасно подходят под нужды фрилансеров и помогают улучшать личную продуктивность.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments13

Включаем HTTP/2 в NGINX для сайта

Reading time5 min
Views105K
В этой статье мы расскажем, как включить HTTP/2 для сайта в NGINX, размещенного на VPS от Infobox и какие преимущества это даст вашему сайту. Поддержка HTTP/2 была добавлена в релиз NGINX 1.9.5.



Зачем нужен HTTP/2


HTTP/2 – новая версия протокола HTTP, стандартизированная в начале 2015 года. Использование HTTP/1.1 из-за некоторых особенностей вносит негативный эффект на производительность веб-приложений.

В частности HTTP/1.0 позволяет выполнять только один запрос одновременно в TCP–соединении. В HTTP/1.1 были добавлены конвейерные запросы, но они только частично помогают параллельному исполнению запросов и по-прежнему приводят к блокировкам. Клиенты HTTP/1.0 и HTTP/1.1, которым необходимо делать много запросов сейчас используют множество соединений к серверу.

Кроме этого, поля заголовка HTTP многословны и часто повторяются, производя ненужный сетевой трафик. Также время тратится на заторы TCP. Это может привести к повышенным задержкам при множестве запросов сделанных с помощью новых TCP–соединений.

HTTP/2 решает эти проблемы, определяя оптимизированную семантику протокола HTTP. В частности это позволяет выполнять чередование запросов и ответов через то же подключение и предоставляет эффективное кодирование полей HTTP-заголовка. Также HTTP/2 позволяет приоритизировать запросы, позволяя более важным запросам выполняться быстрее.

В результате протокол становится более дружественным к сети, требуя установки меньшего количества TCP–соединений в сравнении с HTTP/1.x, что приводит к более эффективному использованию сети. Также HTTP/2 дает возможность эффективнее обрабатывать сообщения с помощью бинарного формата.

HTTP/2 тесно связан с SSL. Несмотря на то, что спецификация не требует обязательного использования SSL, все веб-браузеры выпущенные на текущий момент будут работать с HTTP/2 только если веб-сайт использует SSL.
Читать дальше →
Total votes 24: ↑12 and ↓120
Comments36

Включаем поддержку TLS v1.3 в Nginx на примере Debian 9

Reading time6 min
Views36K
Всем доброго времени суток!

Данный пост написан вследствие победы желания докопаться до сути над усталостью, сонливостью, соблазном опрокинуть очередную бутылочку пива пятничным вечером. Сразу скажу, что ничего супер сложного не раскрываю, всего лишь включение TLS v1.3 в Nginx.

image

Наверняка на Хабре найдутся те, кто уже 100 раз это делал, поэтому данная статья — больше для новичков или для тех, кто хочет найти готовое решение в виде мануала, не тратя много времени на поиски, как я, например. Вспомнив, что давно не писал на Хабре и поставив статье метку «tutorial», принялся за дело.
Читать далее
Total votes 26: ↑20 and ↓6+14
Comments11

Веб-разработка с .NET: Представляем Blazor WebAssembly 3.2.0

Reading time5 min
Views13K
Привет, Хабр! Я рад сообщить, что Blazor WebAssembly теперь официально выпущена и доступна для всех. Это полнофункциональный и поддерживаемый выпуск Blazor WebAssembly, готовый к использованию в продакшене. Фулл-стак веб-разработка с .NET! Подробности под катом.

Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments17

Сценарии использования и производительность Blazor Server в .NET Core 3.0

Reading time7 min
Views16K
С момента релиза Blazor Server с .NET Core 3.0 в прошлом месяце многие люди поделились с нами своим восторгом от возможности создания клиентского веб-интерфейса используя только с .NET и C#. В то же время мы также слышали много вопросов о том, что такое Blazor Server, как он связан с Blazor WebAssembly и для каких сценариев Blazor Server лучше всего подходит. Стоит ли выбирать Blazor Server для своего веб-интерфейса на стороне клиента или ждать Blazor WebAssembly? Этот пост призван ответить на эти вопросы и дать представление о том, как Blazor Server работает в масштабе, и каким мы видим развитие Blazor будущем.

Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments21

SDR DVB-T2 receiver на C++

Reading time4 min
Views17K

Software Defined Radio (программно-определяемая радиосистема) — это метод замены работы по металлу (что, в принципе, полезно для здоровья) на головную боль программирования. SDR пророчат большое будущее и основным достоинством считается снятие ограничений в реализации радиопротоколов. Примером является метод модуляции OFDM (Orthogonal frequency-division multiplexing), которая стала возможна только методом SDR. Но есть в SDR и еще одна, чисто инженерная возможность, — это возможность контролировать и визуализировать сигнал в любой произвольной точке с наименьшими усилиями.


Одним из интересных стандартов связи является наземное эфирное телевидение DVB-T2.
Зачем? Конечно, можно просто не вставая включить телевизор, но смотреть там абсолютно нечего и это уже не моё мнение, а медицинский факт.


Если серьёзно, DVB-T2 разработан с очень широкими возможностями, в том числе:


  • indoor применение
  • модуляция от QPSK до 256QAM
  • полоса пропускания от 1,7MHz до 8MHz
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments18

NB-IoT. Non-IP Data Delivery или просто NIDD. Тестирование с коммерческим сервисом МТС

Reading time3 min
Views9.1K
Добрый день и хорошего настроения!

Это небольшой тьюториал по настройке NIDD (Non-IP Data Delivery) в облачном сервисе МТС с говорящим названием «М2М-менеджер». Суть NIDD — в энергоэффективном обмене небольшими пакетами данных по сети NB-IoT между устройствами и сервером. Если раньше GSM-устройства общались с сервером, обмениваясь пакетами TCP/UDP, то для устройств NB-IoT стал доступен дополнительный способ связи — NIDD. При этом сервер взаимодействует с сетью оператора, используя унифицированные POST/GET-запросы. Пишу для себя (чтобы не забыть) и всех, кому это окажется полезным.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments10

Виртуальная АТС. Часть 1: Простая установка Asterisk на Ubuntu 20.04

Reading time4 min
Views68K


Из-за перехода на удаленку в небольших компаниях часто возникают проблемы с телефонной связью. Обычно такие фирмы сидят в арендованных офисах, а услуги телефонии им оказывает бизнес-центр. О подключении сотрудников из дому придется позаботиться самостоятельно: самый недорогой способ это сделать — развернуть бесплатный сервер VoIP с открытым исходным кодом Asterisk на виртуальной машине. В статье для примера мы использовали Ubuntu 20.04, но этот рецепт подойдет и для других версий популярного дистрибутива — 18.04 и 18.10, а также (в теории, мы не проверяли) для актуальных версий Debian.
Читать дальше →
Total votes 44: ↑36 and ↓8+28
Comments17

Как выбрать решение для парсинга сайтов: классификация и большой обзор программ, сервисов и фреймворков

Reading time17 min
Views24K
Парсинг или как его еще иногда называют web scraping – процесс автоматического сбора информации с различных сайтов. Форумы, новостные сайты, социальные сети, маркейтплейсы, интернет-магазины и даже поисковая выдача, вот далеко не полный список ресурсов с которых собирают контент.

И часто контент требуется собирать в больших объемах, массово, а если еще данные нужны с определенной периодичностью, то решить такую задачу руками не представляется возможным. Вот тут на помощь приходят специальные алгоритмы, которые по определенным условиям собирают информацию, структурируют и выдают в нужном виде.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments9

Гугл-программисты. Как идиот набрал на работу идиотов

Reading time4 min
Views172K
В стародавние времена я, на постоянной основе, занимался техническими собеседованиями – отбирал кандидатов на должность программиста в компанию. У меня была простая, понятная, шикарная методика (не мной придуманная). Чувак сначала проходил длинное собеседование по куче разнообразных вопросов, потом решал несколько задач. На бумаге, как мы делали в ВУЗе.

Оглядываясь назад, понимаю – отбор действительно работал шикарно. Все, кого я тогда отобрал, стали уважаемыми в нашей деревне специалистами. Больше половины из них давно открыли собственный it-бизнес, в самых разных сферах – от 1С до разработки CRM-систем.

Вот этот опыт и замутил моё сознание. Настолько, что я решил поменять методику – подумал, что дело не в ней, а во мне. Я есть великий специалист по техническим собеседованиям.
Читать дальше →
Total votes 386: ↑297 and ↓89+208
Comments648

ARM против x86: В чем разница между двумя архитектурами процессоров?

Reading time6 min
Views201K
Вы наверняка знаете, что мир процессоров разбит на два лагеря. Если вы смотрите это видео со смартфона, то для вас работает процессор на архитектуре ARM, а если с ноутбука, для вас трудится чип на архитектуре x86.

А теперь еще и Apple объявила, что переводит свои Mac на собственные процессоры Apple Silicon на архитектуре ARM. Мы уже рассказывали, почему так происходит. А сегодня давайте подробно разберемся, в чем принципиальные отличия x86 и ARM. И зачем Apple в это все вписалась?


Итак, большинство мобильных устройств, iPhone и Android'ы работают на ARM'е. Qualcomm, HUAWEI Kirin, Samsung Exynos и Apple A13/A14 Bionic — это все ARM-процессоры.

А вот на компьютере не так — там доминирует x86 под крылом Intel и AMD. Именно поэтому на телефоне мы не можем запустить Word с компьютера.
Total votes 98: ↑66 and ↓32+34
Comments197

Как убедить клиента или компанию использовать Flutter

Reading time12 min
Views26K
Привет, Хабр! Представляю вашему вниманию перевод с англ. статьи Pitching Flutter to your company or client (автор Wm Leler)

С момента публикации статьи What’s Revolutionary about Flutter прошло больше года (и этот материал всё ещё актуален). Когда я писал ту статью, лишь немногие мобильные разработчики слышали о Flutter, но с тех пор многое изменилось. Сейчас я не успеваю следить за потоком новых статей и видео, которые появляются в этом активном и постоянно развивающемся сообществе. Разработчики открыли для себя Flutter, и они от него без ума. Вот пример приложения от Reflectly, созданного с помощью Flutter:


Умное приложение-дневник Reflectly
Читать дальше →
Total votes 40: ↑31 and ↓9+22
Comments44
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity