Pull to refresh
-7
0
Сергей @hamnsk

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

Send message

Выбираем плагин для кэширования WordPress: бенчмаркинг 18 плагинов

Reading time7 min
Views65K


При разработке собственного сайта мы всегда хотим снизить время загрузки до минимума, и многие сделали это уже почти спортом, стараясь выгадать хотя бы 1/10 секунды. Все мы знаем, насколько важно кэширование, но существует много способов обмануть самого себя, смотря только на оценку времени загрузки. Для проведения теста мы попытались найти несколько различных кэширующих плагинов и проверить их производительность.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments21

Алярм, ахтунг, внимание, свистать всех в серверную

Reading time4 min
Views39K


Многим невдомёк, какая у системных администраторов нервная работа: постоянно что-то выходит из строя, а пользователи чудят безо всякой меры. Ежедневно приходится решать десятки, если не сотни задач, связанных с поддержанием работоспособности серверов, сетевой инфраструктуры, парка пользовательских компьютеров, всевозможной техники и электроники. Не говоря уже о всевозможных более простых задачах вроде настройки ПО и обслуживания оргтехники. В нашей работе очень много рутины, и нам захотелось привнести немного разнообразия и веселья в рабочий процесс. Сказано — сделано: подумав немного, мы построили специальную систему оповещения, управления, контроля и властвования.
Читать дальше →
Total votes 66: ↑58 and ↓8+50
Comments13

Как спроектировать и написать полноценную программу

Reading time5 min
Views36K
«Инструкция создания функционального приложения», часть 1.

«Мне кажется, что понимаю функциональное программирование на базовом уровне, и я даже писал простые программы, но как мне создать полноценное приложение, с реальными данными, с обработкой ошибок и прочим?»

Это очень распространенный вопрос, поэтому я решил, что в этой серии статей опишу инструкцию, охватывающую проектирование, валидацию, обработку ошибок, персистентность, управление зависимостями, организацию кода и так далее.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments2

Чистим интернет от назойливой рекламы (AD Blocker для MikroTik)

Reading time6 min
Views141K


Данная статья является логическим завершением небольшой дискуссии с тов. vvzvlad, которая развернулась под топиком "Чистим домашний интернет от очень назойливой рекламы (Ad's blocker для OpenWRT)", где автор с помощью wget, sed и cron на OpenWRT успешно сливает файлы рекламных хостов, парсит и подсовывает dns-серверу dnsmasq.

Переадресовывая клиента при запросе «рекламного» домена, например, на loopback (127.0.0.1 — 127.255.255.255), вместо котента рекламы клиент получит благодатное «ничего» (разумеется, при условии, что у нас не работает локальный веб-сервер который слушает локалхост). Механизм фильтрации довольно старый и не лишен недостатков. Например, нельзя указать маски хостов (*.ad-domain.tld) или «вырезать» рекламу, баннеры которой хостятся на запрашиваемых ресурсах. Но зато не привязан к какому-то либо протоколу и довольно прост в эксплуатации. Более того, если его использовать, например, на домашнем или офисном маршрутизаторе, который используется в качестве DNS сервера, реклама успешно порежется на всех гаджетах, где IP нашей железки прописан первым в качестве DNS сервера.

Но что если у нас вместо роутера с кастомной прошивкой используется… MikroTik (RouterOS), функционал которого накладывает некоторые ограничения? Под катом вы узнаете каким образом удалось успешно "сконвертировать" файл хостов в пригодный для него формат, как автоматизировать это дело и что для хабралюдей в качестве бонуса был создан небольшой сервис как раз для автоматизации этого процесса (маленький, абсолютно бесплатный и с открытыми исходниками).
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments63

Борьба с «плохими» URI, спамерами и php-шеллами — личный опыт

Reading time11 min
Views17K
Полагаю, все веб-программисты проходят в той или иной степени одинаковый путь. Я основываюсь на своем личном опыте. Для меня в начале постижения этой науки создание сайта было на первом месте. Только по прошествии значительного времени я осознал, что сайты еще и вскрывают. Прочитав, как это делается, я удивился, на сколько просто по неопытности превратить свой сайт в «проходной двор» и стал уделять безопасности определенное внимание. По крайней мере я стал фильтровать входные параметры страниц.

На втором этапе я с удивлением обнаружил, что существуют такие звери, как PHP-shell. В этом мне помог Касперский, когда заблокировал доступ к моему столь любимому сайту. Следующим откровением было то, что вскрыть могут не только вас, но и хостинг. При этом шеллы появляются на вашем сайте с удивительной регулярностью, неизвестно откуда и делают, естественно, что хотят. Например, редактируют файлы .htaccess и закрывают их редактирование для всех, в том числе и для владельца.

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

Что же нужно иметь ввиду и что можно сделать для создания относительно безопасного сайта?
Читать дальше →
Total votes 24: ↑15 and ↓9+6
Comments89

Игра для самых маленьких — простая идея, которую не стыдно включить в резюме

Reading time6 min
Views48K

Предыстория


