Search
Write a publication
Pull to refresh
1
0
Станислав @delfi

User

Send message

Делаем backup Google или паранойя по поводу санкций. Owncloud и другие открытые решения

Reading time4 min
Views110K


В свете последних топиков, в том числе «Autodesk не будет продавать ПО попавшим под санкции компаниям», появляется ощущение, что маховик абсурда все сильнее раскручивается. Мы не будем осуждать в этом топике политические причины всего этого безобразия, а подумаем немного о том, что произойдет, если внезапно «выключат Google», причем неважно с какой стороны. Также предлагаю рассмотреть один из вариантов забрать себе накопленный контент, используя открытое ПО.

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

Обновленная сборка интернет-магазина на MODX Revolution. Несколько валют

Reading time3 min
Views7.6K
Больше года назад я писал про нашу готовую сборку интернет-магазина на базе MODX Revolution. Учитывая текущую обстановку с курсами валют в России (при этом необходимость указывать цены именно в рублях), я решил, что наверняка будет актуальна возможность указывать различные базовые валюты для товаров, но чтобы на сайте как бы все равно все было в рублях. Главное здесь — чтобы можно было указать валюту товара (например евро или доллары), а на сайте цена выводилась бы в рублях по курсу (возможно автоматическое обновление курсов с сайта центробанка). Это далеко не полноценный мультивалютный магазин, но зато цены всегда боле менее актуальны будут с учетом текущего курса валют.
Больше информации под катом

Распознавание лиц в 4 строки на JQuery

Reading time3 min
Views25K


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

Я расскажу о том, как в несколько строк реализовать распознавание любого количества лиц на любой фотографии или видео в браузере с помощью JavaScript и JQuery плагина FaceDetection.

Кому интересно, прошу под кат.
Читать дальше →

Почему OpenVPN тормозит?

Reading time3 min
Views187K
Описанная проблема присуща только ветке OpenVPN 2.3, в 2.4 размеры буферов не меняются без требования пользователя.

Время от времени, мне встречаются темы на форумах, в которых люди соединяют несколько офисов с использованием OpenVPN и получают низкую скорость, сильно ниже скорости канала. У кого-то это может быть 20 Мбит/с при канале в 100 Мбит/с с обеих сторон, а кто-то еле получает и 400 Кбит/с на 2 Мбит/с ADSL/3G и высоким пингом. Зачастую, таким людям советуют увеличить MTU на VPN-интерфейсе до чрезвычайно больших значений, вроде 48000, или же поиграться с параметром mssfix. Частично это помогает, но скорость внутри VPN все еще очень далека от канальной. Иногда все сваливают на то, что OpenVPN — userspace-решение, и это его нормальная скорость, учитывая всякие шифрования и HMAC'и. Абсурд!

Немного истории

На дворе июль 2004 года. Типичная скорость домашнего интернета в развитых странах составляет 256 Кбит/с-1 Мбит/с, в менее развитых — 56 Кбит/с. Ядро Linux 2.6.7 вышло не так давно, а 2.6.8, в котором TCP Window Scale включен по умолчанию, выйдет только через месяц. Проект OpenVPN развивается уже 3 года как, к релизу готовится версия 2.0.
Один из разработчиков добавляет код, который устанавливает буфер приема и отправки сокета по умолчанию в 64 КБ, вероятно, чтобы хоть как-то унифицировать размер буфера между платформами и не зависеть от системных настроек.
Читать дальше →

Суперсилы Chrome DevTools

Reading time6 min
Views70K


Я работаю в команде Онлайн. Мы делаем веб-версию справочника 2ГИС. Это долгоживущий активно развивающийся проект, в котором JavaScript используется как основной язык как на клиенте, так и на сервере.

Важное место в работе занимают инструменты анализа и отладки приложения. Популярные JavaScript фреймворки как правило обладают собственным инструментарием, заточенным под конкретную идеологию. Наша ситуация осложняется тем, что под капотом Онлайна гудит фреймворк собственного производства — Slot — также находящийся в стадии активной доработки.

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

15 лучших JavaScript-библиотек для построения диаграмм и сводных таблиц

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

В этой статье я покажу вам некоторые из лучших JavaScript библиотек для построения диаграмм/схем (и сводных таблиц). Эти библиотеки помогут вам в создании красивых и настраиваемых графиков для ваших будущих проектов.

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

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

WinJS + универсальные приложения. Изучаем навигацию

Reading time6 min
Views9.8K


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

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

Сегодня мы с вами познакомимся с основными шаблонами (макетами) навигации, а также посмотрим, как реализовать их внутри своего приложения.
Читать дальше →

«Защита от дурака» или как запретить изменение/удаление важных папок

Reading time2 min
Views51K
Доброе время суток.

