Search
Write a publication
Pull to refresh
10
0
Руслан @Sect0R

PHP, Angular, VueJS

Send message

Автоматическое оповещение читателей о новостях с помощью ВКонтакте

Reading time7 min
Views40K
Вторая часть

Предисловие


Те из вас, кто пользуется социальной сетью ВКонтакте и подписан на официальную страничку Хабры в ней, заметили, что все новые топики с главной появляются на страничке в виде сообщений-ссылок:
vk

Так вот, если у вас есть свой блог и вы хотите на своей личной страничке публиковать такие же сообщения-ссылки автоматически — топик может быть вам интересен. Сегодня мы попробуем публиковать простые сообщения ссылки, а далее добавлять к ним «превью»-картинки.
Читать дальше →

Оцените полезность идеи: онлайн FB2Reader

Reading time1 min
Views545
Здравствуйте.

Появилась в мозгах идея по организации сервиса чтения книг в формате fb2 онлайн.
Сервис будет представлять собой собсно саму читалку, возможность загружать и хранить на сервере свои книги. (версия 1)
При чтении можно будет пользоваться закладками и пр. функции всех железных и софтовых читалок.
В версии 2 возможно искать книги у других пользователей, ставить рейтинги книгам и пр. вкусности.

Как fb3 выйдет из стадии бета — добавлю возможность чтения и этого формата.

Хотелось бы услышать от Вас степень полезности такого сервиса (аргументацию прилагать). Будет ли он востребован?

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

P.S.: Планируется поддержка КПК 320х240 и выше до бесконечности.

Программа 1Password — бесплатно

Reading time2 min
Views43K
Этот пост не будет подробным описанием функциональности программы 1Password — я всего лишь хочу рассказать вам, как получить ее бесплатно. Хотя вообще без описания мне не обойтись: вам нужно знать, что вы получите, потратив пять минут своего времени.

1Password – продвинутый хранитель паролей и форм. Программа автоматически сохраняет все пароли, которые вы вводите в браузере при посещении различных сервисов (каждый раз, естественно, спрашивая у вас разрешение это сделать). При повторном посещении этого ресурса вам не нужно будет вводить логин и пароль заново – всего лишь кликнуть на кнопочке «1P», которая появляется во всех ваших браузерах при установке 1Password (поддерживаются браузеры Safari, OmniWeb, DEVONagent, Firefox, Camino и Flock).
Читать дальше →

FAQ по программированию под Android от новичка, и для новичков

Reading time16 min
Views158K
Предисловие к FAQ.

Программирование является моим хобби уже давно (правда на других языках и платформах), но до андроида руки дотянулись совсем недавно. Прошло несколько этапов, прежде чем я добрался до написания программ.
Сначала была пара месяцев посвященных Java, на сайте с «Сгибателем».
После, долгие попытки подружится с Eclipse, закончившиеся побегом на Android Studio.
На данный момент выпущено 7 программ и две находятся в разработке.
Данная подборка возникла как попытка структурирования и оптимизации полученной в процессе информации.
Заранее извиняюсь за возможно некорректную терминологию – так как практикую обучение через создание, и в теоретической части есть пробелы.

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

Кайдзен — путь к совершенству

Reading time5 min
Views24K
Кайдзен, кайдзэн (яп. 改善 кайдзэн, ромадзи Kaizen; встречается неверный вариант «кайзен») — японская философия или практика, которая фокусируется на непрерывном совершенствовании процессов производства, разработки, вспомогательных бизнес-процессов и управления, а также всех аспектов жизни.

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

Оценка конкурентности поисковых запросов по вариациям поисковой выдачи

Reading time5 min
Views26K


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

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

Проблемы CSS. Часть 2

Reading time7 min
Views235K
Продолжение перевода статьи «Проблемы CSS. Часть 1».

Когда использовать width / height равный 100%?


Height: 100%

Пожалуй, начнем с того, что попроще. Когда использовать height: 100%? На самом же деле, вопрос часто звучит немного по-другому: «Как мне сделать так, чтобы моя страница заняла всю высоту экрана?». Ведь правда?

Для ответа на него нужно понять, что height: 100% равен высоте родительского элемента. Это не магическое «высота всего окна». Так что, если вы захотите, чтобы ваш элемент занял все 100% от высоты окна, то установить height: 100% будет недостаточно.

Почему? А потому, что родителем вашего контейнера является элемент body, а у него свойство height установлено в auto по умолчанию; а значит — его высота равна высоте контента. Конечно, вы можете попробовать добавить height: 100% к body, но этого тоже будет недостаточно.

