Рубрика «Разработка веб-сайтов» - 284

Приветствую, уважаемые читатели! Сегодня в блоге компании MyTaskHelper я расскажу об одной востребованной функции сервиса. Речь идет о действиях по условию (триггерах).

Действие по условию представляет собой выполнение определенных действий при соблюдении заранее заданных условий (критериев).

И прежде чем перейти к практической части, приведу 3-4 примера, по которым станет понятно, в каких случаях гибкая функция «Действия по условию» поможет решить запланированную задачу.

Читать полностью »

Насколько сложно построить полноценный сервис email-маркетинга? Что для этого нужно предусмотреть? Какие подводные камни могут встретиться на пути пытливых умов разработчиков?

image

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

Сразу оговорюсь, что в статье рассмотрена только техническая сторона вопроса.
Читать полностью »

Благотворительность напрямую: детям — игрушки, взрослым — права на рисунки - 1

Разработчик из DataArt Виктор Борисов придумал и реализовал что-то похожее на банк данных и социальную сеть в одном приложении. Причем не коммерческом, его проект — инструмент прямой благотворительности. Дети подают заявки на игрушки, прикрепляя к ним свои рисунки, а благотворители выполняют заявки и получают права на изображения. Хобби-проект Виктора называется «Игрушка за рисунок. Платформа для проведения конкурсов детских рисунков через интернет», а подробнее о нем рассказал сам автор.

Типичная ситуация: ребенок просит дорогую игрушку, которую родители купить ему не могут. Что остается делать ребенку? Обычно — просто смириться. Но каково ему будет, когда он вырастет и на него навалятся желания крупнее, если с самого детства его приучили сидеть сложа руки, отказавшись от амбиций?

«Игрушка за рисунок» предлагает уже с ранних лет прилагать усилия для достижения цели, искать альтернативные пути, но добиваться успеха. Если родителям конкретная игрушка кажется дорогой, для другого человека цена такого подарка может быть вполне посильной. Остается подать заявку на игрушку, дать ссылку на интернет-магазин, где благотворитель может купить этот товар, написать о себе и регулярно добавлять к заявке свои рисунки.Читать полностью »

Наверняка каждый программист, работающий с OAuth 2.0, задумывался – зачем же нужны Refresh токены, неужели Access токенов недостаточно? 64 KB — Их должно хватать каждому!

Эта тема довольно активно дискутируется – вот и на Stackoverflow вопрос есть и на Хабре тоже обсуждается. Собственно, именно обсуждение на Хабре и заставило меня высказаться.

Все предложенные комментаторами и авторами мнения касаются безопасности двухтокенного подхода. Безусловно, так и должно быть, ведь безопасность – это главное для фреймворка авторизации/аутентификации! Но будем откровенны – во многих случаях использования подход с двумя токенами не дает никакого выигрыша в защищенности по сравнению с простым и тупым подходом с одним токеном. Или этого сразу не видно…

«Refresh токен можно хранить более защищенно!» — можно и нужно, хотя почти никто так не делает.
«Access token передается по сети чаще – и вероятность его утечки больше» — полноте, мы ведь всегда используем TLS, правда?
«Утечка Ассеss токена на так страшна как утечка Refresh токена» — да, и это тоже правда, именно поэтому в браузер Refresh токен и не выдается…

Есть много нюансов, есть много сценариев использования, при которых использование разных токенов становится полезным, просто видно их не сразу!

Но есть и еще один аргумент, который я почему-то ни разу не встречал – хотя он, на мой взгляд, полностью объясняет, зачем же нужен Refresh токен и почему нельзя, абсолютно, категорически нельзя обойтись только Access токеном.

Производительность.
Читать полностью »

IDE – зло. Давайте использовать Notepad - 1

— Вы что, серьезно так считаете? — так и хочется иногда спросить у разработчиков некоторых весьма популярных интернет-проектов. Закрадывается подозрение, что они действительно пишут код в Блокноте и думают, что все остальные должны поступать также. Шутка, конечно, но почему в большинстве популярных CMS до сих пор отсутствует подсветка синтаксиса, я понять не могу. Как ни стараюсь.

Если вам иногда не хватает подсветки синтаксиса при редактировании кода в браузере — добро пожаловать под кат.
Читать полностью »

Эволюция модульного JavaScript - 1

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

Не будем лукавить: JavaScript никогда не был идеальным языком программирования. Одним из слабых мест в JS была модульность, а точнее её отсутствие. Действительно, зачем в скриптовом языке, который анимирует падающие на странице снежинки и валидирует форму, заботиться об изоляции кода и зависимостях? Ведь всё может прекрасно жить и общаться между собой в одной глобальной области — window.

С течением времени JavaScript трансформировался в язык общего назначения, так его начали использовать для построения сложных приложений в различных средах (браузер, сервер). При этом нельзя было положиться на старые подходы взаимодействия компонентов программы через глобальную область: с ростом объёма кода приложение становилось очень хрупким. Как результат для упрощения процесса разработки создавались различные реализации модульности.

Эта статья появилась в результате общения с участниками TC39 и разработчиками фреймворков, а также чтения исходных кодов, блогов и книг. Мы рассмотрим следующие подходы/форматы: Namespace, Module, Detached Dependency Definitions, Sandbox, Dependency Injection, CommonJS, AMD, UMD, Labeled Modules, YModules и ES2015 Modules. Кроме того, мы восстановим исторический контекст их появления и развития.
Читать полностью »

Я — самозванец - 1
Писать об этом очень тяжело, даже тяжелее, чем признаться себе в этом. Я писал заявления об увольнении с любимых мест работы, заканчивал отношения, много в чем не преуспел и портил свою репутацию. Но чувства, которые я из-за этого испытывал, были временными: поначалу бывало очень плохо, но через пару месяцев я оставлял это позади и жил дальше. И все же есть одно чувство, от которого мне так и не удалось избавиться за всю свою карьеру: синдром самозванца.

Переведено в Alconost

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

24 марта стартует DevCon School — четвёртая по счёту школа от Microsoft, направленная на глубокое погружение в технологии. В этот раз мы расскажем о создания кросс-платформенных клиентов, поговорим о популярных архитектурных решениях с точки зрения создания бэкенда. Напоминаем, что для того, чтобы стать участником, нужно пройти небольшой тест, ответив на несколько вопросов, о них мы также расскажем внутри.

Хочешь узнать всё о веб- и мобильной разработке? Спроси меня как: DevCon School IV - 1
Читать полностью »

image

Прайсинг SaaS-сервисов — штука хитрая. Малейшая ошибка может запросто стоить вам целого состояния в долгосрочной перспективе. Поэтому сложно переоценить необходимость анализа конкурентов в вашей нише и уровня цен в среднем по больнице.

Но есть хорошие новости — я уже сделал этот анализ за вас (по крайней мере, в некоторых нишах) и предлагаю вашему вниманию россыпь цветных картинок, которые нарисованы на основе анализа 1530 цен самых разных сервисов.
Читать полностью »

Скриншаринг на сайте по WebRTC из браузера Mozilla Firefox - 1

Недавно мы писали статью о том, как сделать расширение скриншаринга для браузера Google Chrome. В результате мы создали собственное расширение для скриншаринга, опубликовали его в Chrome Store и протестировали трансляцию экрана через Web Call Server в режиме один-ко-многим.

В этой статье мы проделаем тоже самое с браузером Firefox. Подход остается прежним и снова потребуется упаковка и публикация расширения, на этот раз в Mozilla Add-ons. В результате мы сможем делать скринкасты видеопотоков из FF без установки внешнего дополнительного ПО.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js