Исторически так сложилось, что для своих мелких проектов держу виртуалку. Однако, так как я не использую ее ресурсы на 100%, решил не жадничать и пустил похоститься несколько друзей. Сайтов не много, деньги за хостинг не беру, поэтому ставить что-то вроде cpanel счел перебором. К тому же я их тех, кто предпочитает настраивать все вручную. Структуру выбрал следующую:

/home/hostuser/vhosts/sitename.ru/{tmp,web,logs}

И тут возник вопрос: как запретить пользователю удалять/переименовывать папки в sitename.ru? Если будет отсутствовать папка web, то и apache и nginx выдадут предупреждение, но все-равно загрузятся. Но если удалить/переместит папку logs, то и apache и nginx не запустятся из-за ошибки (по мне довольно странное поведение). Папка hostuser полностью принадлежит данному пользователю и его личной группе (hostuser:hostuser), а это означает, что при желании он сможет удалить любую внутреннюю папку/файл, даже если она будет принадлежать суперпользователю. Так как же запретить удаление/перемещение, чтобы пользователь (случайно или специально) не сломать весь хостинг?
Читать дальше →

PHPStamp — честная генерация DOCX документов из шаблона

Reading time2 min
Views27K
Это еще одна попытка реализовать стабильный, полноценный шаблонизатор офисных документов, основанных на XML, пользуясь стандартными для PHP средствами DOMDocument и XSL.

Задача состояла именно в генерации шаблона для многократного использования, который не придется править вручную или прибегать к сторонним программам для его доработки.
Читать дальше →

Краткий конспект по языку JavaScript

Reading time15 min
Views114K
Я —.NET разработчик. Но в последнее время всё чаще сталкиваюсь с JavaScript. Причём, процентах в 50 случаев я что-то на нём пишу, в остальных 50 — разбираюсь с чужим кодом, да ещё и прошедшим через минификацию, а иногда и обфускацию. В этой статье захотелось поделиться теми моментами, которые мне показались важными для понимания языка и эффективной работы с ним. Тут не будет ничего нового или неизвестного для людей, уже имевших дело с языком, и не будет чего-то такого, чего нельзя найти в других источниках. Для меня статья будет полезна как способ лучше разобраться в предмете, для читателей, я надеюсь, — как повод освежить знания.

Брендан Айк упоминал, что JavaScript был создан за 10 дней. Думаю, идея вынашивалась дольше. Как бы то ни было, язык получился и с тех пор только набирает популярность. Особенно после появления AJAX.

JavaScript — язык со слабой динамической неявной типизацией, автоматическим управлением памятью и прототипным наследованием.

JavaScript состоит из трёх обособленных частей:

  • ядро (ECMAScript),
  • объектная модель браузера (Browser Object Model или BOM),
  • объектная модель документа (Document Object Model или DOM).


В статье, в основном, пойдёт речь о ядре. Конечно, в примерах кода будут использоваться элементы DOM и BOM, но заострять на них внимание не буду.
Читать дальше →

Подборка интересных CSS рецептов «Голые пятницы #3»

Reading time4 min
Views49K
голые пятницы

Здравствуй, дорогой читатель хабра!
Сегодня мы поговорим о градиентных границах, режимах наложения, о том, как рациональнее сверстать стандартную иконку меню. А так же откроем для себя заново старое css-свойство visibility и рассмотрим новое медиа-выражение @Supports.
Читать дальше →

Релиз Android Lollipop для Nexus 5, Nexus 7 и Nexus 10

Reading time1 min
Views15K
Наконец-то состоялся долгожданный релиз нового Android для старых Nexus'ов. OTA-обновления пока не приходят, но образ для установки вручную уже доступен. Для Nexus 7 с мобильным модулем и Nexus 4 пока нет, должны появиться здесь. Там же есть инструкция по ручной установке.
Читать дальше →

Установка, настройка и использование сканера уязвимостей сервера rkhunter

Reading time3 min
Views78K
На хабре не раз было упомянуто приложение под названием rkhunter. Хотелось бы остановиться на нем по подробней.

Rkhunter — это сканер различных видов локальных (потенциальных) уязвимостей (бэкдоров, эксплоитов и руткитов) со своей регулярно обновляемой базой.
Он написан на bash и perl, поэтому будет работать под любой серверной ОС на базе unix без каких-либо проблем.



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

Практическое применение FlexBox

Reading time10 min
Views368K
Привет, хабр!

Одним прекрасным вечером, не предвещающим ничего интересного, в наш чатик поступило предложение от автора публикации «Переводим в код 5 действительно полезных шаблонов адаптивной разметки», написанной им весной 2012 года, написать статью-ремейк, но с применением FlexBox и сопутствующим пояснением что и как работает. После некоторой доли сомнений, интерес глубже разобраться в спецификации все таки победил и я благополучно сел верстать те самые примеры. В ходе погружения в эту область стало выясняться множество нюансов, что переросло в нечто большее чем просто переверстать макетики. В общем в данной статье хочу рассказать о такой чудесной спецификации, под названием «CSS Flexible Box Layout Module» и показать некоторые ее интересные особенности и примеры применения. Всех кому интересно, любезно приглашаю под хабракат.
Читать дальше →

