• Возникла ошибка при запуске программы?

    @Vitsliputsli
    error while loading shared libraries: libgo.so.13: cannot open shared object files: No such file or directory

    Вы переводили ошибку? Из текста ведь все понятно. Читайте про компиляцию, особенно про static и static-libgo.

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

    Легче: ./mygo &
    Правильно через systemd unit.
    Ответ написан
    Комментировать
  • Как принудительно установить пакет Composer?

    @Vitsliputsli
    Как мне проигнорировать эту проблему и все равно установить пакет?

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

    Чтобы решить конфликт, понижайте minimum-stability и устанавливайте. Либо используйте более ранние стабильные версии.
    Ответ написан
  • Тестовые задания при приеме на работу. Что скажете?

    @Vitsliputsli
    Срок выполнения не равен времени трудозатрат. Срок 3 дня вполне нормален, с учетом, что вы, например, работаете, ходите на другие собеседования и за 3 дня сможете выделить всего несколько часов на задание.
    Трудозатраты в 24 часа неадекватны для тестового задания. Либо работодатель не умеет составлять задания, либо сразу показывает свое отношение к будущим сотрудникам, либо что-то еще в том же ключе. В любом случае, это определенным образом его характеризует. Подходит вам это или нет, решать только вам.
    Ответ написан
  • Как сделать так, чтоб поле id в таблице всегда начиналось с 1?

    @Vitsliputsli
    truncate
    Ответ написан
    Комментировать
  • Как выводить прогресс выполнения команды из терминала на сайт?

    @Vitsliputsli
    Самый простой способ:
    1) писать лог во временный файл на сервере (/tmp как правило в памяти, но могут быть сложности с правами доступа при SELinux) или pipe;
    2) через ajax время от времени читать этот файл/pipe.

    Или в варианте посложнее использовать unix-socket, tcp-socket, web-socket.
    Ответ написан
    Комментировать
  • Как правильно проверить наличие переменной?

    @Vitsliputsli
    if($result['value']); - не слишком хороший вариант, слишком много вариантов, всегда лучше уточнять, что конкретно нужно, так легче читать и дебажить код;
    if (isset($result['value']); - проверяет переменную на существование, буде false если она отсутствует или null;
    if($result['value'] != ""); - не строгая проверка на пустую строку в переменной, к примеру 0 будет преобразован в '', лучше использовать строгую проверку !==

    Выбирайте исходя из того, что проверяете, если переменная может принимать только значения:
    ""
    "qeqwe"
    "2323"
    и больше никаких, то лучше:
    if($result['value'] !== "");
    Ответ написан
    2 комментария
  • Насколько сложные проекты создают на php?

    @Vitsliputsli
    На php пишут проекты любой сложности, причем даже highload, и не обязательно web. И речь не только о легаси, а о новых проектах тоже. Причина простая - язык универсальный и мощный, достаточно быстрый, с высокой скоростью разработки. Иногда требуется что-то более быстрое, в этих случаях делают отдельные сервисы на другом языке, сейчас обычно на go. Go разумеется быстрее, имеет не высокий порог входа, но скорость разработки на нем гораздо ниже, чем на php, хотя в целом очень хорошая.
    Ответ написан
    Комментировать
  • Какая правильная философия работы с ветками в git?

    @Vitsliputsli
    master - только для стабильного кода, который уже работает на проде.
    Новую разработку ведите в другой ветке (например, dev). Как стабилизируете и проверите код в dev, мержите его в master.
    На следующем этапе разработку в dev разбивайте на отдельные feature, там уже можно посмотреть что-нибудь вроде git-flow.
    Ответ написан
    1 комментарий
  • Как организовать модель ветвления GIT и отливку на стейжинг?

    @Vitsliputsli
    1)
    мне хочется, чтобы после исправления бага, новый коммит проходил проверку QA, но как организовать стейжинг пространство в этом случае? Слить код в нестабильный девелоп и выкатиться на стейжинг мы не можем, поскольку изменения девелопа могут нестабильно сказаться на релизе№1. Как быть?

    А в чем проблема? Отдайте hotfix в QA пусть проверяют. Как в случае feature QA тестирует ветку release-..., так и в случае hotfix, QA тестирует ветку hotfix/... .

    2)
    откуда разраб должен отпачковываться в данном случае, от девелопа или от ветки с фичой №1?

    Если фича №1 зависит от фичи №2, а в dev фича №1 отсутствует, то очевидно, что от ветки фича №1, других вариантов я не вижу.

    3)
    Согласно agile вторая команда, работающая над фичой№2 не может отправлять свой код в девелоп, иначе это замедлит поставку нового релиза

    Наверное agile здесь не при чем. Если работаете по scrum, то каждый спринт это подготовка нового релиза и вы не можете работать над фичей не из этого релиза. git-flow ориентирован именно на такую работу.
    Если релизы плавающие, я так понял у вас так, значит не сливайте фичи не из текущего релиза в ветку из которой готовите релиз. Если не выходить за рамки git-flow, то не сливайте в dev ветки не из текущего релиза, QA пусть тестирует либо feature, либо по тегам, если работаете с pull-request, то апрувьте их, но не делайте merge.

    Из всего выше описанного, мне кажется у вас 1 единственная сложность, это вопрос как должны работать QA.
    Ответ написан
    3 комментария
  • Как составить запрос который выводит именинников?

    @Vitsliputsli
    with birthday as (
        select 'Ivanov' as name, date '1977-11-30' as birthdate
        union all
        select 'Petrov', date '1991-11-18'
        union all
        select 'Test', date '2000-01-01'
    ) 
    select 
        name, birthdate 
    from birthday
    where 
        make_date(extract(year from date '2019-11-01')::integer,
                  extract(month from birthdate)::integer,
                  extract(day from birthdate)::integer) 
            between date '2019-11-01' and date '2019-11-01' + interval '3' month
        or
        make_date(extract(year from date '2019-11-01')::integer + 1,
                  extract(month from birthdate)::integer,
                  extract(day from birthdate)::integer) 
            between date '2019-11-01' and date '2019-11-01' + interval '3' month
    Ответ написан
  • Правильно ли я понимаю суть Tests в Postman?

    @Vitsliputsli
    Без разницы где вы пишите тесты. Тест - это эмулирование некой ситуации и сравнение полученного результата с ожидаемым. Абсолютно не важно 200 или 400. Вы посылаете корректный запрос и ожидаете получить в ответ 200, получили - значит ок. Вы шлете запрос с ошибочными данными и ожидаете в ответ 400, получили что-то иное, значит fail. Т.к. это тоже некорректное поведение.
    Другое дело, что лучше сначала покрыть тестами стандартное поведение, и не только возвращаемые коды, но и данные, а затем уже исключения, ошибки и прочее.
    Ответ написан
    Комментировать
  • Где Вы принимаете и обрабатываете $_POST запросы?

    @Vitsliputsli
    В том контексте, где вы читали, имелась ввиду бизнес-логика. MVC - это по-сути деление кода на логические слои "ввод", "обработка", "вывод". Попробуйте, представить, что у вас взаимодействие пользователя не только через web, но и как-то еще, какое-нибудь api, или даже командная строка. Чтобы не дублировать код, вы выделите какую-то общую часть, это и будут модели, а различия ввода уйдут в контроллеры, и там уже в них будете обрабатывать http-запросы или аргументы командной строки.
    Но не нужно мои слова понимать буквально, как ту статью. К примеру, я не имел ввиду, что api - это только контроллеры, в какой-то момент вы решите что нужны собственные модели для api, да и вообще нужно выделить его в отдельный модуль.
    Схема MVC, как и паттерны проектирования - это способы управления сложностью. В данном случае мы боремся с сильным зацеплением, т.е. зависимостью классов друг от друга во многих частях. Чем меньше таких зависимостей, тем проще будет расширять код. Писать api к правильно разделенному по mvc коду достаточно легко, но если везде будут произвольно натыканы обращения к данным post-запроса, то все эти куски придется переписывать. Продумывайте как будете расширять проект.
    Ответ написан
    Комментировать
  • Есть ли базы данных, хранилища, бэкенды для конфиденциальных данных?

    @Vitsliputsli
    Посмотрите в сторону мандатного контроля, это в первую очередь решения на основе SELinux, и основные СУБД их поддерживают.
    Ответ написан
    3 комментария
  • Почему PostgreSQL не использует индекс?

    @Vitsliputsli
    Постройте составной индекс по обоим полям.
    Ответ написан
  • Как написать функцию?

    @Vitsliputsli
    Переводите второй аргумент в троичную систему, а цифры заменяйте на буквы abc при выводе. Либо в другую, если букв не 3.

    Нет, ошибся, не соответствует системе счисления, проще циклами пробежаться.
    Ответ написан
  • Linux для начинающих?

    @Vitsliputsli
    Ставьте Ubuntu или лучше Debian (в нем меньше косяков, но и ПО более старое), с ними проще на первых порах, т.к. требуется меньше знаний и сообщество большое. Ставьте систему по-умолчанию, стараясь на первых этапах ничего не менять в ней, иначе погрязнете в починке ненужных проблем. Относитесь к этой системе как к тестовой, которую не страшно поломать, поэтому делайте бекапы важных данных. Погружаетесь в работу с консолью и демонами постепенно, только так вам это не опротивит после первых же проблем, которые вы не сможете решить, а они будут блокировать всю работу.
    Не слушайте советов по установке базовой системы без GUI, такое советуют только для самоутверждения, типа "вот, ещё один не осилил, какой значит я молодец". Как и при любом изучении нового, действуйте постепенно. Если будете заниматься разработкой, то никаких vim, ставьте нормальную IDE, если писать скрипты для администрирования, то без разницы по большому счету.
    Осваивайте постепенно, погружаясь в те области, которые вам нужны для работы прямо сейчас, ликвидируя пробелы которые мешают, т.е. как при любом изучении нового. И без попыток понять все и сразу.
    Ответ написан
    Комментировать
  • Почему не работает mkdir на сервере apache?

    @Vitsliputsli
    Что возвращает функция? А вообще, наверное имелось ввиду:
    mkdir('/var/www/html/page', 0777, true);
    Ответ написан
    3 комментария
  • Берут ли на Java стек людей с других языков?

    @Vitsliputsli
    Есть 2 категории программистов. Одни пишут с помощью языков программирования, другие пишут на языке. Для первых - язык лишь средство, для вторых - основополагающая вещь, на которую они готовы молиться, хотя в некоторых случаях знание глубокой специфики даёт преимущество, но и делает заложником языка. Также как вторые рассуждают и те, у кого не вышло стать программистом.
    Но работадатель скорее всего не станет вас брать и надеяться что вы изучите новый язык за его счёт, поэтому изучите самостоятельно. Если у вас хороший опыт на php7, динамическую типизацию используете когда это нужно, и разрабатывали демонов, то у вас не будет проблем. Половина "специфики" вам уже известна, пусть и в другом виде, половину вы изучите быстро. Далее идите смело работать, будет надо, соврите, что уже работали с новым языком (не рекомендую врать на собеседовании, но здесь проблема в стереотипах). А джун и миддл очень абстрактные словечки и в каждой компании будет свое понимание. Равно как и требования у проводящих собеседования.
    Ответ написан
    Комментировать
  • Соединение php сайта с linux сервером?

    @Vitsliputsli
    Также как без PHP, вызывайте нужные системные команды через exec, shell_exec, system по вкусу.
    Ответ написан