garex
0

Месье знает толк ))


А по сути — прикольно: клиент точно будет делать один запрос, а уже адаптер локально кучу. По сети улетит один результат.

garex
+3

Чем ваш вариант лучше http://graphql.org/ ?


С допущением, что у проекта нет уже написанного REST-api?

garex
+1
Предпринимаются какие либо шаги для добавления user friendly?

Все шаги у нас только official pocket friendly. Не раскачивайте яхту тут.


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

garex
0

travis.yml куда ж без него

garex
–1
Anton Merge branch 'master' of github.com:anton-okolelov/helloworldphp

Далее не читал, но осуждаю.


Вот более правильные версии хеловорлда ))


https://github.com/DQNEO/php-HelloWorldEnterpriseEdition
https://gist.github.com/lolzballs/2152bc0f31ee0286b722

garex
+1

А чем поведение всех этих типов отличается? Вы нам показали 3-4 abstract data type, которые отличаются только данными, но не поведением в контексте задачи.


Почему вообще кому-то надо знать детали того, что у организации есть атрибут1, а у физлица — атрибут2? Почему всех контрагентов нельзя подвести под единый интерфейс а-ля IContactSigner с одним методом sign(IContract contract)?

garex
+1
Не все умеют излагать мысли на бумаге

Программирование по сути — изложение своих мыслей на бумаге в исходном коде.

garex
+1
Мы технические специалисты, а не "художники с тонкой и хрупкой душевной организацией".

Любой программист — человек. А любой человек может быть демотивирован бездарно-построенным процессом управления или никакой культурой.


Относиться к сложным системам типа "человек" как к простым биомеханизмам типа "бактерия", в которых не надо особо разбираться — сродни забиванию гвоздей микроскопами.

garex
+2

Чуть меньше эмоций и чуть больше деталей.

garex
0

Я попутал его с парсером/компилятором.

garex
0

В надуманном примере автор либы мог бы требовать на вход что-то типа Integer[]


Или Iterator или ещё как-нить обозвать. И уже пользователь либы видит, что от него хотят и только это суёт.

garex
0

Byte-code файлы есть, так-что можно считать, что JIT компиляция не нужна. Уже не на каждый чих интерпретатор дёргается.

garex
+5

Ишь чего захотел! Может ещё интерфейсы в питон добавить?

garex
0

Это типа на нескольких серверах, а не на одном.

garex
0
  1. Люди давно уже придумали просто-SQL, а не VendorSQL. Попробуйте его использовать.
  2. crt_date. Рука-лицо… Зачем это в справочниках, которые раз в век меняются? Причём такое название. Сразу вспоминается крутой нэйминг типа pIdOrName.
  3. Как уже выше сказали — формат "только SQL" в наш век JS'а как-то не комильфо.
  4. А где для стран коды по типу ISO?
garex
0
Невозможность установки серверов очередей.

Наше вам сочувствие.


Я писал микросервис для лицо-распознавания на питонах и вместо скучного REST'а сделал AMQP-консумера. Это оказалось просто и эффективно. Особенно помогло в горизонтальном масштабировании — можно было запустить кучу консумеров где угодно и задачи отрабатывались быстрее.

garex
0

@jced и всё-таки что за юс-кейсы то такие?

garex
0

Я стесняюсь спросить, а что это за юс-кейсы такие странные? Один процесс на N серверов?


Что это таким путём надо делать? Не проще ли это порешать очередью, где можно сколько угодно консумеров запускать, но отрабатывать они могут по одному друг за другом?

garex
+1

В презенташке у вас мышка туда-сюда летает. А как у вас с keyboard-usablility?


В большинстве native-GUI это из коробки идёт.

garex
+4

Псс… посоны, у нас тут есть кусок из оф. документации QIWI. Зацените ))


//Функция возвращает упорядоченную строку значений параметров POST-запроса
function getReqParams(){
    $reqparams = "";
    ksort($_POST);
    foreach ($_POST as $param => $valuep) {
        $reqparams = "$reqparams|$valuep";
    }
    return substr($reqparams,1);
}

//Извлечение цифровой подписи из заголовков запроса
function getSign(){
    $HEADERS = getallheaders();
    foreach ($HEADERS as $header => $value) {
        if ($header == 'X-Api-Signature') {
            $SIGN_REQ = $value;
        }
    }
    return $SIGN_REQ;
}

Картинка

image

garex
–1
И чем конкретно капистрано лучше деплоера?

Тем что написан раньше, отлажен лучше, больше готовых плагинов. Основан на rake (ruby's make) и в-принципе делает всё, что надо.


Для капистраны не надо ставить на удалённой ноде ничего — только нужен ssh-доступ.

garex
0

Этот уровень описан в списке сертифицированных ФСБ решений. В нём в том числе есть и линукс-версия, доступная бесплатно.

garex
0

Почему ж я только сейчас в гугле сюда зашёл??


Более узкое решение для RabbitMQ (плагин): https://github.com/rabbitmq/rabbitmq-delayed-message-exchange


Параметром x-delay задаём задержку и уже сам exchange объявленный с типом x-delayed-message следит за тем, чтобы сообщения шли далее после задержки x-delay.

garex
+5
Squash фича-бранча — зло.

Интерактивный ребейз, когда из 100 нанокоммитов делается 2-3-4-5 логически-атомарных коммитов — хорошо.
garex
0
Афтар забыл в самом начале повесить тег САРКАЗМ.
garex
+7
1С битрикс создан гениями
маркетинга
garex
0
В общесистемном обычно нету частных.

У меня там уже вверху «Host *», так что тоже необязательно, но это уже микрооптимизация конфига, которая щас меньшее зло ))
garex
+14
Допишите в заголовок «клиенте»:

  • В OpenSSH клиенте обнаружена серьёзная уязвимость CVE-2016-0777
garex
+16
Автор исходной статьи не знакомый ли Бориса, который…
Его поддержал директор центра стратегических инноваций «Ростелекома» Борис Глазков: «Я согласен, подготовка программистов — гиблое дело. И вообще, скоро программистов можно будет заменить компьютером, чтобы он писал код».

http://lenta.ru/news/2015/10/15/itvred/
garex
0
Лучше сразу застрелиться. Скажу вам как автор плагина для совместимости написанного в стиле ЗРЗ 5.2, когда у тебя нет неймспейсов, но хочется.

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

Но что самое забавное — пользователям по… на чём и как оно написано. Красота и покрытость тестами (а даже это возможно в мире WP!) — это всего лишь то, что даёт разработчику возможность маневра при рефакторинге.

Как уже верно заметили товарищи выше — учите симфони, ларавел, юй и т.д., что имеет плюсики на гитхабах. В WP максимум что надо знать — как подписаться на нужное событие и когда оно происходит, а также какая функция/метод с какой версии WP доступна и что она такого делает. Внутренности БД лучше не знать — сон спокойный очень важен для программиста.
garex
+10
Я понял, что я ничего не понял. Сократ ли я?
garex
+1
`sed` в баше, Ctrl + H в IDE. Тысячи их способов это сделать ))

А мож там хостинг вааще тупой? Без языков — только plain HTML.
garex
–2
Да не совсем. При покупке есть хотя бы транзакция с карточки, которая хоть как-то, но косвенно может подтвердить, что ты — это действительно ты. В случае халявной раздачи это теряет смысл. Также вполне может быть, что поисковики будут топить https-сайты с халявными сертификатами.
garex
+1
Нет конечно! Но бесплатно-из-коробки сразу даёт намёк на «заработай 10000000 в неделю бесплатно и без регистраций». Нечисто тут что-то. Моя фольга меня защищает ))
garex
0
Хмм… Бесплатно? А как у этой инициативы с защитой от CIA-in-the-middle атак? Рутовый сертификат — https://www.identrustssl.com/ Этой конторе можно доверять?
garex
–1
А откуда ViewModel будет знать, что именно ложить/класть в тот же protected IProgress progress;?

К примеру у меня два IProgress'а — один текстовый, а второй графический. И они за разное отвечают. Или вообще ещё проще — у меня этих прогрессов 5 (к примеру 5 разных процессов) — что тогда?
garex
0
Клиенту объекта А это должно быть фиолетово ибо инкапусуляция в том и есть, что интерфейс уже гарантирует, что с той стороны всё будет работать.

Проблемы имплементации — это её личные проблемы и они не должны выходить за интерфейс. Если получается так, что клиенту объекта А надо задумываться над деталями имплементации, то уже что-то не так в архитектуре и точно не сервис-локатор виноват, а автор такого объекта/интерфейса, который не может гарантировать себя.
garex
0
В любом коде они зависят. Но если мне объект предоставляет интерфейс АйСделатьХорошо, то этот объект ДОЛЖЕН по своему интерфейсу уже делать мне хорошо. Я — клиент и я не должен зависеть от деталей реализации того, кто за интерфейсом. Иначе смысл теряется в-принципе в интерфейсах, DI и SL.
garex
0
В данном примере другой антипаттерн показан — чтобы использовать В надо дернуть/засетить/заинжектить А. К сервис-локатору это никак не относится.

Сервис локатор отвечает за то, чтобы вернуть обработчик заказов и здесь уже ответственность либо самого локатора, чтобы такой обработчик был у него создан, либо ответственность того, кто помещает в сервис локатор этого обработчика — design by contract.

Сервис-локатор похож скорее на один большой глобальный god-mode объект. Вот здесь его явный минус. Тот же code-completion можно «залочить» с помощью интерфейса который в одном себе отнаследует интерфейс каждого метода и тогда будет хотя бы видно, какие сервисы данный локатор предоставляет. Единственный минус — при очередном изменении надо будет это повторять, да и не всем о всех надо знать.