Мой сын, как, наверное, все дети программистов, получил свою первую клавиатуру ещё когда не умел сидеть. Сейчас ему чуть меньше года, но он уже понимает разницу между «игрушечной» и «настоящей» (папиной) клавиатурой — если колотить по кнопкам настоящей, то на экране меняется картинка, а компьютер иногда издаёт какие-то звуки.

КДПВ

Поскольку лишиться всех своих данных мне пока не хочется, ребёнку иногда разрешается нажимать на кнопки заблокированного компьютера. К сожалению, для ребёнка это не очень весело, поскольку компьютер имеет всего два режима (две картинки) — экран ввода пароля и собственно экран блокировки.

Чтобы процесс освоения компьютера стал для детёныша более увлекательным, я решил написать ему простенькую игру. Будучи программистом со стажем, весь процесс решено было построить «правильно».

Требования


Заказчик (мой сын, возраст <1 года), как и все нормальные заказчики затруднился письменно изложить непротиворечивые и полные требования к продукту, поэтому пришлось помочь писать самому.

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

Не функциональные:
  • Мне должно быть не стыдно за написанный код.
  • Код должен быть ценен сам по себе.
  • Архитектура и все решения должны быть «правильными» — как в заказном проекте.

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

В качестве языка программирования и среды разработки были выбраны C# и Visual Studio, так как они обеспечивали исполнителю наибольшую скорость работы.
Читать дальше →
Total votes 83: ↑74 and ↓9+65
Comments41

Как обычному сайту на Wordpress набрать 99/100 в PageSpeed Insights

Reading time5 min
Views136K
Началось все с того что Adsense в очередной раз понизил оценку эффективности страниц:
image
А все мы знаем, что скорость сайта – один из факторов ранжирования в выдаче Гугла.

И если раньше удавалось исправить ситуацию простыми действиями, включить кэширование или сжать JS, то теперь, похоже, пришло время взяться за сайт основательно.

Изначально имеется сайтик со статьями, коих в интернете миллионы: CMS Wordpress 4.2, два десятка плагинов, тема, сверстанная фрилансером и shared хостинг.
Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments19

Чат-помощник на сайт с помощью Telegram за 15 минут

Reading time4 min
Views192K


Про чаты-помощники


Многие люди продают через интернет товары и услуги. Еще больше людей — покупает что-то через интернет.
Во время выбора покупок, часто возникают вопросы, которые можно решить позвонив и пообщавшись с менеджером.
Скорее всего я — не единственный человек на хабре, который общению с менеджерами по телефону предпочитает переписку.
И тут на помощь приходят всплывающие чаты-помощники, которые вроде-как повышают конверсию, но многих нервируют.
(Для тех, кто не в курсе: в углу сайта всплывает окошко, в котором можно он-лайн переписываться с консультантом).

