Pull to refresh
1
0
Send message

Руководство по PHP7

Reading time16 min
Views73K

php7-tutorial.com


Цель этого сайта помочь вам обнаружить нововведения в PHP 7. Это руководство представляет из себя набор простых упражнений, в которых вам будет предложено что-либо решить, либо исправить ошибку. Каждое упражнение соответствует стандарту RFC (набор технической спецификации и стандартов) и сопровождается кратким пояснениями.

От переводчика


Всем привет, с вами Максим Иванов, и сегодня мы поговорим о нововведениях PHP 7, о которых более подробно поведает нам Гийом Девар (Guillaume Dievart) в своем руководстве, сделанном в форме упражнений. Но прежде чем начинать, я хочу отметить один момент. Я не буду приводить полное руководство по данному языку программирования в этом обзоре, просто оставлю здесь ссылку на самую свежую и достоверную информацию. Джош Локхарт (автор гайдлайна «PHP: правильный путь», разработчик Slim Framework), написал данную книгу с целью помочь новичкам, по его словам: «В последнее время существует много дискуссий о том, что PHP сообществу и, в целом, программистам не хватает достоверной информации по языку PHP, поэтому мое руководство призвано решить эту проблему». Чем именно? Вы знаете, что по интернету разбросано огромное количество материла по PHP, но многое уже устарело или не приводит к написанию качественного кода. В этой книге присутствуют основные актуальные сведения с ссылками на проверенные ресурсы. Если кому интересно, такое есть и по JavaScript. А теперь вернемся к упражнениям и приступим.
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments55

ELK+R как хранилище логов 2. Установка и настройка

Reading time7 min
Views18K
В продолжение об своих экспериментах с хранением логов на ELKR пишу некий «мануал» по установке и базовой настройке.

Те статьи, которые ОЧЕНЬ помогли:
Собираем, парсим и отдаём логи с помощью Logstash — матчасть
Собираем и анализируем логи с помощью Lumberjack+Logstash+Elasticsearch+RabbitMQ — хороший пример реального использования

Спасибо авторам!

Итак, мы будем разворачивать следующую архитектуру:
Device => HAProxy => Logstash-Listener => RabbitMQ => Logstash-Filter => Elasticsearch-Balancer => Elasticsearch DATA/MASTER
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments15

Сбор и анализ логов демонов в Badoo

Reading time12 min
Views47K

Введение


В Badoo несколько десятков «самописных» демонов. Большинство из них написаны на Си, остался один на С++ и пять или шесть на Go. Они работают примерно на сотне серверов в четырех дата-центрах.

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



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

Мы построили такую систему и спешим поделиться подробностями. Наверняка у кого-то из вас будет стоять похожая задача, и прочтение данной статьи убережет от ошибок, которые мы успели совершить.
Читать дальше →
Total votes 51: ↑50 and ↓1+49
Comments53

ELK+R как хранилище логов

Reading time3 min
Views33K
В компании заказчика появилась необходимость в неком хранилище логов с возможностью горизонтального масштабирования. Исходя из начала задачи первая мысль — Splunk. К сожалению, стоимость данного решения уходила далеко за пределы бюджета заказчика.

В итоге выбор пал на связку Logstash + Elasticsearch + Kibana.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments25

Тестирование вёрстки на визуальные регрессии с помощью PhantomCSS

Reading time9 min
Views24K
Работа с чужим кодом — одна из распространенных и сложных проблем, с которыми мне приходилось сталкиваться в своей работе. Почти в каждом случае предыдущий разработчик писал код не так, как бы мне этого хотелось.

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

Недавно наша команда получила код от нового клиента, и нам было поручено после небольшого рефакторинга быстро переходить к реализации нового функционала. Мы понимали, что могли бы улучшить код, перенеся клиентские стили на Sass, и это упростило бы нам поддержку в будущем.

