Как стать автором
Обновить
1
0
Алексей @jiexaspb

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

Отправить сообщение

Расширения VSCode, которые облегчат разработку на JavaScript и Vue

Время на прочтение3 мин
Количество просмотров54K

На сегодняшний день существует достаточное количество средств для разработки с поддержкой языка JavaScript и основанных на нем фреймворков. Вопрос выбора конкретного инструмента стоит вне этой статьи, тут же я постараюсь описать свой пользовательский опыт работы с Visual Studio Code и средствах, которые призваны облегчить жизнь JS разработчикам, в частности тем, кто использует Vue.


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

Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии13

Боты в телеграм: опыт, откровения, советы по разработке

Время на прочтение10 мин
Количество просмотров26K
Давайте сразу по делу. Содержание статьи:
  • С чего мы начали писать ботов в Telegram. Первый опыт.
  • Создание nodejs библиотеки bot-brother для быстрого написания ботов.
  • Разбираем код свеженаписанного бота DeloreanBot
  • Общечеловеческие рекомендации по созданию популярного бота
  • Философские рассуждения о монетизации ботов


Поехали.
Читать дальше →
Всего голосов 26: ↑19 и ↓7+12
Комментарии19

Получение прямой ссылки на видео vkontakte

Время на прочтение5 мин
Количество просмотров125K

Предисловие


Здравствуйте. В этой статье я поделюсь с вами пожалуй единственным способом получения ссылки на видео из контакта.
Читать дальше →
Всего голосов 29: ↑15 и ↓14+1
Комментарии13

Оформить правильно

Время на прочтение3 мин
Количество просмотров6.2K
Проблема большинства сегодняшних программ, таких как Excel или Numbers – они дают отвратительный набор типовых графиков, из которых пользователю необходимо выбрать подходящий. Но как можно выбрать подходящий и хороший, если для его получения нужно совершить с десяток непростых телодвижений, с каждым из которых вообще можно разбираться по 5-10 минут…
Поэтому сегодняшняя статья будет посвящена тому, как правильно и понятно нужно оформлять графики в презентациях.

Начнем с начала.
Вот, самый обычный график, который создается за секунду, нажатием 2-х кнопок в Экселе. Да, красота неописуемая, что глаз не оторвать. Но так ли важна эта красота, когда вам нужно дать четкое и понятное представление для всех собравшихся о том, что происходит с бюджетом компании? Кто-то сможет однозначно сказать, что происходит, например, в июне месяце? Компания в убытках? Или, может, наоборот уже все не так уж и плохо? Для ответа на этот вопрос нужно подключить неплохое пространственное воображение и удачу. И тогда кто-то сможет ответить: «В июне бюджет наконец-то превысил наши расходы!».

image
Читать дальше →
Всего голосов 100: ↑83 и ↓17+66
Комментарии81

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

Время на прочтение6 мин
Количество просмотров9.5K
Первая часть

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

После первой части я получил большое количество сообщений, большая часть из которых посвящалась тому, что я продемонстрировал в статье возможность публикации на собственной стенке, а автоматическую публикацию на стене Группы или Официальной странице я не показал. Поэтому я начну с того, какие параметры нужно для этого передавать.
Перейдем непосредственно к параметрам
Всего голосов 21: ↑12 и ↓9+3
Комментарии27

Поддержка OAuth 2.0 платформой ВКонтакте

Время на прочтение2 мин
Количество просмотров38K
Вчера во ВКонтакте появилась поддержка открытого стандарта авторизации OAuth 2.0. Теперь интегрировать сайты и клиентские приложения с социальной сетью стало значительно проще.

Читать дальше →
Всего голосов 129: ↑114 и ↓15+99
Комментарии89

Chatroulette своими руками — 50 строк кода

Время на прочтение1 мин
Количество просмотров28K
image
Пару месяцев назад я приглашал всех на веб-семинар о p2p во Flash, но сделал это слишком поздно, поэтому наверняка большое количество желающих на него не попало. Самое ценное, что я извлек из этого семинара — то, что peer-to-peer приложения во Flash делать очень легко. Правда у самого руки очень долго до этого не доходили.

Но буквально вчера руки очень сильно зачесались, и посидев ночку я разобрался в том, как работает технология p2p во Flash. Соединить видеопотоки двух flash-клиентов мне показалось мало, поэтому решил сделать что-то более интересное:
  1. Пользователь открывает страничку
  2. Выбирает тему для разговора (один из постов на главной хабры)
  3. Разговаривает со всеми, кто выбрал эту же тему

Сделал. Тут мой пример видеоконференции, исходники клиента и сервера можно скачать отсюда. Минимальные требования для примера — наличие Flash Player 10 и вэб-камеры.

UPD: Все это добро хостится на AppEngine, могут закончиться бесплатные квоты и все перестанет работать. Перекинул клиента на narod.ru. Если работать не будет — заходите сюда
Всего голосов 78: ↑72 и ↓6+66
Комментарии59

авторизация приложений и схема подписи данных на базе OAuth 2.0

Время на прочтение3 мин
Количество просмотров9.3K
При написании большинства приложений на платформе Facebook разработчику требуется получить доступ к данным пользователя: список друзей, ньюсфиды, ссылки, likes и т. д. Разумеется, такую информацию нужно передавать, убедившись что она попадет к нужному получателю от определенного отправителя. Для этого FB предлагает использовать разработанную ими схему подписи на базе OAuth 2.0.

Данные о текущем пользователе (или о текущем профиле) FB передает в параметре signed_request, а именно:
  • algorithm — HMAC-SHA256;
  • user_id — айди текущего пользователя;
  • oauth_token — зашифрованная строка, которую можно использовать в дальнейшем для доступа к Graph API, Old Rest API или FQL;
  • expires — когда истекает oauth_token;
  • profile_id — появляется на табе профиля.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии16

Эффективная обработка фотографий в Photoshop

Время на прочтение6 мин
Количество просмотров146K
Эффективная обработка фотографий в Photoshop

Читая статьи о Photoshop, я часто удивляюсь тому, насколько многие авторы усложняют решение по сути простых задач по обработке. Этим страдают и многие «монументальные» писатели, например Дэн Маргулис. Но ему это простительно – его задача написать о всех тонкостях и нюансах процесса обработки, рассмотреть его со всех ракурсов и сторон. Хотя именно эта особенность подачи материала в его книгах отталкивает многих читателей.

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

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

Читать дальше →
Всего голосов 288: ↑244 и ↓44+200
Комментарии117

История интернета на одном графике

Время на прочтение1 мин
Количество просмотров726
Ниже кликабельная мини-версия, открывающая оригинальный график размером 700 на 4625 пикселей.
Перевод оригинальной картинки осуществил snarker, за что ему большое спасибо!

MBA Online
Via: MBA Online
Всего голосов 129: ↑83 и ↓46+37
Комментарии65

Своя поисковая система на сайте

Время на прочтение2 мин
Количество просмотров943
Часто встречаю такую ситуацию, когда на Интернет-сайтах необходим собственный внутренний полнотекстовый поиск. Реализовать его не так уж и сложно, а эффект от его внедрения огромный.
Так на одном из своих проектов необходимо было реализовать быстрый поиск тематической информации из БД. На данный момент для решения подобных проблем используются теги и рубрики к записям. Но в моем случае это был не вариант. Постановка задачи следующая: на основе введенных двух-трех слов необходимо вывести записи, содержащие эти слова.
Структура в упрощенной форме БД приведена на рисунке.

image
Читать дальше →
Всего голосов 18: ↑11 и ↓7+4
Комментарии15

Класс по работе с Google Translate (Qt, C++)

Время на прочтение7 мин
Количество просмотров2.2K
Вот, решил выложить отдельно протокол, точнее класс протокола, Google Translate, по которому работает мой переводчик. В данный момент в протоколе есть возможность устанавливать прокси, делать перевод (разумеется) и, то, чего все просили, подсказки гуглу… То есть, если Вам не понравился перевод чего-либо Вы можете подсказать гуглу как это будет лучше переводится на Ваш взгляд. Ну, по-моему большего и не надо. А если надо — фичреквест и я добавлю!

Код под катом, смотрите…

Пока Вы еще не заглянули под хабракат… Сразу прошу прощения, код не такой большой, но все же выложен напрямую, скачать его можно вместе с исходниками переводчика, с моего блога.
Сильно не ругайте. Выкладываю в личном блоге, куда-то еще класть, думаю, нет смысла.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии15

