Pull to refresh
0
0
Соз Нов @Sozidatel

Full stack web-developer

Send message

Чистая архитектура на PHP. Как её измерять и контролировать?

Reading time24 min
Views25K

Предисловие


Как ты уже понял из названия, говорить я тут собрался о самом, что ни на есть, “высоком” — Чистой архитектуре. А толчком к развитию всей этой истории послужила книга Роберта Мартина “Чистая архитектура”. Если еще не читал, осмелюсь порекомендовать! Автор раскрывает много важных тем, активно делится своим богатым жизненным опытом (из проф. области естественно) и сделанными на его основе выводами, эпизодически вплетает в главы истории о том, как виртуозно говнокодили (ну и не только, конечно же) наши отцы и деды в далёких 60-х, 70-х, 80-х и даже лихих 90-х, как по крупинкам собирали всеми любимые принципы SOLID и их аналоги в мире компонентов, и чему научились за прошедшие полвека. В процессе чтения книги хорошо прослеживается линия развития индустрии разработки ПО, типичные проблемы, с которыми пацанам приходилось сталкиваться, и способы их решения.

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

Мне кажется, статья будет полезна всем. Те, кто с книгой уже знаком, смогут освежить в своей памяти некоторые ее моменты, или просто пропустить первую часть и сразу приступить к знакомству с инструментом. Те, кто ранее книгу не читал, возможно, и в первой части найдут для себя что-то новое.
Читать дальше →
Total votes 24: ↑21 and ↓3+30
Comments23

Переходы наличности и переходы на личности

Reading time12 min
Views85K
Представьте, что мы живем в мире криптографии, электронной коммерции и свободных экономических отношений. Пользуемся электронными средствами платежей, где в корзине и кошельке операции осуществляет калькулятор, где микроскопические суммы и огромные средства проводятся в многочисленных транзакциях без каких-либо проблем за ничтожное количество времени, с автоматическим учетом налогов, сборов и отчислений, где нам привычны покупки в электронных супермаркетах и доставка до порога по одному прикосновению к экрану телефона или клику мышкой. И вот, в наш прекрасный, удобный и отлаженный мир электронных платежей, построенный на принципах безопасности и криптографии, со всеми присущими ему технологиями и образу мышления, впитанными с молоком матери, приходит причудливый и странный механизм, которым, как говорят средства массовой информации, пользуются только анархисты, конспираторы и преступники.
Любопытное нажатие для путешествия в этот мир
Total votes 288: ↑263 and ↓25+238
Comments229

Разработка web API

Reading time9 min
Views288K

Интро


Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

В тексте попадаются комментарии переводчика, они выделены курсивом.

Собираем API-интерфейсы, которые понравятся другим разработчикам


Понятные URL для вызовов API

Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

Ваши адреса вызовов должны быть понятными даже без документации. Для этого возьмите себе за правило описывать любую сущность с помощью коротких и ясных базовых URL адресов, содержащих максимум 2 параметра. Вот отличный пример:
/dogs для работы со списком собак
/dogs/12345 для работы с отдельной собакой
Дальше
Total votes 235: ↑224 and ↓11+213
Comments128

Ежедневная работа с Git

Reading time40 min
Views877K
Я совсем не долго изучаю и использую git практически везде, где только можно. Однако, за это время я успел многому научиться и хочу поделиться своим опытом с сообществом.

Я постараюсь донести основные идеи, показать как эта VCS помогает разрабатывать проект. Надеюсь, что после прочтения вы сможете ответить на вопросы:
  • можно ли git «подстроить» под тот процесс разработки, который мне нужен?
  • будет ли менеджер и заказчик удовлетворён этим процессом?
  • будет ли легко работать разработчикам?
  • смогут ли новички быстро включиться в процесс?
  • можно ли процесс относительно легко и быстро изменить?


Конечно, я попытаюсь рассказать обо всём по-порядку, начиная с основ. Поэтому, эта статья будет крайне полезна тем, кто только начинает или хочет разобраться с git. Более опытные читатели, возможно, найдут для себя что-то новое, укажут на ошибки или поделятся советом.

Далее очень много букв случайным образом превратились в пост.
Total votes 200: ↑194 and ↓6+188
Comments44

Памятка пользователям ssh

Reading time13 min
Views1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8+344
Comments148

Установка зашифрованной (TrueCrypt) Windows при Ubuntu по умолчанию

Reading time6 min
Views62K
Нужно: поставить на одну машину одновременно Windows и Ubuntu таким образом, чтобы нельзя было посмотреть содержимое Windows, не имея пароля. CD-ROM'а нет, USB Only.
Работа с виртуалкой из под Ubuntu не понравилась по многим причинам, основная — существенные проблемы производительности.
Решено: ставить параллельно 2 операционки (Windows & Ubuntu) таким образом, что по умолчанию грузится Ubuntu, а Windows размещается на загрузочном разделе.
Читать дальше →
Total votes 66: ↑59 and ↓7+52
Comments28

Продуктивное использование PHPStorm

Reading time7 min
Views326K
В процессе использования IDE иногда случайно, иногда специально находятся полезные фишки, сочетания клавиш и прочие заложенные разработчиками приятные штуки, которые никогда не оседают в памяти без регулярного их использования и всячески ускользают при чтении мануалов.

Не претендуя на библию или «настольную статью программиста» я хочу поделиться полезными находками в моей любимой IDE, не скатываясь в тупую копипасту мануалов и скучных списков хоткеев, только то, что я сам использую постоянно и над чем удивляются коллеги: «о! а так можно?»
Что ж там такое?
Total votes 120: ↑117 and ↓3+114
Comments124

Information

Rating
Does not participate
Location
Сочи, Краснодарский край, Россия
Date of birth
Registered
Activity