Почему? А все потому же, родителем элемента body является элемент html, у которого также свойство height равно auto и он также растягивается под размер контента. А вот теперь, если добавить height: 100% и к элементу html, то все заработает.

Стало понятнее? Корневой элемент html на самом деле не самый верхней уровень на странице — им является «viewport». Для простоты, будем считать, что это окно браузера. Так вот, если установить height: 100% элементу html, то это то же самое, что сказать — стань такой же высоты, как окно браузера.
Читать дальше →

Автоматизированный шаблон для front-end проектов

Reading time4 min
Views30K


Человек изобрел компьютеры, чтобы они выполняли за нас большую часть повторяющихся задач. Это позволяет нам экономить много времени и использовать его с максимальной пользой. И, так как эта статья о front-end разработке, в этой области таких задач много: компиляция css- и js-препроцессоров, сборка спрайтов, оптимизация изображений, минификация файлов и др.
Познать дзен

Советы маркетологам: как использовать квизы для привлечения пользователей

Reading time6 min
Views26K
Квизы как инструмент вовлечения посетителей сайта невероятно популярны. Маркетологи нещадно используют когнитивные убеждения людей и их тягу к прохождению тестов, викторин, отгадыванию кроссвордов и шарад. Но как сделать так, чтобы Ваш квиз прошли более 20 000 раз всего за 3 дня? Все секреты расскажем в статье.

Пятого июля 2014 года блог, посвященный еде, под названием Food52 опубликовал в Twitter квиз, который назывался «А какой вы торт?»

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

К вечеру 7-го июля (всего три дня спустя начала викторины), пост с квизом просмотрели более 20 000 раз – он стал просто хитом!
Читать дальше →

Подводные камни адаптивного веб-дизайна

Reading time2 min
Views23K
Адаптивный веб-дизайн – это намного больше, чем просто эластичные шаблоны и @media queries. На самом деле, это совершенно новый подход к дизайну. Учитывая это, предлагаю рассмотреть несколько распространенных подводных камней, которых следует избегать в вашем следующем адаптивном шаблоне.
Читать дальше →

Chocolatey — apt-get для Windows

Reading time6 min
Views119K
Chocolatey — менеджер пакетов в среде Windows по аналогии с apt-get в Linux Мире.



Начал использовать по причине разработки на Node.js под Nodester. Мне хотелось бы регулярно обновлять ноду, git, dropbox, да и тот же skype, при этом, не заморачиваясь со скачиванием msi инсталяторов и установками, а просто обновить одной командой:

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

Как создавалась Айчиталка. Часть 1: движок

Reading time10 min
Views28K
Совсем недавно мы выпустили в свет первую бета-версию нашей онлайн-читалки, с которой можно ознакомиться, почитав книгу Михаила Лермонтова «Герой нашего времени». Эта читалка — результат почти семимесячной работы, пять из которых ушло только на разработку движка. Казалось бы, в интернете уже есть бесплатные и открытые JavaScript-движки для чтения электронных книг и такой долгий срок может вызвать сомнения в профпригодности разработчика (то есть меня). Но есть одно большое и жирное «НО». Мы поставили перед собой слишком амбициозную и трудновыполнимую задачу: мы хотели использовать один и тот же движок на разных устройствах, в том числе маломощных, таких как айфон или электронная читалка.

В чём же заключается трудновыполнимость задачи? В первую очередь — в очень низкой скорости работы веб-приложений на айфоне. Например, мобильный Сафари по моим прикидкам работает раз в 100 медленнее своего десктопного собрата. Если на декстопе одна и та же операция выполняется 10 мс и совершенно незаметна для пользователя, то на айфоне она может выполняться больше секунды. Для сравнения: первая версия движка разбивала небольшую главу на страницы примерно за 15 секунд. Сейчас, спустя полгода, он делает то же самое менее, чем за секунду и вполне сносно работает в нашем приложении booq.

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

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

Несколько интересностей и полезностей для веб-разработчика #29

Reading time4 min
Views54K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

HumHub



Открытая социальная сеть, построенная на Yii — достойный аналог Diaspora. Разработчики вообще говорят, что это фреймворк, который предоставляет инструменты для лёгкой и продуктивной командной работы. Гибкая модульная система и ряд плагинов: заметки, таск-менеджер, календарь, голосование, рассылки и др. Еще HumHub — это очень красиво. Клевый современный интерфейс, асинхронность, всплывающие подсказки и прочие детали.

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

Выравниваем блок по центру страницы

