Обновить
-1
Дэн@iit

php backed + js frontend

4
Подписчики
Отправить сообщение

Круто! Как появится время изучу =)
А пока будем использовать openESB

Если сделаете коробочное stand alone решение которое можно купить и поставить на своих ресурсах и использовать — это будет очень круто!


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


По сути у вас что то похожее на ETL и ESB софт — только с прицелом не на процессы а на данные. Такие системы достаточно дорогие, есть конечно открытые но глючные — а тут такая красота!

Ага. Верно.


Просто назвать можно себя как угодно, жить легче от этого не станет, разве что пошутить можно =)

У меня на прошлой работе была должность "Главный Программист", причем официально — в рабочем табеле.


При этом у нас было 2 тим-лида и один CTO который нагружали меня тасками и проектами.

В мое время была такая софтина — artisteer. Может и сейчас её кто-нибудь использует.


Эти ребята вовремя просекли фишку — редактировать шаблоны в вэбе — это не просто, а если не в вебе?


В итоге замутили коробочный софт и он был не плох для своего времени.

Столкнулся с тем что markdown не хватает для таких нужд, в данный момент начал использовать reStructuredText — он довольно похож на markdown но возможностей больше.


Подкупили 2 возможности


  1. с помощью include собирать один файл из кучи более мелких
  2. постоитель таблиц на основе csv

В качестве редактора использую ReText, после чего Sphinx и можно и на github pages и в виде статичного html для сайта и даже в docx перегнать.

Как раз для этого использую отдельный номер который знают только 3 человека в телефоне Nokia 1208

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


Сам я такой зависимости не имею (хотя да, у меня смартфон, есть аккаунты в большинстве соцсетей и даже MI Band2 на который приходят пуши whatsapp/gmail/slack/telegram) однако пользуюсь смартфоном я только для того чтобы читать книги и по работе. Большинство соцсетей и каналов в мессенджерах на mute, так как отвлекают на работе от кода.


Так что с подобной зависимости я относился с иронией и даже сатирой и сарказмом.


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

А вы их согласно GDPR обрабатывать будете?

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


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


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


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

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


Идут 2 смс — одна для клиента другая для того кто снимает в обоих 2 части кода. Для того чтобы снять деньги нужны обе части кода.


Клиент банка сам отсылает вторую часть — такая защита от мошенников.

Кроме QR кода который действительно прикольная идея но не новая (пчелайн позволяет оплачивать покупки по QR коду), остальные фичи банкомата не такие уж и новые. NFC уже год стоит в банкоматах ForteBank в Алматы.


В гонконге даже видел автомат без традиционных кнопок — только сенсорный дисплей еще 3 года назад.

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


И вот работа на пять минут выполняется за 40 минут. Если менеджеры тормозят / на планерке / не на работе тогда может и день занять. Конечно в это время берем другие таски или рефакторим но по факту работа не завершена.


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

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


В моем случае пришлось написать подобие orm для всего этого и обернуть её в redux, хотя сейчас я бы лучше использовал для этого mobx.

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


Осторожно php код!
trait SeedTableTrait
{
    /**
     * @return DataBaseRepositoryInterface
     */
    abstract public function getDataRepository() : DataBaseRepositoryInterface;

    /**
     * @param array $dataset
     */
    public function seed(array $dataset)
    {
        $repository = $this->getRepository();
        $repository->create($dataset);
    }
}

Добавлю что как и с объектами, лучше больше узко специализированных интерфейсов, чем меньше раздутых. Таким образом мы пишем 4 интерфейса, которые разделены по задачам и после объединяем их в один композицией.


Так-же и с классами — вместо того чтобы городить кучу классов, есть прекрасный механизм трейтов, которые мы примешиваем в класс.


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

Такой подход понятен, но вместо того чтобы блокировать более оптимальные пусть и более затратные способы это тротлинг или CDN+cache.


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

1) Думаю что это стоило уточнить, не стоит вести всех ботов под одну гребенку
2) Нет гарантии что те, кто писали бота просто оптимизировали его таким образом чтобы он мимикрировал под других ботов или пользователей.

И гугло-яндекс-боты соответственно понижали вас поисковой выдаче =)

Не, не Битрикс одна из многих других "коробочных" CMS.


По сравнению с большинством таких "продуктов" Битрикс даже на так плох, как кажется.

Информация

В рейтинге
Не участвует
Откуда
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Дата рождения
Зарегистрирован
Активность