• Нужны советы по внедреню онлайн оплаты с карточки в Codeigniter?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    модно какие то советы чтобы предостеречь меня от каких то ошибок?

    Модно)) Правда вы уже сделали ошибку выбрав Codeigniter

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

    Защитой транзакций пренебрегать нельзя.
    Ответ написан
    Комментировать
  • У кого в СПб можно обучится верстке с нуля?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    каждый раз гуглить, уже невмоготу стало.

    Забудь, это не твое. Dev учится постоянно и гуглит постоянно
    Ответ написан
    Комментировать
  • Позиция смежная с программированием?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Ответ написан
    Комментировать
  • Стоит ли подготовить все запросы в init?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Со всей силы не стоит. Базовая инициализация приложения не должна (по хорошему) иметь ничего общего с вашей бизнес логикой (БЛ). В вашем случае это грубое нарушение SOLID (SRP).
    Пример из серии "что-то пошло не так": ваш подготовленный запрос в процессе выполнения изменился, код его использующий будет ожидать старого поведения, но отвалится (это в лучшем случае) только после выполнения запроса, а там может быть что угодно. Как результат: поведение методов, использующих эти запросы меняется, без изменения их кода. Подобные ошибки ищутся долго.

    -- upd --

    Глобальные публичный переменные, как правило, это плохая идея)) Что вы будете делать, если у вас появится еще одно подключение к БД? Переписывать весь код?

    У вас функция Save делает select, зачем? Это ж явное противоречие названию

    Что касается подключения к БД - рекомендую вынести это в файл настроек, либо флаг запуска.
    Ответ написан
  • Что делать если дизайн сайта готов, а клиент в конце работ отказывается платить?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Забудьте. Вы потратите больше на доказательство, что вы не олень.
    Ответ написан
    3 комментария
  • Как вы используете docker для разработки в Windows?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    между докером и виртуалкой можно примаунтить каталог, серьезных потерь производительности быть не должно. На счет шаред каталогов - действительно стоит отключить.
    Ответ написан
    2 комментария
  • Какие есть программы по мотивации?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    На счет мотивации пуслушайте Джорджа Карлина.

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

    Если отстаете - либо нужно больше времени, либо выбрать другое ИТ направление с более медленным ростом.
    Ответ написан
    Комментировать
  • Как правильно реализовать авторизацию между сервисами?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    По простому: hash = someFunc(secret + message) добавляется в запрос/ответ. При этом секретный ключ должен присутствовать и на сервере и на клиенте.

    Есть альтренативный вариант: https://ru.wikipedia.org/wiki/Сервер_криптографиче...

    Как вариант можно посмотреть в сторону OAuth2, так же не обделите вниманием LDAP
    Ответ написан
    Комментировать
  • Как ускорить множество INSERT в Mysql?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Можно запихнуть все это дело в транзакцию, так индексы пересчитаются 1 раз.

    Правда я бы рекомендовал пакетную вставку в цыкле. В смысле набить запрос на N вставок одним insert, выполнить, далее еще раз наполнить и выполнить и т.д.
    Ответ написан
    Комментировать
  • Какую технологию выбрать веб сервиса и БД?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Под БД можете Elastic заюзать. Забивать адреса можно в полу автоматическом режиме: если адрес стандартный
    (ул|пр-т|пр|...). (Адрес улицы/проспекта/...), д. (буквы/цыфры), кв. (буквы/цыфры) - разбивать регуляркой, и вбивать автоматически, в противном случае в ручную.

    Есть альтернативный вариант - пытаться искать адрес через гугл, далее пытаться получить адрес через его API
    Ответ написан
    Комментировать
  • Кто знает замену MongoDB?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    А если у каждого пользователя свои посты? Все посты пихать в одну коллекцию или в один массив?

    Почему же? Посты в одной коллекции - это вполне ок. Юзвери в другой коллекции это тоже ок.

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

    Не пишите костыль на костыле, сначала спроектируйте БД так, что бы избежать этого.

    Вставлять документ в коллекцию можно только в конец.

    И в чем проблема (я вам по секрету: так происходит практически в каждой СУБД)? Какая вам разница, где оно будет вставляться? Делайте выборку с сортировкой.

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

    RTFM

    написать костыль со skip, limit.

    Какой нехороший человек вам такую дичь сказал? Если у вас записей 10кк, у вас просто оперативки не хватит делать подобные выборки без skip/limit.

    Если бы можно было всё вставлять в начало коллекции, было бы намного проще.

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

    Подскажите, пожалуйста, кто знает лучшую альтернативу.

    Еще раз, вы придумали проблему и пытаетесь ее героически решить, но проблема заключается в том, что вы не правильно используете средства предлагаемые mongo, и другая БД вам ни как не поможет
    Ответ написан
    1 комментарий
  • Почему 100% загрузки CPU при использовании elasticsearch?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    На счет кешей: вообще говоря они есть, просто называются маппингом. Видимо вы его не настроили. Смотрите доку по маппингу индексов, по умолчанию он тоже создается, но далеко не всегда оптимально. Поля, для которых поиск не нужен - не индексируйте. Там, где можно оптимизировать сам индекс, например таймстамп стоит явно индексировать как дату по шаблону, а не просто строку, мультиязычный поиск со склонениями стоит оставить только там, где это реально необходимо и т.д.

    Эластик - это не серебрянная пуля и не ИИ, он умеет пдстраиваться под данные, но эфективней это слелать самостоятельно.

    Так же не забудьте поковырять вармеры.
    Ответ написан
    Комментировать
  • Правильно ли я пишу моки?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    крофьИзГлаз.jpg

    Вы не задумывались, почему в моках можно подменять методы, а не свойства?

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

    1. Прочитайте про PSR, не плодите каку.
    2. Моки имеет смысл делать без конструктора И прописывать заглушки под вызываемые методы.
    3. Методы, что не должны быть вызваны - тоже заменяются заглушками, но в expects заганяете never.
    4. Старайтесь не использовать статику, на сколько это возможно. Тестировать ее возможно только косвенно.
    5. Старайтесь соблюдать SOLID. В вашем примере может это конечно неудачное название, но ивент как правило - это некий скоп данных, не стоит обременять его логикой.
    6. Работа с бд в ActiveRecord может и удобная, на для тестов - эт говно, сточки зрения безопасности и расширения - увы, тоже. Конкретно в вашем случае создайте отдельный метод, который будет обновлять ваш идентификатор, напишите тест для него который будет работать с БД. Для ивента вам стоит проверять только тот факт, что метод вызвался с корректными данными.
    Ответ написан
    Комментировать
  • Какой php фреймворк подойдет для оффлайн разработки?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Дичь какая то. Разработка без инета...

    Что вам мешает разраьатывать на машине с интернетом, а диплой делать в интранет? Например собирать архив и разворачивать как есть на прод?

    Отказываясь от композера вы делаете прыжок в прошлую эру.

    На счет фреймворка - посмотрите silex.
    Ответ написан
  • Очередной глупый вопрос. Как сделать свой файл конфиг?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Под конфиги есть один очень удобный подход: конфиги в константах класса.
    Смысл в следующем, создаете базовый конфиг, например DefaultConfig.php настройки забиваете под окружение для разработки

    namespace MyVendor\MyProject\Config;
    
    class DefaultConfig
    {
        const MYSQL_DSN = 'mysql:host=localhost;dbname=dbName';
        const MYSQL_USER = 'some_user';
        const MYSQL_PASS = 'some_password';
    }


    Так же создаете конфиг, который будет подключаться в вашем проекте Config.php (игнорируется git/svn/или что у вас там)

    namespace MyVendor\MyProject\Config;
    
    class Config extends DefaultConfig
    {
    }


    Смысл в следующем, вы можете обращаться за счет автолоада на прямую к любой настройке, при этом переопределить их для продакшна например очень просто - вы переопределяете константу в Config.php.

    За счет этого подключение к БД у вас может выглядеть так:

    $pdo = new PDO(
        Config::MYSQL_DSN,
        Config::MYSQL_USER,
        Config::MYSQL_PASS
    );
    Ответ написан
    Комментировать
  • На чём лучше написать софт для инфомата?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    По идее MODx подойдет
    Ответ написан
    Комментировать
  • Для чего создавать объект через reflection класс?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Для случаев, когда конструктор приватный, либо этот конструктор не нужно вызывать. Последнее - вполне отличная практика при написании тестов для создания моков ваших зависимостей.
    Ответ написан
    Комментировать
  • Есть ли какие-нибудь CMS для документирования разработки и написания примеров?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    media wiki
    Ответ написан
    Комментировать
  • Ubuntu 16.04 mssql на php7 реально?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Поднимите окружение под Vagrant и подобной фигни у вас не будет)
    Ответ написан
    2 комментария