Создание HTML формы при помощи web-интерфейса

Время на прочтение2 мин
Количество просмотров1.8K

Применяющиеся термины


HTML — Он же XHTML, язык разметки гипертекста, для создания веб-страниц, интерпретируется браузером и отображается в виде документа, в удобной для человека форме.
FORM — Тег <FОRM> устанавливает форму на веб-странице. Форма предназначена для обмена данными между пользователем и сервером. Область применения форм не ограничена отправкой данных на сервер, с помощью клиентских скриптов можно получить доступ к любому элементу формы, изменять его и применять по своему усмотрению.

Превью


В ближайшее время, отведенное Вами на прочитку данного топика, я познакомлю Вас с сервисом предлагающим автоматическое создание исходного кода различного вида форм, для Вашего ресурса. Будь то: обратная связь, корзина, баг трэкер, и многое другое. В том числе имеется возможность создания своей формы, не по шаблонному макету. Сервис имеет статус: freeware, но даже в этом режиме он предоставляет его пользователям все возможности, которые требуются для Вас! Имеется определенное количество стилей, некоторые из них Вы сможете увидеть в следующем разделе. Для полноценного использования сервиса, от Вас потребуется всего лишь регистрация, не требуемая активации через почтовый адрес. Все данные отправленные пользователями при помощи созданной Вами формой, будут отправлены Вам на почтовый адрес, указанный Вами в настройках формы (см. раздел «Панели»).
Читать дальше →
Всего голосов 26: ↑14 и ↓12+2
Комментарии23

Создание системы авторизации в высоконагруженном проекте с использованием MemcacheDB

Время на прочтение4 мин
Количество просмотров1.8K
Здравствуйте!

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

Где хранить аутентификационную базу пользователей?
Как быстро авторизовать пользователя по его строковому логину?
Как собирать распределенные по нескольким шард-таблицам и нескольким базам данных пользовательские данные?
Как заставить все это работать и как в этом нам может помочь MemcacheDB?

Читать подробности
Всего голосов 17: ↑17 и ↓0+17
Комментарии31

Программирование в PHP 5.3

Время на прочтение3 мин
Количество просмотров686
Вы наверно слышали о новых особенностях, которые ожидают нас в PHP 5.3, но кто знает где можно их использовать в реальном программировании? Я потратил немного времени чтобы изучить их и решил привести несколько примеров.
Читать дальше →
Всего голосов 33: ↑28 и ↓5+23
Комментарии26

Лучшие практики в области проектирования Новостных Социальных сетей

Время на прочтение8 мин
Количество просмотров2.8K
Каким образом вы можете получать ежедневные новости в эти дни? Ну… может быть посещением ваших любимых сайтов и блогов, но это неэффективно, поскольку эти блоги не обладают жесткой сортировкой обновлений. Возможно, вы подпишитесь на них с помощью RSS, который поставляет все новые статьи прямо к вам, но в этом случае вам придется самостоятельно разбираться со всеми новыми статьями, чтобы найти то, что интересно вам. Другим вариантом сегодня было бы посетить новостную социальную сеть.

Агрегаторы ссылок Социальных новостных сайтов, основная функция которых заключается в том, чтобы собирать и обмениваться интересными ссылками. Это может быть сделано путем представления ссылки пользователем или автоматически в системе. Аспект агрегирования является лишь его частью, хотя, этот аспект также сортирует ссылки. Опять же, это может быть сделано путем голосования пользователей и некоторыми механическими алгоритмами (хотя в данном случае можем ли мы действительно назвать это «социальный» новостной сайт?). Конечный результат такой же, однако: самые интересные ссылки выходят в топ, эта особенность делает социальные новостные сайты большой альтернативой RSS.

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

Изучить опыт Новостых социальных сетей
Всего голосов 27: ↑23 и ↓4+19
Комментарии14

Избавляемся от www в адресе сайта