С другой стороны, мы могли просто переименовать файлы и включить их в один прекомпилированный css (без какого-либо рефакторинга). Но для улучшения кода было бы хорошо порефакторить стили. Эта работа более затратная, но в будущем себя бы окупила. И, что самое важное — это позволило бы нам работать быстрее, с большей уверенностью что мы что-то не сломаем.

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

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

На этот раз было решено построить визуально регрессионный набор тестов.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments1

Symfony 2: Полезные библиотеки и бандлы

Reading time9 min
Views54K
Уже около полугода для разработки веб-проектов используем Symfony 2. Накопился список полезных библиотек и бандлов, не входящих в состав symfony-standard, но значительно экономящих время и избавляющих от изобретения велосипеда.



Обзор больше теоретический и включает следующие разделы:
  • Админгенераторы
  • Пользователи
  • Импорт/экспорт xls
  • API и OAuth 2.0
  • Меню/навигация
  • Мультимедиа
  • Формы
  • Поиск
  • Пагинация
  • Файловая система
  • HTTP клиент

Примеры использования и код можно изучить на страницах каждого проекта на github.com или на официальных сайтах, но если будет интересно, некоторые решения можно рассмотреть отдельно.

Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments16

Паттерны ООП в метафорах

Reading time17 min
Views558K
Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
Читать дальше →
Total votes 214: ↑201 and ↓13+188
Comments86

Legacy-фобия

Reading time7 min
Views39K
Коллеги, у меня для вас есть замечательная новость, мы получили чудесный проект, его несколько лет писали неизвестные нам разработчики, адрес которых мы вряд ли узнаем (чтобы «поделиться обратной связью»), писали очень давно и не известно под чем, и нам предстоит его поддерживать и развивать. Проект сейчас находится на пике своей производительности и мы скоро упремся, любые неаккуратные изменения могут его положить, но мы будем его развивать. Ура!

Согласитесь, странно звучит? Как бред больного на голову программиста. Кто же любит legacy? Это же всегда говнокод (ведь только мы сами пишем идеально), в нем полно багов (а мы сами пишем без ошибок), ужасные решения (ведь только мы сами выбираем подходящую архитектуру), и почти всегда его сложно читать (ведь только мы сами пишем понятно и красиво).
Читать дальше →
Total votes 77: ↑65 and ↓12+53
Comments27

Введение в JadePHP

Reading time7 min
Views17K
По предложению автора интересностей и полезностей для веб-разработчика #17, предлагаю свой перевод статьи Introduction to JadePHP.

Существуют десятки шаблонизаторов. Среди наиболее известных можно выделить Smarty, Twig (используется в следующей версии Drupal), Blade (используется по умолчанию в Laravel) и, конечно же, vanilla PHP. Если не говорить конкретно о PHP, то для eRuby / ERB и Haml для Ruby / Ruby on Rails и Javascript есть ряд популярных вариантов, как например Mustache, Handlebars, Hogan и EJS. У одних различия в синтаксисе незначительные, у других они более выраженные.

Шаблонизатор Jade, который значительно отличяется от других, обычно ассоциируется с JavaScript приложениями, например он поддерживается в Express для Node.js. В этой статье, я поговорю о Jade или, более конкретно, о Jade сделанной для PHP — JadePHP.
Читать дальше →
Total votes 24: ↑17 and ↓7+10
Comments50

Обзор наиболее интересных материалов по анализу данных и машинному обучению №19 (20 — 26 октября 2014)

Reading time5 min
Views14K

Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения.
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments3

Стэнфорд организует бесплатный онлайн-курс по ИИ

Reading time1 min
Views7.5K
Стэнфордский университет организует бесплатный онлайн-курс CS221 по искусственному интеллекту осенью этого года. Курс будет проходить с 2 октября по 16 декабря.

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

В десятинедельный курс входит примерно двадцать лекций, около восьми домашних заданий, один промежуточный и один итоговый экзамен.
Читать дальше →
Total votes 80: ↑76 and ↓4+72
Comments25

Много книг, хороших и разных

Reading time20 min
Views96K
Мой список книг, которые мне хочется прочесть, изрядно вырос, спасибо топику “запасаемся на зиму”. Под катом вы обнаружите список книг, составленный по комментариям в том топике.
Читать дальше →
Total votes 139: ↑124 and ↓15+109
Comments89

Google Maps Engine

Reading time1 min
Views41K
image

Как-то незаметно (лично для меня, во всяком случае) Google обновил свой картографический сервис Google Maps Engine. Теперь он в версии Lite (beta) доступен всем желающим: mapsengine.google.com/map. На этой же странице есть ознакомительный тур. Справка тут. Поддержки snap-to-roads пока нет.
Total votes 44: ↑34 and ↓10+24
Comments7

Интересующимся мозгом/ИИ: ссылки на почитать

Reading time18 min
Views81K
Расчищая Авгиевы конюшни на своем компе, взялся за структурирование накопившихся линков. Подумал, может и другим будет интересно то, что когда-то мне показалось достойным. Опять же, будет к чему отсылать с вопросом есть чо? «что почитать?»

Этот набор (порядка 400 ссылок) ни в коей мере не претендует на полноту или объективность. Наоборот, приглашаются все желающие дополнить и исправить (например раздел «Онлайн Курсы» подозрительно пуст). Если будет интерес, буду апдейтить этот пост новыми линками + апдейты отдельными постами оформлять.

Не стал я сюда давать ссылки на книги по нейробиологии и совсем заумные статьи (хотя много ссылок на оригиналы статей) — это тема для отдельного поста, наверное, с хорошим обзором. Если кому-то захочется почитать статью, к которой доступ закрыт — пишите, вышлю.

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

PS: я оставил ссылки как есть, чтобы было видно куда ведет. Если кого напрягает — пишите, апдейтом спрячу.

Знание - сила!
Total votes 86: ↑79 and ↓7+72
Comments11

Интервью Уильяма Гибсона журналу Wired. Часть 3

Reading time4 min
Views27K


Первая часть — о том, почему фантасты почти всегда неправильно пресдказывают будущее.
Вторая часть — о Твиттере, старинных часах и интернет-зависимости.

Если бы панк возник сегодня, а не в 1977-м, как бы он проник в массовое сознание?

«Его бы сразу выкладывали на YouTube. — предполагает Уильям Гибсон. — Среди триллионов других вещей, которые загружаются туда ежедневно. И как потом можно было бы его найти?»

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

"… нечто, порождённое субкультурой, о которой мы никогда в жизни ничего не узнали бы, попадает на YouTube, внезапно получает миллионы и миллионы просмотров, и люди по всему миру говорят друг другу: «Вау! Ты это видел?» — сказал Гибсон.

Маловероятно, считает он, что это видео станет чем-то большим, чем случайным всплеском на радаре поп-культуры, который быстро забудется, вытесненный очередным вирусным мемом. «Но, — говорит он с улыбкой, — знаете, я хочу посмотреть его следующий клип. Обязательно посмотрю, народ в Твиттере не даст мне его пропустить».
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments10

Интервью Уильяма Гибсона журналу Wired. Часть 2

Reading time8 min
Views36K


Первая часть — о том, почему фантасты почти всегда неправильно пресдказывают будущее.

Однажды Уильям Гибсон потратил почти пять лет жизни на изучение истории механических часов, без всякой практической цели, гонясь за знанием ради знания. «Я хотел попробовать стать настоящим отаку в этом деле» — объясняет он.

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

Во второй части интервью один из самых неординарных фантастов и выдающихся мыслителей говорит об интернете и социальных медиа, о своём увлечении часами и панк-роком и о том, почему он боится ностальгии.
Читать дальше →
Total votes 53: ↑49 and ↓4+45
Comments6

Интервью Уильяма Гибсона журналу Wired. Часть 1

Reading time7 min
Views67K


Трудно найти фантаста, столь самобытного и обладающего таким пророческим даром, как Уильям Гибсон. Сам же писатель утверждает, что ни он, ни его коллеги не имеют никаких волшебных способностей, позволяющих заглянуть в будущее.

«Мы почти всегда ошибаемся» — сказал он в телефонном интервью Wired. Гибсон — человек, который в 1982 году, в рассказе «Сожжение Хром», придумал само слово «киберпространство», а через два года, в дебютном романе «Нейромант», расширил и углубил это понятие.

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

С тех пор Гибсон написал множество столь же успешных и положительно воспринятых критикой романов, среди которых «Граф Ноль» (1986), «Мона Лиза овердрайв» (1988), «Разностная машина» (в соавторстве с Брюсом Стерлингом, 1990), «Распознавание образов» (2003), «Zero History» (2010). И всё же Гибсон говорит, что ему просто повезло создать пророческое описание цифрового мира. «То, что в „Нейроманте“ описано, как сеть будущего, как интернет, на самом деле совершенно не похоже на настоящий интернет» — сказал он в интервью.

Последняя книга Гибсона — сборник нефантастических рассказов «Distrust That Particular Flavor» — вышла в этом году; сейчас он пишет новый роман под рабочим названием «The Peripheral».

В интервью, которое будет опубликовано в трёх частях, Гибсон затрагивает головокружительный диапазон тем — от старинных часов до комиксов, от панк-рока до провидцев, от мемов интернета до планов экранизации «Нейроманта».
Читать дальше →
Total votes 58: ↑55 and ↓3+52
Comments25

Нейронная сеть против DDoS'а

Reading time7 min
Views40K

Предисловие


Некоторые из вас наверняка недавно проходили Stanford'ские курсы, в частности ai-class и ml-class. Однако, одно дело просмотреть несколько видео-лекций, поотвечать на вопросики quiz'ов и написать десяток программ в Matlab/Octave, другое дело начать применять полученные знания на практике. Дабы знания полученые от Andrew Ng не угодили в тот же тёмный угол моего мозга, где заблудились dft, Специальная теория относительности и Уравнение Эйлера Лагранжа, я решил не повторять институтских ошибок и, пока знания ещё свежи в памяти, практиковаться как можно больше.

И тут как раз на наш сайтик приехал DDoS. Отбиваться от которого можно было админско-программерскими (grep / awk / etc) способами или же прибегнуть к использованию технологий машинного обучения.

Далее пойдёт рассказ о создании нейронной сети на Python 2.7 / PyBrain и её применении для защиты от DDoS'а.

Читать дальше →
Total votes 177: ↑174 and ↓3+171
Comments46

Подборка интересных фактов о великих айтишниках

Reading time9 min
Views17K

Джордж Буль


Джордж Буль (1815 — 1864) — английский профессор математики, чьи работы способствовали созданию современной символической логики. Его алгебра логики, называемая булевой алгеброй или булевой логикой (алгебраическая структура, дополненная дистрибутивная решётка и часть математики, которая изучает подобные структуры) — основополагающая для проектирования современных цифровых схем. Работы Буля воплотились в приложениях, которые он никогда бы и представить себе не смог.
Читать дальше →
Total votes 158: ↑143 and ↓15+128
Comments82

Фильмы IT-тематики

Reading time2 min
Views15K
imageВ свое время, в 1995-ом году, на меня произвел впечатление фильм «Хакеры». Можно
сказать, он стал мотиватором моей дальнейшей ИТ-карьеры. Далеко не эталон киноискусства, однако
стремление стать похожим на героев фильма, продолжилось в самообразовании. Далее первый выклянченный компьютер, первые строчки кода, начало проб и ошибок. Когда уже были написаны эти самые «хэлоу-ворды», «калькуляторы», затем испробованы несколько *nix'ов — на руки попалась болванка с «Antitrust». В одноголосном переводе и гиблом качестве. К слову, это не помешало, пересмотреть фильм пару десятков раз. Что послужило более зрелому стремлению, чем быть всемогущим кул-хакером. Под катом, перечислю увиденные мной фильмы IT-тематики, с кратким описанием. В основном из двухтысячных. Неувиденное или забытое, будем добавлять.

Читать дальше →
Total votes 227: ↑191 and ↓36+155
Comments210
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity