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

В данном посте я расскажу, как я начал заниматься php-программированием, как я развивался и как появился на свет сервис по генерации веб-форм FormDesigner.ru.

Над созданием подобного сервиса я задумывался давным-давно. Все началось в далеком 2008г.

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

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

Привет, фрондэнд разработчики!

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

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

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

Я упомянул, что разработал балансировщик на Go, хотя есть мнение, что фронтендом должен быть ngnix.

У меня есть такое чувство, что в комментах люди бывает фантазируют, о чем угодно. Возможно кто-то думает, что и я брешу и нет балансировщика на Go. Поэтому, я решил выложить код балансировщика сразу. Этот код был написан в “особой ситуации” за 4 часа, и потом работал примерно в такой форме 2 недели без перегрузки так, как “все” были в Греции. Код не красив и даже содержит ошибки, но так как он работал и балансировал, то уже чего то стоит.

Под катом почти оринальный скорописный балансировщик. Я убрал оригинальные константы и код декодирования кук.
Читать полностью »

P2P (Peer-to-Peer) – это технология для построения компьютерных сетей, где каждый компьютер является одновременно и сервером, и клиентом, и эта технология позволяет также использовать совместно распределенные ресурсы (например файлы).
Существуют централизированные (с одним центральным сервером для управления сети), гибридные (где есть много таких серверов) и чистые P2P сети (вообще без серверов). Для коммуникации между компьютерами используются различные протоколы и в последнее время идет попытка их стандартизации, и открытости: JXTA и Gnutella открытые стандартизированные протоколы. В централизированых и гибридных сетях, когда новый компьютер подключается в P2P- сеть, он регистрируется на сервере и получает информацию о сети. В чистых P2P сетях компьютер подключается к любому компьютеру, ранее подключенному в сеть и от него получает информацию о сети. В классических P2P, предназначенных для распространнения различных файлов каждый компьютер воспринимается сетью, как анонимная сущность. В последне время появились некоторые инновативные проекты с целью построения социальной сети на основе технологии P2P.
Читать полностью »

P2P (Peer-to-Peer) – это технология для построения компьютерных сетей, где каждый компьютер является одновременно и сервером, и клиентом, и эта технология позволяет также использовать совместно распределенные ресурсы (например файлы).
Существуют централизированные (с одним центральным сервером для управления сети), гибридные (где есть много таких серверов) и чистые P2P сети (вообще без серверов). Для коммуникации между компьютерами используются различные протоколы и в последнее время идет попытка их стандартизации, и открытости: JXTA и Gnutella открытые стандартизированные протоколы. В централизированых и гибридных сетях, когда новый компьютер подключается в P2P- сеть, он регистрируется на сервере и получает информацию о сети. В чистых P2P сетях компьютер подключается к любому компьютеру, ранее подключенному в сеть и от него получает информацию о сети. В классических P2P, предназначенных для распространнения различных файлов каждый компьютер воспринимается сетью, как анонимная сущность. В последне время появились некоторые инновативные проекты с целью построения социальной сети на основе технологии P2P.
Читать полностью »

imageВ этой статье не будет ничего принципиально нового, однако некоторым будет весьма интересен взгляд со стороны спамера (уже бывшего) со стажем. Идея написать на хабр пришла давно, после прочтения этой статьи, которая только вызвала улыбку. Так уж вышло, что давным-давно, во времена учебы в университете, я искал удаленную работу, поскольку на стипендию трудно выживать, не говоря уже о каких-то развлечениях. Тогда один товарищ пригласил меня в компанию, где работал сам. Работа была простая – оставлять где угодно ссылки на определенные сайты, попутно добавляя к ним какое-то сообщение, т.е. обычный спам. Тут, как понимаете, абсолютно никакая капча, проверка cookies или javascript не спасет ситуацию, поскольку регистрируется настоящий человек с помощью обычного браузера. По поводу автоматических спамилок ситуация похожая, если они разновидности «заскриптованный браузер». Однако есть способы усложнить жизнь спамерам и, если не полностью убрать, то значительно снизить поток спама на свой сайт.

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

Как мы мигрировали миллионные страны за рабочий день Badoo — крупнейшая в мире социальная сеть для знакомств с новыми людьми, насчитывающая 190 миллионов пользователей.
Все данные хранятся в двух дата-центрах — европейском и американском. Некоторое время назад мы исследовали качество интернет-соединения у наших пользователей из Азии и обнаружили, что для 7 миллионов пользователей наш сайт будет загружаться в 2 раза быстрее, если мы переместим их из европейского дата-центра в американский. Перед нами впервые встала задача крупномасштабной миграции данных пользователей между дата-центрами, с которой мы успешно справились: мы научились перемещать 1,5 миллиона пользователей за один рабочий день! Мы смогли перемещать целые страны! В первой части мы подробно расскажем о поставленной перед нами задаче и о том, какого результата мы достигли.
Читать полностью »

Итак, у вас есть желание попробовать или узнать о фреймворке Laravel.

Если вы фамильярны с другими PHP фреймворками — для вас это не составит особого труда, если же нет — это отличный выбор для первого фреймворка.

Laravel - PHP framework for artisans!

Статья очень большая. Рекомендую читать ее полностью во время выходных.

Для ленивых:
GitHub
Приложение

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

image
Многие из нас часто вставляют на свои сайты карты. Обычно, это карта на странице контактов с единственным маркером, которым отмечено место офиса. Но иногда у заказчика включается фантазия и начинается «творчество». В свое время я потратил много времени, чтобы разобраться в постоянно меняющемся Google Maps API и хочу поделиться с вами своими наработками для решения обычных проблем с картами, которые выходят за рамки одного маркера.

Все, что описано ниже, можно узнать внимательно читая документацию GMaps API. Предполагается, что читатель уже умеет внедрять карту, подключать API и ставить маркер. Статья не претендует на полноту изложения, но может быть полезна начинающим пользователям Google Maps API.
Читать полностью »


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