Pull to refresh
1
0
Алексей @jiexaspb

User

Send message

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

Reading time3 min
Views54K

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


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

Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments13

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

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


Поехали.
Читать дальше →
Total votes 26: ↑19 and ↓7+12
Comments19

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

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

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

image
Читать дальше →
Total votes 100: ↑83 and ↓17+66
Comments81

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

Reading time6 min
Views9.5K
Первая часть

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

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

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

Reading time2 min
Views38K
Вчера во ВКонтакте появилась поддержка открытого стандарта авторизации OAuth 2.0. Теперь интегрировать сайты и клиентские приложения с социальной сетью стало значительно проще.

Читать дальше →
Total votes 129: ↑114 and ↓15+99
Comments89

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

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

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

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

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

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

Reading time3 min
Views9.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 — появляется на табе профиля.
Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments16

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

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

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

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

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

Читать дальше →
Total votes 288: ↑244 and ↓44+200
Comments117

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

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

MBA Online
Via: MBA Online
Total votes 129: ↑83 and ↓46+37
Comments65

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

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

image
Читать дальше →
Total votes 18: ↑11 and ↓7+4
Comments15

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

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

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

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

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

Reading time2 min
Views1.8K

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


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

Превью


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

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

Reading time4 min
Views1.8K
Здравствуйте!

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

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

Читать подробности
Total votes 17: ↑17 and ↓0+17
Comments31

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

Reading time3 min
Views686
Вы наверно слышали о новых особенностях, которые ожидают нас в PHP 5.3, но кто знает где можно их использовать в реальном программировании? Я потратил немного времени чтобы изучить их и решил привести несколько примеров.
Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments26

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

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

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

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

Изучить опыт Новостых социальных сетей
Total votes 27: ↑23 and ↓4+19
Comments14

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

Reading time1 min
Views3.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>
Total votes 44: ↑22 and ↓220
Comments43

FireUnit: Javascript Unit Testing Extension

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

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

Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments5

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

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


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


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

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

Reading time7 min
Views653
Задача была в след: Нужно было получить координаты для множества городов и регионов.
Т.к. координат было куча возникло решение в многопоточности.

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

Information

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