Время на прочтение1 мин
Количество просмотров3.1K
Универсальное решение проблемы постоянных редиректов на домен без www при помощи mod_rewrite. Просто и полезно. Работает на любом домене без необходимости править для каждого сайта. Ранее на хабре видел подобное, но без независимости от доменного имени.
В корень бросаем файл .htaccess со следующим содержимым:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# В переменную окружения %{ENV:PROTOCOL} помещаем протокол
RewriteRule ^(.*)$ - [E=PROTOCOL:http]
RewriteCond %{HTTPS} ^on$ [NC]
RewriteRule ^(.*)$ - [E=PROTOCOL:https]
# Если нужно убираем www
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1:%{SERVER_PORT}%{REQUEST_URI} [R=301,L]
</IfModule>
Всего голосов 44: ↑22 и ↓220
Комментарии43

FireUnit: Javascript Unit Testing Extension

Время на прочтение2 мин
Количество просмотров661
Юнит-тесты это то, на что никогда нет времени. А если есть время, то нет желания. И наконец, если есть время и желание, то обязательно найдется какой-нибудь засранец, который найдет, как забрать твое время и отобьет всякое желание что-либо делать вообще… Да, заказчику тяжело объяснить что такое юнит-тесты и зачем они нужны. Но тем не менее, хочу сделать небольшой обзор нового плагина для Firefox, который позволяет юнит-тестить ваш джаваскрипт. Если быть совсем точным, то это расширение для Firebug – излюбленного инструмента javascript-разработчиков.
Итак, те кто не владеет теорией юнит-тестирования идут учить матчасть, а с остальными мы рассмотрим простейшие юнит тесты:

// Простой true/false юнит-тест
fireunit.ok( true, "Тест пройдет успешно!" );
fireunit.ok( false, "Тест будет провален!" );
// Сравниваем две строки и показываем разницу
// если строки отличаются между собой
fireunit.compare(
"Ленивый программист чистит зубной щеткой унитаз.",
"Ленивый программист уронил зубную щетку в унитаз",
"Это одинаковые строки?"
);
// Сравниваем две строки, используя регулярные выражения
fireunit.reCompare(
/Ленивый программист .* унитаз./,
"Ленивый программист уронил зубную щетку в унитаз.",
"Сравниваем две строки, используя регулярные выражения."
);
// Отображаем результаты тестов
fireunit.testDone();

Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии5

Система контроля доступа на cakePHP.

Время на прочтение9 мин
Количество просмотров1K
Как вы знаете существуют различные системы контроля доступа.
Некторые из них простые, реализованные только на основе сессий, другие же сложные, такие как ACL. Каждая из них имеет свои плюсы и минусы. Простые системы легки в понимании и в обращении, но при увеличении количества привелегий и необходимости их динамического изменения будут возникать и соотвествующие трудности, ACL же довольно громоздка, не столь гибка и сложна в понимании. Долгое время использовав обе системы, пришел к выводу, что нужно разработать свою систему контроля доступом, которая бы имела следующие возможности:
  • простота понимания и простота исполнения
  • динамическое сосздание групп\ролей и перемещение юзера по ролям\группам
  • юзер может состоять в любом количестве групп\ролей
  • легкое, быстрое и понятное изменение доступа
  • минимизация кода при использовании системы
  • мимнимизация размера таблиц связанных с контролем доступа
  • минимизация количества запросов к БД


Читая существующие топики о системах разделения доступа часто натыкался на коментарии: «Зачем городить огород, если есть ACL». Сразу же отвечу чем меня не устраивает ACL.
  • сложность понимания
  • юзер не может быть в нескольких группах одновременно
  • при необходимости ограничения доступа отдельныи юзерам сильно раздуваются таблички (необходимо хранить id каждого юзера )
  • сложность с перемещением юзеров по группам
  • отсутсвие кеширования
  • необходимость делать визуализацию для работы с группами и правами
  • своя тельняжка ближе к телу (в том смысле, что свой код легче потдерживать)


Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии10

Попытка реализации многопоточности в PHP

Время на прочтение7 мин
Количество просмотров653
Задача была в след: Нужно было получить координаты для множества городов и регионов.
Т.к. координат было куча возникло решение в многопоточности.

Плюсы: одновременное выполнение нескольких запросов к серверу.
Минусы: если запускать свой скрипт, то надо указывать url к скрипту, т.е. на локале не всегда будет работать.
Читать дальше →
Всего голосов 11: ↑5 и ↓6-1
Комментарии23
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность