Рубрика «Веб-разработка» - 101

Введение (лирика)

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

Но, в то же время, меня всегда привлекало низкоуровневое программирование. Ещё во время учёбы мне очень понравился язык программирования C++. Только негде было его применять, кроме как для своего развлечения. Дальше я опустился пониже — изучил Assembler. Понял, как работает процессор (хотя слишком поверхностно) и как выполняются программы на самом деле.

Со всем этим набором знаний и опыта я попал в веб-разработку. Всё поначалу казалось весьма и весьма хорошо, оказалось гораздо проще, чем я думал. А со временем приелось, стало слишком просто, неинтересно, нет простора для оптимизаций и интересных решений. Генерируешь веб-странички, пишешь и подключаешь js-скрипты, оформляешь страницы с помощью css. Чувствовал, что больше не развиваюсь как программист.
Читать полностью »

При подготовке материала по Symfony Form я решил уделить некоторое внимание теоретической части по работе с формами со стороны клиента – что они из себя представляют, как ведут себя браузеры при отправке, в каком формате путешествуют, в каком виде поступают на сервер.

Вводная часть несколько растянулась и в итоге вылилась в отдельную небольшую статью, которая, по моему мнению, может быть интересна и другим бэкенд-разработчикам (не только PHP или Symfony).
Читать полностью »

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

Задача вроде бы не сложная, но среди немногочисленных решений в интернете я не нашел подходящего по следующим причинам: слишком сложный и непонятный код, медленные запросы к БД (это особенно ощущается, если в базе много записей), использование библиотеки jQuery, к которой я отношусь не очень хорошо.

Итак, к плюсам моего календаря можно отнесли следующее:

  1. Весь код помещается в 200 строчек и состоит из одного файла, который подключается через include
  2. Скрипт состоит из чистого php + javascript без использования библиотеки jQuery
  3. Используются простые и оптимизированные запросы к БД
  4. Подгрузка следующего (предыдущего) месяца происходит через AJAX

Теперь обо всем по-порядку.
Читать полностью »

Gstreamer — самая популярная *nix библиотека для работы с видео, которая является основой для большинства популярных приложений (основной список можно найти здесь).

image

Однако, столь гибкий инструмент требует тонкого подхода для стабильной и эффективной работы.
Все действия будут рассмотрены на примере онлайн HD трансляции с HDMI входа по RTMP с помощью blackmagic intensity pro, Debian Linux, gstreamer и Nginx.
Читать полностью »

Привет!

Пол года назад я подумал: «А может книгу написать?», и таки написал.

Сюрреализм на JavaScript. Советы по разработке на NodeJS

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

Это тринадцатая статья в серии, где я описываю свой опыт написания веб-приложения на Python с использованием микрофреймворка Flask.

Цель данного руководства — разработать довольно функциональное приложение-микроблог, которое я за полным отсутствием оригинальности решил назвать microblog.

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

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

Напомним, вкратце логику работы «навороченного» букмарклета:

  1. Кликом по сохраненной в закладках браузера ссылке, вызывается на выполнение небольшой (до 2000 символов) javscript-код, основная задача которого организовать загрузку javascript-кода выполняющего основную работу букмарклета
  2. Основная часть букмарклета после загрузки выполнят всю работу.
  3. Если основную часть букмарклета невозможно подгрузить – основную часть работы, выполняет резервная часть букмарклета, как правило, в урезанном виде.

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

Пост о маленьких видеоиграхПривет, друзья. В этом посте мне бы хотелось рассказать, как я писал маленькие HTML5-игры для конкурса js13k, какие подводные камни повстречались на этом тернистом пути, и что получилось в результате.

Подводные камни на тернистом пути

(Подводные камни на тернистом пути — это русло пересыхающей реки, например. Летом в нем растет всякая трава и другие вегетарианские штуки, а осенью начинаются дожди, и всё уходит под воду. Получается терновник вместе с подводными камнями, очень метафорично и травмоопасно.)

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

Но сначала 77 слов про js13k

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

Видеоконтент уже прочно вошёл в мир Интернета и без него уже трудно представить глобальную сеть. Тем не менее, технологии встраивания видео в гипертекстовые документы за прошедшее время прошли определённую эволюцию: от RealPlayer к QuickTime и Flash, а в настоящий момент до встроенной поддержки видео в HTML5. Тем не менее, всё это время различные реализации видеоплееров страдали как от проблем кроссплатформенности и кроссбраузерности, так и от низкого или вообще нулевого уровня accessibility. И если способы борьбы с первой группой проблем в целом понятны и существуют в форме готовых решений, то вот проблемы доступности для подавляющего большинства web-разработчиков и без того, как правило, сложны для понимания, а в отношении видео совсем оставались загадкой. Однако, к счастью, появилось готовое решение и второй проблемы, так что все желающие смогут обеспечить своим пользователям полностью доступный видеоплеер и без глубоких компетенций в web accessibility.
Читать полностью »

13 е сентября — День программиста (досрочное поздравление)

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

Важность труда программистов для мира IT трудно переоценить. И не только для него. Благодаря им у нас есть компьютеры, смартфоны, планшеты, сайты, соцсети, мессенджеры и даже Хабр. Теперь вот они ещё и очки с часами прокачали. Благодаря программистам, мы сегодня обрели способности полубогов, с точки зрения предков. Современные высокие технологии позволяют нам получить все знания мира, не вставая с дивана. Всего за несколько десятилетий развитие программирования радикально поменяло мир, сделало доступными невиданные, фантастические технологии. Мы теперь можем увидеть на маленьком устройстве каждый уголок планеты, сразу узнать о событиях, происходящих за тысячи километров от нас. И если к возможностям и универсальности компьютеров и мобильных гаджетов все давно привыкли, то нас ещё ожидают невероятные успехи в роботостроении. Глядя на текущие достижения, понимаешь, что пора сдувать пыль с трёх законов робототехники, они нам уже скоро понадобятся.

Ладно, а теперь развлекательная часть. Сегодня мы подготовили для вас небольшой ролик, который особенно оценят программисты, работающие в командах, отделах и прочих департаментах. Не будем описывать, смотрите сами.

Поздравляем вас! Желаем безбажного кода, интересных проектов и успешных релизов! Кстати, наш CEO Дмитрий Гришин тоже когда-то был программистом, начав свою карьеру с должности разработчика ПО, подрабатывая на нескольких работах и учась при этом в Бауманке. Через два года он занял пост технического директора в новой компании Mail.Ru, которая несколько лет спустя выросла в крупнейшую IT-компанию России. В связи с праздником мы попросили наших программистов рассказать о том, почему они выбрали эту профессию, и что станет с программистами через 20 лет. Их рассказы читайте под катом.
Читать полностью »


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