Pull to refresh
34
0.1
Джон Смит @petejones83

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

Send message

Web PUSH Notifications быстро и просто

Reading time17 min
Views344K

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


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


Web PUSH Notifications


Я думаю, вы уже знаете что такое push-уведомления, но я всё же напишу коротко о главном.


Пользователь, заходя на сайт, вытягивает (pull) с него данные. Это удобно и безопасно, но с развитием интернет ресурсов, появилась необходимость оперативно доставлять информацию пользователям не дожидаясь пока те сами сделают запрос. Так и появилась технология принудительной доставки (push) данных с сервера клиенту.

Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments67

31 тезис

Reading time3 min
Views1.2K
Иногда, когда у меня случаются моменты не самого лучшего настроения или что-то не получается, вмешивается, происходит или еще каким-то образом отравляет жизнь, я перечитываю эти цитаты, собранные мной несколько лет назад воедино — и силы приходят!

Читать дальше →
Total votes 83: ↑62 and ↓21+41
Comments23

OAuth: описание протокола простым и понятным языком

Reading time16 min
Views192K
OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

Пример кросс-авторизации


Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
Под катом - повествование с примерами
Total votes 134: ↑124 and ↓10+114
Comments34

Как сделать книгу в домашних условиях

Reading time1 min
Views27K
Многие любят читать книги и многие любят это делать с книгами в бумажной версии;)).
В данной статье я расскажу, как дома можно сделать себе книгу.
Работа займёт не более 10 минут плюс распечатка на принтере.
Читать дальше →
Total votes 48: ↑36 and ↓12+24
Comments44

8 советов по организации онлайн поддержки

Reading time3 min
Views1.6K
image

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

Мысли, которые мы вынесли из той заметки и комментариев, были приблизительно следующие: чат нужен для того, чтобы помочь вашему посетителю стать вашим клиентом. Чат нужен для того, чтобы иметь живую связь с вашими клиентами. Чат нужен для того, чтобы знать, какие проблемы у вас есть и решить, как с ними работать. Чат нужен…

Ниже приведены идеи, которые помогут сделать онлайн поддержку эффективной:
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments6

Основы программирования под Android на примере игры Судоку

Reading time6 min
Views375K
В статье описаны основные трудности создания приложений под Android.
Рассматриваются базовые понятия программирования Android.
Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
Осторожно много скриншотов.

Читать дальше →
Total votes 137: ↑131 and ↓6+125
Comments48

Элемент управления Grid

Reading time10 min
Views17K
Табличные элементы управления (обычно в их названии присутствуют слова Table или Grid) широко используются при разработке GUI. Так получилось, что на работе мы используем С++ и MFC для разработки пользовательского интерфейса. В начале мы использовали CGridCtrl — общедоступную и довольно известную реализацию грида. Но с некоторого времени он перестал нас устраивать и появилась на свет собственная разработка. Идеями, лежащими в основе нашей реализации, я хочу с вами здесь поделиться. Есть задумка сделать open source проект (скорее всего под Qt). Поэтому данную заметку можно рассматривать как «Proof Of Concept». Конструктивная критика и замечания приветствуются.

Подробности
Total votes 23: ↑21 and ↓2+19
Comments16

Поиск работы Java Middle Developer (наблюдения и впечатления)

Reading time3 min
Views61K
И вот настал момент, когда я твердо решила распрощаться с родной и уютной компанией-интегратором и найти работу поинтереснее. За три недели активного поиска получила массу впечатлений, коими и хотела бы поделиться.

Входные данные

Место действия – Москва. Мидл в заголовке поста — некая условность, в заголовке резюме значилось просто «Java разработчик». Опыта в Java – 1.5 года в пресловутом интеграторе, до этого 4+ года в PHP (думаю, подобная ситуация сейчас не редкость). Поскольку дети и ипотеки у меня отсутствуют, деньги были не решающим фактором – главное, интерес и потенциальное развитие.
Читать дальше →
Total votes 63: ↑51 and ↓12+39
Comments56

Как подписать JAVA апплет

Reading time3 min
Views29K
Привет, любимый читатель.
Сегодня ты узнаешь как подписать JAVA апплет. Для начала скажу, что JAVA апплеты имеют ограниченную функциональность, пока они не подписаны. Например, неподписанные апплеты не могут:
  • взаимодействовать с локальной файловой системой клиента;
  • устанавливать сетевые соединения с другими серверами;
  • взаимодействовать с буфером обмена клиента;
  • некоторые другие.

Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments9

Инструменты студии мобильной разработки

Reading time4 min
Views38K


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

В нашей компании используется много подобных сервисов и инструментов, поэтому я решил рассказать вам кратко о лучших из них. О базовых вещах на подобии Basecamp, GitHub и т.п. речи не будет, т.к. это не сугубо специфические вещи для мобильной разработки.

Пройдемся по дизайну, серверным решениям, тестированию и аналитике.
Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments22

Портируем Qt4 приложение на Qt5

Reading time5 min
Views45K
Где-то здесь не так давно был пост о нововведених в Qt5. Всё вроде выглядит замечательно, но как же обстоят дела на самом деле в отношении уже имеющихся приложений? В этой статье я рассмотрю пример портирования одного из своих проектов на Qt5 с сохранением совместимости исходников с Qt4.

Читать дальше →
Total votes 56: ↑54 and ↓2+52
Comments12

Книги, видео и другие материалы по разработке под iOS

Reading time4 min
Views114K
«Хочу программировать под iPhone — говори, что почитать...»
Любимая девушка


Когда решаешься заняться разработкой под iOS, то трудно выбрать литературу и ресурсы, которые действительно были бы полезны. Хорошо еще, что Apple предоставляет множество учебных материалов и программ с открытым исходным кодом в своем центре для разработчиков. В остальных книжках можно если и не утонуть, то порядочно захлебнуться. Сейчас я жалею, что потратил время на пару «мануалов». Не буду делать им антирекламу, а лучше порекомендую хорошие материалы по программированию под iOS.

Под катом книги, видеокурсы и блоги, которые будет полезно прочитать/посмотреть.
Читать дальше →
Total votes 105: ↑99 and ↓6+93
Comments58

Мультидоменность в Apache без лишних хлопот на локальном хосте

Reading time3 min
Views48K
Интернет пестрит руководствами по настройке виртуальных хостов в Apache. Но, в большинстве случаев, создание такого поддомена представляется хлопотным делом.
По «стандартной» инструкции предлагается сделать следующее:
  1. Создать папку для сайта
  2. Создать конфигурационный файл с именем будущего домена
  3. Включить сайт специальной опцией
  4. Перезагрузить Apache
  5. Прописать наш домен в файле hosts

Некоторые пытаются оптимизировать данный процесс различными скриптами, но проблемы это, по сути, не решает.
Итак, попробуем добиться, чтобы процесс создания поддомена сводился лишь к созданию папки для сайта. Возможно ли это? Проверим…
Читать дальше →
Total votes 94: ↑81 and ↓13+68
Comments86

Компиляция. 10: компиляция в ELF

Reading time13 min
Views6.9K
В прошлый раз мы ограничились компиляцией джей-скрипа в файл в нашем собственном формате, которому требовался специальный загрузчик. Кроме того, мы задумали было пару оптимизаций исполнимого кода, требующих анализа соседних команд.

Далее в посте:

  1. Оптимизация «в глазок»
  2. Стандартные функции
  3. Вывод в ELF
  4. Как это работает?
  5. Что получилось?
Читать дальше →
Total votes 57: ↑55 and ↓2+53
Comments9

Искусство программирования под Unix (и не только). Часть шестая, «правило кодоэкономии»

Reading time6 min
Views1.1K
Я продолжаю цикл статей, посвященных некоторым простым правилам разработки под Unix «по версии Эрика Реймонда», которые, по моему глубочайшему убеждению, могут быть распространены на любые другие операционные системы. Я уже рассказывал в первых трех частях о правилах модульности, ясности, композиции, разделения и простоты. Сегодня дело дошло до шестого правила —

Правило кодоэкономии: разрабатывайте большие программы только при наличии объективных причин это делать
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments17

Как сформировать кросс-функциональную команду

Reading time10 min
Views15K
Воплощение большинства бизнес-проектов требует широкого спектра навыков и знаний. Если вы руководите таким проектом, то практически обязательно вам приходится управлять группой представителей разных профессий. Они могут быть частью вашей организации, представлять различные подразделения вашей компании или работать в совсем отдельных структурах. Откуда бы они ни были, они объединены в то, что называется «межфункциональной» или «кросс-функциональной» командой.

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

Что необходимо знать



Я новичок в менеджменте проектов и мне необходимо сформировать кросс-функциональную команду. С чего мне начать и как найти подходящих людей?

Начните с того, какие задачи ставит перед собой проект и каких навыков требует их выполнение. Затем присмотритесь к сотрудникам и определите, кто из них обладает необходимыми знаниями и энтузиазмом. В то же время необходимо определить, требует ли проект привлечения сотрудников извне. После этого надо нанять людей, которые вам подходят, — для этого может понадобится разного рода одобрение вашего и их начальства. Очевидно, что список кандидатов может сильно разниться в зависимости от характера проекта и объемов необходимой работы.
Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments12

Введение в DSL. Часть 1 — Проблематика проектирования и кодирования

Reading time7 min
Views30K
На протяжении нескольких десятилетий стоит задача поиска повторяемого, предсказуемого процесса или методологии, которая бы улучшила продуктивность, качество и надежность разработки. Одни пытались систематизировать и формализовать этот, по-видимому, непредсказуемый процесс. Другие применяли к нему методы управления проектами и методы программной инженерии. Третьи считали, что без постоянного контроля со стороны заказчика разработка ПО выходит из-под контроля, что влечет за собой увеличение временных и финансовых затрат.
Информатика как научная дисциплина предлагает и использует на базе методов структурного программирования технологию надежной разработки программного обеспечения, используя тестирование программ и их верификацию на основе методов доказательного программирования для систематического анализа правильности алгоритмов и разработки программ без алгоритмических ошибок.
Данная методология направлена на решение задач на ЭВМ, аналогичной технологии разработки алгоритмов и программ, используемой на олимпиадах по программированию отечественными студентами и программистами с использованием тестирования и структурного псевдокода для документирования программ в корпорации IBM с 70-х годов.
Методология структурного проектирования программного обеспечения может использоваться с применением различных языков и средств программирования для разработки надежных программ любого назначения.
Однако при использовании классического подхода к разработке возникают проблемы, описанные под хабракатом:
Читать, какие
Total votes 34: ↑25 and ↓9+16
Comments27

Древовизируйте

Reading time1 min
Views1.1K

Есть сервис:


image

Назначение:


Быстрая конвертация мыслей в визуальное древовидное представление.

Я использую его для того, чтобы видеть все «большие» проекты, которые идут в жизни, и примерно представлять на какой они стадии. Удобно, когда во время одного занятия, пролетает мысль по поводу другого, и её не хочется потерять.

Кто-то другой вероятно сможет найти иное применение.

Плюсы:


  • Любую операцию можно сделать с хоткея
  • Внизу по этому поводу красуется «неглупая» панель с хоткеями. Неглупая потому что показывает только доступные в данный момент времени сочетания клавиш. Напрмер, если вылез попап, то она покажет какой клавишей его скрыть, какой пролиcтать и т.п.
  • Минималистичность.
  • Легкий дизайн, который не отвлекает.
  • Возможность видеть все проекты сразу.
  • Возможность работы на нескольких машинах одновременно с одного пользователя. То есть оно умное, все из себя ajax и обновляет.


а где живет?
Total votes 103: ↑82 and ↓21+61
Comments97

42goals — учет личных целей и ежедневных дел

Reading time1 min
Views1.6K
Интерфейс

Команда Ворктрека рада представить новый проект: 42goals.com. Новый сервис предназначен для учета личных целей и ежедневных дел.

Принцип работы очень прост: вы добавляете список целей и отмечаете достижения по ним. Цели могут на данный момент могут быть трех типов:
  1. «штучные», например: количество выкуренных сигарет, чашек кофе, подходов к штанге
  2. «численные»: дистанция ежедневной пробежки, ваши расходы или доходы
  3. «флажки» (да или нет): ежедневная зарядка (делали или проспали), обновление блога, ежедневная продуктивность (хорошо поработали или нет)

Читать дальше →
Total votes 102: ↑86 and ↓16+70
Comments123

Какое время — деньги?

Reading time4 min
Views1.5K
Забавная статья была буквально недавно опубликована на Хабре: «100 долларов в час».
Статья, по-моему, является незнанием или непониманием автора базовых экономических принципов, забывая про которые, он выстраивает свою теорию.

Несостоятельность теории


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

Это было бы забавно и даже весело, если бы статья не претендовала на изложение серьезной жизненной позиции, с попыткой ее вполне реального экономического обоснования.

Статья сопровождается множеством остроумных комментариев от читателей. Но давайте попробуем разобрать данную теорию, прагматично и всерьез, ведь проблема «оценки времени» очень часто поднимается как здесь, так и в быту
Читать дальше →
Total votes 202: ↑164 and ↓38+126
Comments104
1

Information

Rating
2,975-th
Location
Россия
Registered
Activity