Reading time5 min
Views994K
Очень часто стоит задача выровнять блок по центру страницы / экрана, да ещё и так, чтобы без ява-скрипта, без задания жёстких размеров или отрицательных отступов, ещё чтобы и скроллбары работали у родителя, если блок превышает его размеры. В сети ходят достаточно много однообразных примеров как выровнять блок по центру экрана. Как правило большинство из них основаны на одних принципах.
Читать далее

Запуск Android-приложений под Windows, OS X, Linux в Chrome

Reading time1 min
Views75K
archon

Корпорация Google довольно давно добавила Android-приложения в каталог Chrome Web Store, позволяя запускать ряд таких приложений на Chromebook или Chromebox. Не так давно несколько разработчиков сообщили, что есть возможность запускать и другие Android-приложения, не из каталога Chrome Web Store. Правда, перед запуском такие приложения нужно специальным образом подготовить.

Благодаря такой подготовке Android-приложения можно запускать не только на Chromebook, но и работать с ними в Windows, OS X, и Linux. Причем приложения запускаются, как нативные.

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

Свой проект на Кикстартере: практическое руководство

Reading time11 min
Views142K


Мы – российская студия, более двенадцати лет занимающаяся разработкой компьютерных игр. Нами были созданы «Мор. Утопия» (Pathologic), «Тургор» (Tension), «Тургор. Голос цвета» (The Void), «Эврика!» (Cargo! The Quest for Gravity) и «Тук-тук-тук» (Knock-Knock).

Несколько лет назад – по совету нашего опережающего время друга – мы решили опробовать краудфандинговую площадку Kickstarter в качестве источника финансирования небольшого игрового проекта.

Несмотря на сомнения, первая кампания успешно завершилась в середине сентября 2012 года. Мы собрали сорок одну тысячу долларов при заявленных тридцати. На полученные деньги была разработана и доставлена вкладчикам игра «Тук-тук-тук» (Knock-knock).

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

Поэтому мы решили провести еще одну кампанию. Мы собираемся сделать графически, технологически и геймплейно более совершенный ремейк нашей первой игры «Мор. Утопия» (Pathologic).

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

Основные виды поисковых запросов, которые используют пользователи интернет-магазинов, готов ли ваш сайт к ним? (Часть 1)

Reading time3 min
Views11K
В одной из статей мы уже рассматривали, каким должен быть поиск, но тогда мы касались этого вопроса с точки зрения дизайна и UX. В статье ниже мы рассмотрим основные типы запросов, которые используют пользователи.

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

Учитывая объем информации, было принято решение о разбивке статьи на несколько частей.
Читать дальше →

Оптимизация конверсии: где лучше всего разместить призыв к действию? [кейс]

Reading time7 min
Views25K
Призыв к действию на landing page — одна из стадий воронки продаж, часто очень важная для повышения конверсии в платящих клиентов. При размещении кнопки призыва к действию на лендинге многие владельцы сайтов следуют одним и тем же стереотипам и шаблонам и боятся экспериментировать. Более того, при размещении кнопки призыва к действию на большом количестве сайтов словно бы забыли использовать элементарную логику, сотрудники этих компаний явно не пытаются отследить перемещения посетителя сайта и направить его, и не тестируют разные варианты CTA. В данной статье Оли Гарднера, написанной от первого лица, разбираются многочисленные вариации размещения кнопки призыва к действию, автор анализирует, какие из них наиболее эффективны, а какие — ошибочны, и делает несколько выводов-рекомендаций по размещению CTA на лендинге. Где же все-таки должен быть расположен этот чертов призыв к действию?

Посмотреть все варианты размещения CTA и выбрать подходящий для себя

Пара полезных команд, которые могут пригодиться при DDoS и не только

Reading time3 min
Views82K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →

Django + API Вконтакте: постим записи с вложениями, получение списка групп и записей

Reading time5 min
Views21K
image


Доброго времени суток, Хабр!

Недавно разрабатывала сайт на python/django и нужна была возможность использования API Вконтакте. А именно:

• Постинг статей с сайта на страницу во Вконтакте, а также в выбранные группы (в которых состоял администратор);
• Возможность прикрепления документов и картинок к записям;
• Получение списка групп и записей с помощью обновляющегося скрипта и загрузка всего этого в админку django.

Собственно, для администратора управление этим функционалом осуществляется через админку.

Расскажу по шагам реализацию этого функционала.
Читать дальше →

Information

Rating
Does not participate
Location
Беларусь
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Database Architect
Lead
From 6,000 $
JavaScript
Vue.js
Node.js
PHP
Laravel
MySQL
Redis
Nginx
Docker
MongoDB