Установка библиотеки WinJS 3.0

Reading time3 min
Views9.6K
Всем добрый день!



Не так давно мы рассказывали вам об анонсе новой версии библиотеки WinJS – WinJS 3.0.

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

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

Внимание! Инструкция для начинающих.
Читать дальше →

В Sypex Geo добавлена привязка к API ВКонтакте

Reading time3 min
Views8.2K
В Sypex Geo по просьбам трудящихся добавлена привязка к ID городов, регионов и стран, которые используются в API ВКонтакте.

Что такое и для чего нужен Sypex Geo


Sypex Geo одно из решений в области геолокации — определения географического положения (страны, города, региона) посетителя на основе IP-адреса. Используются собственный открытый формат бинарной базы данных, также доступен веб-сервис REST API, позволяющий всегда использовать самые свежие базы данных. Sypex Geo использует собственные базы данных, которые регулярно обновляются, так как местонахождение IP-адресов меняется (2 раза в месяц обновляются бесплатные базы данных, 4 раза в месяц коммерческие базы данных).

Примеры использования геолокации


  • Показывать посетителю контакты филиала из региона в котором находится посетитель.
  • В зависимости от города или региона посетителя интернет-магазин может показывать специальные предложения для данного региона
  • Фирма может устанавливать разные цены на товары и услуги, снижая цены для тех населенных пунктов, где сильны позиции конкурентов.
  • Проведение географического таргетинга при интернет-рекламе (контекстной, баннерной и т.д.).
  • Для посетителей из разных стран цены на товары и услуги могут быть указаны в разной валюте.
  • Посетители из разных стран могут быть перенаправлены на национальные зеркала основного сайта.
  • Проведение маркетинговых исследований.
Читать дальше →

BOOTSTRA.386: тема для Bootstrap в духе 1980-х

Reading time1 min
Views109K
Оказывается, некоторые темы для Bootstrap — это маленькие произведения искусства. В рамках надвигающейся пятницы хотелось бы рассказать об одной из таких тем.

Крис МакКензи — явно один из тех, кто скучает по старым добрым временам DOS, EGA/VGA и Turbo Vision, иначе он вряд ли бы решился сделать что-то подобное. Так что если вы успели устать от засилья плоского дизайна, то добро пожаловать в мир BOOTSTRA.386!

Осторожно: будьте готовы к острому приступу ностальгии. Единственное, чего не хватает для полного погружения — так это навигации с клавиатуры, ну и курсора в виде прямоугольного блока.

image

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

Как не стать спамером со своей уютной рассылочкой

Reading time1 min
Views67K
image
Пользователь когда-то подписался на рассылку, но уже забыл когда, и главное зачем. Теперь ежедневно к нему падает спам, а по собственному опыту он знает, для того чтобы отписаться нужно зайти по ссылке свой профиль, найти и снять там какую-то галку а главное, помнить свой логин и пароль на давно забытом им сайте.
Его действия? «В спам!»

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

И вот, с десяток таких «отписок» и гугл будет удобно отсортировывать ваши рассылки в папочку Спам (584), у ВСЕХ ваших подписчиков.

Однако многие из нас уже успели заметить: некоторые письма в Gmail при попытке отметить их «В спам!» САМИ предлагают отписаться от рассылки в один клик.

Эта фича была введена google более года назад, но лишь единицы рассылок научились ей пользоваться. И не удивительно. В рекомендациях по осуществлению массовых рассылок, лишь косвенно упоминается о том, что Вам нужно сделать.
А сделать нужно не многое.
Читать дальше →

GPRS изнутри. Часть 3

Reading time7 min
Views47K
В этой статье мы продолжаем наше знакомство со структурой и основными функциональными элементами пакетной сети оператора мобильной связи, которые мы начали в предыдущих двух статьях — GPRS изнутри. Часть 1 и GPRS изнутри. Часть 2. В нашей сегодняшней заметке речь пойдет об основных интерфейсах сетевых элементов PS Core Network, а также стеках проколов, используемых на этих интерфейсах.

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

Анимирование Flexbox с помощью CSS Transition

Reading time4 min
Views39K
Все уже знают про Flexbox. Кто-то испытывает его на продакшене, кто-то только изучает, а кто-то недоумевает, чем он лучше таблиц. Пока вы занимаетесь этим, поделюсь с вами приятной новостью: flexible контейнеры неплохо анимируются с помощью CSS transition.

Расскажу, как это использовать и что с этой радостью можно делать.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity