Задать вопрос
  • Как наложить нетривиальное ограничение уникальности на поле?

    @Vitsliputsli
    Создавать связь по city_id плохой вариант. Да, вы решите вопрос с уникальностью, но потеряете принадлежность районов к определенному городу в рамках таблицы ТР.
    Поэтому решайте с помощью внешнего языка программирования или хранимых процедур. Триггеры не очень явная штука, я бы лучше создал отдельную процедуру для заведения новых ТР, если выберите 2 вариант.
    Ответ написан
    Комментировать
  • Как добавить новую задачу в cron?

    @Vitsliputsli
    Редактирование задач:
    crontab -e
    Просмотреть список:
    crontab -l

    Условие правильное, только укажите интерпретатор, что-то вроде:
    0 18 * * * /usr/bin/php /var/www/....
    Ответ написан
    Комментировать
  • Можно ли устриться на работу не имея нормальных проектов?

    @Vitsliputsli
    Все работадатели разные и потребности у них разные. Портфолио не всех интересует, и в вебе в том числе. Все больше зависит от места, где ищете работу. При слабой конкуренции берут даже с слабыми знаниями, какое тут уж портфолио. Но может оказаться, что в вашем городе конкуренция высокая.
    Даже по 300 строкам кода можно сделать определенные выводы.
    И не пишите в резюме, что хорошо знаете C++, C, C#, Python, это слишком разные языки, и когда такое видят в резюме 24-летнего соискателя создаётся впечатление, что он не знает ничего. Понятно, что язык всего лишь инструмент, но лучше определитесь на чем специализируетесь, его и укажите, остальное в дополнение, что писали на них.
    К тому же, любые ответы здесь могут быть противоречивы, откройте свое резюме и многие вещи станут понятны.
    Ответ написан
    Комментировать
  • Как закоммитить в другую ветку?

    @Vitsliputsli
    Если имеете ввиду, что у вас есть коммит в одной ветке, а вы хотите такой же в другой ветке, то cherry pick. Если коммита нет, то stash.
    Ответ написан
    Комментировать
  • Как отформатировать число?

    @Vitsliputsli
    Либо, как вариант:
    echo ltrim( chunk_split( str_repeat( ' ', strlen($str)%4 ) . $str, 4, ' ' ) );

    , без strrev, но длиннее и читаемость хуже.
    Ответ написан
    Комментировать
  • После подключения 2 бд не работает код (RedBean)?

    @Vitsliputsli
    Включите отображение ошибок или читайте логи.

    $user = R::load('accounts', $server); откуда взялась эта переменная $server?

    $user[id]
    $user[admin]
    $user[Name]
    что за странный синтаксис обращения к элементу массива?
    Ответ написан
  • Что значит индексирование в этом контексте?

    @Vitsliputsli
    Как вообще можно индексировать символы?

    А как вы себе представляете индексы в СУБД? Индексирование, по-сути разбиение таблицы на части, чтобы при поиске проходить не все строки, а только часть. Какой длины должен быть индекс вопрос сложный, очень зависит от содержимого полей. Если начала строк различаются, то достаточно очень маленького индекса, если очень много строк с одинаковым началом, то увеличивайте длину индекса до момента различая.
    Ответ написан
    Комментировать
  • Ip адрес 192.168.0.10 можно задать,сетевому устройству или сеть с нуль-ом нельзя??

    @Vitsliputsli
    Можно, в конкретном этом случае.
    Ноль не играет роли, важна маска подсети. Пользуйтесь калькулятором, например https://ip-calculator.ru.
    Ответ написан
    Комментировать
  • Выбрать строки в таблице PostgreSQL где id находится в JSONB array?

    @Vitsliputsli
    Спасибо за интересный вопрос, не думаю, что следует id хранить в json-поле, но всякое может понадобиться, а если это единичное преобразование - то почему бы и нет.
    Столкнулся с одной сложностью, преобразование json в integer, простым путем этого не сделать, поэтому делаю через специальную функцию преобразования сперва в text, а затем уже в integer. Получилась вот такая конструкция:
    with ids as (
        select 
                (id->>0)::int id 
            from jsonb_array_elements((SELECT t->'perms' FROM "table_with_json")) as x(id)
    )
    select
           user_table.*
        from user_table
        join ids on user_table.id=ids.id

    , не слишком красиво, но другого варианта пока не вижу.
    Ответ написан
    Комментировать
  • Как сделать timeout на время после трех попыток ввода пароля на php?

    @Vitsliputsli
    В самом простом случае, я бы складывал время последних 3 некорректных попыток в JSON. Смущают дополнительные запросы - оформите все это процедурой.
    Ответ написан
    Комментировать
  • Почему использование timestamp в БД для хранения даты является неправильным?

    @Vitsliputsli
    Не пишите timestamp, пишите Unix timestamp. Только в MySQL timestamp-ом называют Unix timestamp, в остальных СУБД timestamp - это то, что в MySQL зовется datetime.
    В Unix timestamp нет ничего плохого, но его использование ограничено, по-сути отображать текущее время работы компьютера.
    Если взять пример из цитаты, то действительно странно сохранять дни рождения в Unix timestamp, хотя бы потому, что этот формат хранит только даты в интервале от 1970 по 2038 год.
    Ответ написан
    21 комментарий
  • Взаимодействие с сервисом на PHP?

    @Vitsliputsli
    POST /API/user/ добавить
    Get /API/info/ получить информацию
    Вопрос в том, что у меня должно получиться в финале, запущенный на сервере скрипт?

    Скорее всего, нужна реализация вариации rest, обычно подразумевают одну из моделей описанную Ричардсоном. И нет, не нужен запущенный на сервере скрипт (если подразумеваете постоянно работающий сервис), обычные http запросы, только ответ не в html, а в удобном для парсинга виде: JSON, XML,... Читайте про rest.
    Ответ написан
    Комментировать
  • Какую роль играет приватный ключ при соединении по ssh? Как его можно использовать?

    @Vitsliputsli
    Всегда можно прочитать про этот способ. Но если все равно не понятно, то вот метафора: публичный ключ - это "замок", приватный ключ - "ключ" от этого "замка". "Замок" можно отдать на север и закрыть им какую то "дверь", но открыть ее можно будет только с помощью "ключа".
    Ответ написан
    Комментировать
  • Как сделать обновление время в полночь?

    @Vitsliputsli
    Сейчас вы считаете за последние 24 часа, если хотите считайте за сутки, то так и считайте, с 0 часов до 23:59, и все это может сделать СУБД.
    Ответ написан
    Комментировать
  • Как выбрать поля по значениям двух колонок?

    @Vitsliputsli
    При условии, что product_id всегда имеет не более одного типа property_id:
    SELECT `product_id` 
    FROM `product_properties_values`
    WHERE (`property_id`=1 AND `value`=2) OR (`property_id`=3 AND `value`=3)
    GROUP BY product_id
    HAVING count(*) = 2

    , и при условии, что я угадал то, что вы хотите.
    Ответ написан
    2 комментария
  • Программист должен помнить или понимать?

    @Vitsliputsli
    Я понимаю что нужно запомнить как допустим пишется слово "while" или "for" в Python
    Но мне нужно заучивать функции из модулей ?

    Не заучивайте синтаксис, оставьте память для важных вещей, синтаксис всегда можно подсмотреть. Вы должны знать что есть циклы и ветвления, но как они пишутся в конкретном языке вы запомните после многократного использования или незапомните, если не так уж и нужно. Запоминайте действительно важные вещи, которые нельзя посмотреть, к примеру, что ошибки нужно обрабатывать через выбрасывание исключений и их обработку, а уже далее спросить как, можно и у Гугла. Исходите из того, что все уже реализовано до нас и достаточно правильно написать запрос Гуглу. Это не отменяет чтение документации, но ее нужно изучать, а не зубрить.
    Ответ написан
    Комментировать
  • В чем хранить большие ID-шники: в VARCHAR или в BIGINT?

    @Vitsliputsli
    Varchar. Лучше, конечно, int, но раз вопрос возник, то varchar. Используйте int тогда, когда можете применить к ним арифметические операции, суррогатный ключ тоже подходит. С натуральными ключами следует быть осторожным, т.е. лучше заранее предусмотреть, что в ключе из 5-10 цифр вдруг появятся символы или ведущие нули.
    Ответ написан
    Комментировать
  • POST для получения данных?

    @Vitsliputsli
    Насколько плохо использовать POST для получения данных и в боди передавать параметры?

    Филдинг, когда описывал архитектуру REST, ни слова говорил о методах http. С другой стороны, методы http настолько обобщены, что говорить о каком-то "правильном" использовании не приходится, но тем не менее, для получения более привычно использовать GET. Используя POST вы рискуете вызвать непонимание людей, которые будут поддерживать этот код. Но зачем?
    Ответ написан
    4 комментария
  • Меня уволили. Что мне думать?

    @Vitsliputsli
    Увольнение это обычное дело, не преувеличивайте его значение. "непродуктивно работаешь" - это хрень, а не причина, при нормальном руководителе, вы бы знали причину, а не гадали. Вы правильно заметили, что руководитель обязан был заранее обговорить с вами, что не получается, что он ожидает от вас, и как этого можно добиться. К сожалению, некомпетентность руководителей это повсеместная проблема. Я не думаю, что вы сможете что-то выяснить у них, тем более после увольнения, но если есть желание попробуйте, за спрос не бьют. А причины могут быть совсем с вами и не связаны...
    Позанимайтесь самокопанием некоторое время, а затем назовите их всех козлами и идите дальше. За время самокопания быть может найдете моменты, которые следует подкорректировать. Но только если они явные, в противном случае вы скорее всего их выдумали.
    Обязательно спросят почему ушли, постарайтесь сказать что-то представляющее вас в хорошем свете, но недалёкое от истины. В этом вопросе универсального хорошего совета нет.
    На собеседования идите, как вернётся нормальный настрой, но затягивать тоже нельзя. То что вы не сработались с кем-то не делает вас конфликтным или нежелательным работником. Мысли что вы сделали не так от вас не отстанут, но в жизни это не самое выносящее мозг испытание.
    Ответ написан
    1 комментарий