Есть с десяток подобных сервисов и все они работают по принципу "пробная версия бесплатно, а дальше за деньги".
На хабре есть несколько статей, вот одна из них (http://habrahabr.ru/company/tuthost/blog/165365/), но, я уверен, аудитория Хабрахабра знает о чем речь.
Большинству людей подойдет бесплатный вариант любого такого сервиса: нужно всего-навсего зарегистрироваться и вставить на сайт кусок JS кода. Для тех у кого много менеджеров — придется платить: например Редхелпер на 10 операторов обойдется Вам:
115200 руб. за 1 год



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

Но я решил изобрести бесплатный «велосипед» из подручных материалов.
Запуск у себя на сервере займет 15 минут. Всем, кому идея интересна — прошу под кат.
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments43

Ограничиваем нагрузку на сервер. Дешево и сердито

Reading time4 min
Views5.1K
Ранее мы писали о разграничении информационных систем при защите персональных данных. Предмет этой статьи — ограничение нагрузки на сервер при ограниченном бюджете.



Читать дальше →
Total votes 15: ↑2 and ↓13-11
Comments3

Полный путеводитель по созданию лендингов, которые продают

Reading time16 min
Views75K


Мы продолжаем знакомить вас с лучшими статьями по веб-дизайну. Сегодня мы перевели свежую статью на Medium о создании эффективных посадочных страниц. Перевод выполнен «Я люблю ИП».

Лендинги — это посадочные страницы, которые созданы специально для достижения определённых целей конверсии. Иногда в качестве лендинга выступает главная страница (хотя многие считают, что она не может быть настоящим лендингом). Но чаще всего создаются специальные посадочные страницы для определённых маркетинговых кампаний.

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

Читать дальше →
Total votes 37: ↑22 and ↓15+7
Comments2

Landing Page и лидогенерация

Reading time2 min
Views9K
Привет, Хаброжители!

Недавно у нас вышли книги по созданию посадочных страниц и лидогенерации.

image

А. Петроченков, Е. Новиков «Идеальный Landing Page. Создаем продающие веб-страницы»
К. Андреева «Лидогенерация. Маркетинг, который продает»
Р. Назипов «Лидогенерация: клиентов много не бывает»

Цель поста — краткий обзор книг.
Читать дальше →
Total votes 20: ↑10 and ↓100
Comments9

Роуминг своими руками

Reading time5 min
Views38K
Строим роуминг самиВсе любят путешествовать, например мне в этот раз удалось побывать в трех столицах: Праге, Вене, Будапеште. Но пост не об этом, а о том, что за неделю путешествия на телефонную связь я потратил всего 7 евро. Не ограничивая себя в разговорах с близкими, и даже работая. На настройку роуминга я потратил несколько минут перед поездкой.
На личном примере написана инструкция по построению роуминга своими руками. Кроме этого под катом вы найдете: этапы прохождения звонка в роуминге, варианты реализации каждого этапа своими руками, описание роуминговых SIM-карт полностью интегрированных с SIP и IP-АТС.

Читать дальше →
Total votes 40: ↑35 and ↓5+30
Comments19

Аудит безопасности сайта глазами заказчика

Reading time4 min
Views24K


В этом топике я хочу рассказать, как проходит коммерческий аудит безопасности сайта, в чем отличие от bug bounty программ и «свободного рисерча».
Читать дальше →
Total votes 38: ↑30 and ↓8+22
Comments7

Взлом сайта и его последствия

Reading time8 min
Views158K


Времена, когда сайты взламывались ради забавы почти прошли. В современных реалиях сайты атакуют для извлечения прибыли. Атаковать могут абсолютно любой сайт, даже с минимальными показателями и трафиком.
Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments30

iOS Инструменты разработчика

Reading time26 min
Views35K

Вступление


Всем привет, меня зовут Григорий, последние 5 лет занимался программированием под iOS. Сейчас решил сменить сферу деятельности и ударился в веб, но чтобы добро не пропадало, хочу поделиться с сообществом своими наработками, накопившимися за это время. Библиотеки выложены на GitHub и добавлены в CocoaPods. Инструкции по установке и использованию вы сможете найти по ссылкам на GitHub, здесь же будет краткое описание.

Минимальная поддерживаемая версия — iOS 6.0.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments27

Эффективное кодирование видео в Linux c Nvidia NVENC: часть 2, дополнительная

Reading time7 min
Views26K


В первой части я рассказал о кодировании видео в Linux с использованием Nvidia NVENC. Как уже упоминалось ранее, Nvidia для десктопных видеокарт ограничивает количество потоков кодирования до двух сессий на систему. Данная часть посвящена борьбе с этим ограничением.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments20

6 фраз которые могут изменить ваш подход к обслуживанию клиентов

Reading time5 min
Views55K
Друзья, всем привет!

Мы продолжаем переводить и публиковать для вас лучшие материалы о поддержке клиентов. В данном материале речь пойдет о том, что использование определенных фраз может изменить восприятие информации вашими пользователями. «Словом можно убить, а можно вылечить человека» (с) — в отношении службы поддержки эта пословица особенно актуальна! Ниже приведены и разобраны шесть конкретных фраз, которые способны сделать ваших клиентов более счастливыми.



От переводчика: С оригинальной статьей вы можете ознакомиться по ссылке. Список ранее переведенных материалов доступен в конце поста. Приятного чтения, команда сервиса для поддержки клиентов Teamdesk.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments10

Запускаем источник пассивного дохода на Raspberry Pi: Мастернода Dash

Reading time4 min
Views61K
Чем привлекателен запуск Мастерноды Dash в качестве источника пассивного дохода для держателей криптовалюты Dash?

Во-первых, Мастерноду можно запустить даже на простейшем микрокомпьютере Raspberry Pi, очень маленьком и дешёвом (альтернативное решение — её можно запускать на выделенном сервере или VPS).
А во-вторых, владелец Мастерноды получает вознаграждение за поддержание работы сети Dash, которое на текущий момент приносит 17% годовых (в DASH).



Читать дальше →
Total votes 25: ↑17 and ↓8+9
Comments19

Рейтинг Mail.Ru запустил проверку сайтов на вирусы

Reading time3 min
Views17K


Содержательная часть поста очень короткая и почти совпадает с заголовком: да, действительно, с недавнего времени Рейтинг Mail.Ru проверяет установившие счетчик сайты на вирусы и при возникновении подозрений предупреждает письмом веб-мастера. Свой антивирус мы не писали, а использовали технологию наших партнеров. Но кроме этого краткого анонса, есть ещё два интересных вопроса, которые хотелось бы осветить чуть подробнее. Это вопросы «зачем?» и «как?».
Читать дальше →
Total votes 38: ↑23 and ↓15+8
Comments20

Что выбрать для 3D сайта – Three.js или Blend4Web?

Reading time11 min
Views33K
Я знаю Blender много лет, использую Unity для своих игр, но полный новичок в WebGL. Однако, будущее именно за этой технологией, и неплохо было бы разобраться с ее использованием. К сожалению, экспортер Unity для WebGL пока не рабочий и нужен иной инструмент.

Я не люблю изобретать велосипед и предпочитаю готовые решения. Найденный ранее Blend4Web выглядит очень заманчиво (интеграция с Blender, качественный экспортер и т.д.), но ведь существует немало других библиотек и платформ для работы с WebGL.

Извечный вопрос: что выбрать новичку? Я поработал с платформами Blend4Web и Three.js. Что из этого вышло — читайте дальше.
image
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments41

Information

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