Pull to refresh
6
0
Алексей @UnknownQq

IT

Send message

PHP-Дайджест № 109 – свежие новости, материалы и инструменты (14 – 28 мая 2017)

Reading time3 min
Views19K


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!


Читать дальше →
Total votes 64: ↑62 and ↓2+60
Comments15

Правильная обработка ошибок в PHP

Reading time7 min
Views32K

Что я понимаю под правильной обработкой:


  • Универсальное решение, которое можно вставить в любой существующий код;
  • Легко расширяемое решение;
  • В PHP аж три «механизма ошибок»: собственно ошибки (error), исключения (exception) и утверждения (assertion). Свести три механизма к одному — exception. В комментариях к предыдущей статье на эту тему выражалось мнение, что exception это плохой и/или сложный метод обработки ошибок. Я так не считаю и готов это обсудить в комментариях;
  • Опциональное логирование;
  • Общий обработчик exception, который будет поддерживать разные форматы вывода и debug/production режимы;
  • В debug режиме должен выводится trace. Требования к trace: компактный, понятный и по возможности ссылки на открытие файлов в IDE.

Теперь по порядку
Total votes 105: ↑84 and ↓21+63
Comments102

Стандарты и шаблоны для ТЗ на разработку ПО

Reading time7 min
Views753K

Введение


Недавно ко мне обратились, чтобы я посоветовал стандарты для написания технического задания (ТЗ) на разработку автоматизированных систем (АС) и программного обеспечения (ПО). Вот думаю, сейчас зайду в Яндекс, найду подходящую статейку и отправлю её. Но не тут-то было! Одной статьи, где перечисляются стандарты для ТЗ, включая шаблоны и примеры готовых документов, я не нашел. Придется сделать такую статейку самому…

И так, основные стандарты, методологии и своды знаний, где упоминается ТЗ или SRS (Software (or System) Requirements Specification):

• ГОСТ 34
• ГОСТ 19
• IEEE STD 830-1998
• ISO/IEC/ IEEE 29148-2011
• RUP
• SWEBOK, BABOK и пр.
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments22

«Runn Me!» — говорит нам очередной фреймворк* на PHP. А слышится «Throw Me!». Часть 2

Reading time6 min
Views7.1K
* вообще говоря это пока еще не фреймворк, а просто набор библиотек, фреймворком он станет чуть позже


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

Сегодня мы продолжаем путешествие в бездонную глубину библиотеки runn/core будущего фреймворка «Runn Me!». Под катом нам встретятся следующие обитатели бездны:

  • Концепция «мультиисключения» и ее реализация в библиотеке
  • Понятие объекта с внутренней валидацией и эталонная реализация такого объекта
  • Немного заглянем в мир валидаторов и санитайзеров (подробный рассказ о них будет позже)
  • Рассмотрим реализацию объекта с обязательными полями

Вперед!
Total votes 19: ↑10 and ↓9+1
Comments22

Повесть о создании классической RTS в домашних условиях с нуля (часть 2: «Воскрешение»)

Reading time12 min
Views26K

Примерно год назад вышла моя статья, которую можно назвать "первой частью" данной статьи. В первой части я насколько смог подробно разобрал тернистый путь разработчика-энтузиаста, который мне удалось когда-то самостоятельно пройти от начала и до конца. Результатом этих усилий стала игра жанра RTS "Земля онимодов" созданная мною в домашних условиях без движков, конструкторов и прочих современных средств разработки. Для проекта использовались C++ и Ассемблер, ну, и в качестве основного инструмента моя собственная голова.
В этой статье я постараюсь рассказать о том, как я решил взять на себя роль «реаниматора» и попытаться «воскресить» этот проект. Много внимания будет уделено написанию собственного игрового сервера.
Total votes 85: ↑85 and ↓0+85
Comments39

Повесть о создании классической RTS в домашних условиях с нуля + разбор основных этапов разработки (AI, сеть и т.д.)

Reading time38 min
Views75K
image

В статье речь пойдет об одном очень не новом проекте, который создавался совсем в другое время и совсем в других условиях. Это моя старенькая RTS под названием Земля онимодов (Onimod land). Чтобы было сразу понятно, что она собой представляет, можно посмотреть коротенькое видео:
Читать дальше →
Total votes 117: ↑116 and ↓1+115
Comments119

Нахождение похожих имен средствами MySQL+PHP

Reading time20 min
Views15K
Тема, озвученная в заголовке статьи, не нова. На просторах Интернета можно найти множество вопросов, как ее реализовать, а вот ответов несколько меньше. И не редко они сводятся к советам использовать продукты сторонних разработчиков, например, Sphinx. Но зачастую в использовании таких громоздких надстроек нет необходимости.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments23

Несколько строк JS кода для звонка из браузера на мобильный телефон

Reading time6 min
Views16K
Flashphoner.createSession(...).createCall({callee:'+74957718000'}).call();

В этой статье мы расскажем как сделать кнопку для звонка со страницы сайта на мобильный или городской номер телефона.
Читать дальше →
Total votes 11: ↑4 and ↓7-3
Comments3

Свой веб-сервер на NodeJS, и ни единого фреймворка. Часть 1

Reading time7 min
Views119K
Для многих людей JavaScript ассоциативно связан с обилием разнообразных фреймворков и библиотек. Разумеется, инструменты, которые помогают нам каждый день — это хорошо, но, мне кажется, нужно искать некий баланс между использованием инструментов и прокрастинацией, а также знать, как работают вещи, которыми ты пользуешься. Поэтому, когда я только сел разбираться с NodeJS, мне было особенно интересно написать полноценный веб-сервер, которым я мог бы пользоваться сам.
Читать дальше →
Total votes 46: ↑35 and ↓11+24
Comments97

Hacksplaining — интерактивный курс по веб-уязвимостям

Reading time4 min
Views38K
image
 
Hacksplaining представляет каталогизированный и наглядный онлайн-туториал по основным веб-уязвимостям. По каждой уязвимости представлено подробное описание, насколько часто встречается, как сложно ее эксплуатировать и уровень ее критичности. К каждой уязвимости приложено подробное описание, вектор эксплуатации, уязвимый код и рекомендации по устранению и защите. В качестве примера в статье приведен разбор одного из заданий по взлому виртуального онлайн-банкинга с помощью эксплуатации sql-инъекции.
Читать дальше →
Total votes 36: ↑33 and ↓3+30
Comments6

PHP-Дайджест № 107 – свежие новости, материалы и инструменты (9 – 23 апреля 2017)

Reading time3 min
Views19K


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать дальше →
Total votes 56: ↑53 and ↓3+50
Comments17

Как я дома NAS строил

Reading time3 min
Views81K
Давно меня посетила идея организовать маленькое сетевое хранилище дома. Для чего? В первую очередь для фото, и еще нескольких файлов которые не хотелось бы потерять. Ну раз уж пошла такая пляска то и организация человеческой медиатеки.

Смотрел я на модели именитых брендов, такие как дели Synology и QNAP, даже чуть не взял QNAP TS-469 Pro, но жаба таки сделала свое дело.

Начал я бороздить просторы интернета в поисках публикаций с вариантами постройки хранилищ своими ручками, это и интересно и мне тогда показалось что дешевле
Читать дальше →
Total votes 26: ↑20 and ↓6+14
Comments153

Виртуальная Машина PHP 7

Reading time34 min
Views29K
Всем доброго времени суток! Меня зовут Константин, в Badoo я работаю в команде Features Team. Скорее всего, вы уже знаете, что наш бэкенд написан на PHP и обслуживает более трёх сотен миллионов пользователей. Так что я не мог упустить шанс перевести эту статью core-разработчика PHP Никиты Попова. Уверен, она будет полезна разработчикам всех уровней, но новичкам может показаться сложноватой. Приятного (и полезного) чтения!



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

Описание сделано на основе PHP версии 7.2 (в настоящее время находится в разработке), но почти всё справедливо и для PHP 7.0/7.1. Однако отличия от виртуальных машин серии PHP 5.x являются значительными, и с ними я, как правило, не проводил параллели.
Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments12

Методы обхода защитных средств веб-приложений при эксплуатации XSS-векторов

Reading time8 min
Views38K
image

 
Несмотря на большое количество рекомендаций по защите веб-приложения от клиент-сайд атак, таких как XSS (cross site scripting) многие разработчики ими пренебрегают, либо выполняют эти требования не полностью. В статье будут рассмотрены способы обхода средств фильтрации и при эксплуатации xss-векторов.

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

Не верьте навигатору: уязвимости GPS и ГЛОНАСС

Reading time4 min
Views32K


Изображение: 2Tales, Flickr

Сейчас приемник GPS/ГЛОНАСС есть не только в каждом смартфоне, но даже в тех устройствах, которые не особенно перемещаются — в промышленных установках, в датчиках телеметрии, в банкоматах. Кроме того, такие приемники обеспечивают навигацию в автоматически управляемых системах, от городского транспорта до военных дронов. Системы глобального позиционирования настолько глубоко проникли во все сферы нашей жизни, что большинство людей пользуются ими, не задумываясь о том, насколько им можно доверять.

Между тем уже есть множество примеров, подтверждающих, что подобные системы уязвимы к разнообразным атакам, включая spoofing, то есть подмену сигнала. Более 5 лет назад иранские военные смогли посадить американский беспилотник, используя данную технику. А в конце 2016 года темой многих СМИ стали искажения GPS и ГЛОНАСС в центре Москвы, около Кремля: навигаторы вдруг показывали своим пользователям, что они находятся в аэропорту Внуково. Мы решили выяснить, действительно ли нужно обладать возможностями спецслужб, чтобы спровоцировать подобные сбои.
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments27

Основы компьютерных сетей. Тема №7. Протокол связующего дерева: STP

Reading time22 min
Views103K


Приветствую на очередной статье по основам компьютерных сетей. Сегодня затронем еще одно семейство протоколов в мире коммутации. И сегодня мы поговорим о протоколах связующего дерева или STP. Узнаем, как это дерево строиться, как можно им управлять, что такое петли, как с ними бороться. Тема интересная, поэтому приглашаю ознакомиться поподробнее.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments6

Безопасность прошивок на примере подсистемы Intel Management Engine

Reading time10 min
Views102K


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

Встречайте – подсистема Intel Management Engine, самая загадочная составляющая архитектуры современных x86-платформ.

Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments47

Большой пост о проекторах: технологии, назначение, выбор, перспективы развития

Reading time10 min
Views54K
Мультимедийный проектор давно стал привычным гаджетом для офисов, презентаций, переговорных, музеев, учебных заведений. Все чаще проекторы используют дома. Эти устройства выживают в достаточно сложном конкурентном климате (плазменные, ЖК и лазерные панели –конкуренты проекторов), имея при этом лишь одно огромное преимущество — большую диагональ проецируемого изображения.



Обилие технологий, использующихся для производства проекторов, рождает проблему выбора. Как отмечают специалисты Pult.ru, покупатели, намеревающиеся приобрести проектор, редко представляют, чего именно хотят, что не редко приводит к ошибкам при выборе. Этот пост об основных критериях выбора проекторов и перспективах развития современных технологий, которые применяются при их производстве.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments109

5 этапов внедрения CRM-системы. Увлекательно о важном

Reading time16 min
Views17K
Психолог Джед Деймонд выделил пять этапов развития любви: влюбленность, сближение, разочарование, преодоление кризиса и построение прочных, конструктивных отношений.


Очень похоже на то, как обычно внедряется CRM, — подумали мы. Вспомнили, что в комментариях к нашему предыдущему обзору вы спрашивали, когда же ждать «котегов на главной». И решили, что так тому и быть. Пусть будет пост про CRM, любовь и котиков. А уж на главной или нет – решать нашим читателям :)
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments2

Лекции Технотрека. Проектирование СУБД (осень 2016)

Reading time4 min
Views30K

image


Продолжаем публикацию наших образовательных материалов. Этот курс посвящен изучению основ языка SQL с учетом особенностей объектно-реляционной базы данных PostgreSQL. Программа предусматривает комплексный подход к изучению стандартизованного языка SQL на платформе PostgreSQL, включая некоторые минимальные возможности администрирования пользователей, ролей, схем, базовых таблиц и других объектов базы данных. Мы рассмотрим основы работы с базой данных PostgreSQL и некоторые особенности SQL применительно к ней. Более подробно — под катом.

Total votes 43: ↑40 and ↓3+37
Comments8

Information

Rating
4,658-th
Location
Тверь, Тверская обл., Россия
Registered
Activity

Specialization

Fullstack Developer, System Administration
HTML
Adaptive layout
JavaScript
Web development