• Функцию, похожую на хэш, с коротким непоследовательным дайджестом и без коллизий?

    @MikeMirzayanov
    Можно так. Работает для всех m от 1 до MOD-1. Если не хватает, то можно либо увеличить константы (тогда может вырасти длина), либо чуток адаптировать алгоритм. Я подогнал, чтобы было как в примере 6 знаков в коде. На самом деле можно все делать в 64-битных переменных, просто так на Java удобнее.

        private static final BigInteger MULTIPLIER = BigInteger.valueOf(13L);
        private static final BigInteger MOD = BigInteger.valueOf(99990001L);
        private static final BigInteger ADDEND = BigInteger.valueOf(699930007L);
    
        public static String encode(long m) {
            if (m <= 0 || m >= MOD.longValue()) {
                throw new IllegalArgumentException("Argument is out of range.");
            }
            return BigInteger.valueOf(m).modInverse(MOD).multiply(MULTIPLIER)
                    .add(ADDEND).toString(36).toUpperCase();
        }
    
        public static long decode(String encoded) {
            return new BigInteger(encoded.toLowerCase(), 36).subtract(ADDEND).divide(MULTIPLIER)
                    .modInverse(MOD).longValue();
        }
    


    Вот примеры того, что получается (для разных m):

    1 BKPXGK
    2 MBOAIK
    3 PWNQV8
    4 RP5H1K
    5 SRUICK
    10000 X2JV9T
    10001 PWMTFN
    10002 U025II
    10003 TRK6AU
    10004 JRJEMK
    10005 UARMRU
    10006 S2NCNJ
    10007 R1E1UK
    10008 HRCMBX
    10009 WU4GN7
    99989996 FVI2O7
    99989997 GY73Z7
    99989998 IQOU5J
    99989999 MBOAI7
    99990000 X2MNK7
    
    Ответ написан
    Комментировать
  • Что не так с Yii2 rest api авторизацией?

    mendler
    @mendler
    Senior Web Developer
    data: {access_token:'1NLS4Os8zNwdeImN2hUUcaDpnTzNrfeM'}

    Ключ access-token, а не access_token,
    https://github.com/yiisoft/yii2/blob/master/framew..., строка 21
    Если необходим access_token, то нужно переопределить в настройках поведения.
    Ответ написан
    1 комментарий
  • Как получить все даты с 01-01-2014 по сегодня с помощью простого mysql-запроса без хранимы процедур?

    @feldwebel
    То ли дело в postgreSQL:
    SELECT * FROM generate_series('2014-01-01'::timestamp, now(), '1 day');
    Ответ написан
    Комментировать
  • Хранить ли изображения в базе данных?

    petermzg
    @petermzg
    Самый лучший программист
    Файловая система, эта таже самая база данных. Так что храните спокойно все изображения в blob полях базы данных.
    Плюсы:
    - Удобнее будет делать бекапы (все в базе)
    - Контролируется целостность данных
    - Скорость доступа к данным сопоставима с файловой системой.
    Ответ написан
    Комментировать
  • В чем причина "No input file specified" через некоторое время успешной работы NGINX + PHP-FPM?

    sim3x
    @sim3x
    Включи логи фпм
    Если у ты не хостер, то стоит поставить себе process manager static нагрузить себя запросами и подобрать pm.max_children так чтоб на бд и фронт у тебя хватило памяти

    Почитай, что тебе в дефолтном конфиге фпм пишут

    ; Error log file
    ; If it's set to "syslog", log is sent to syslogd instead of being written
    ; in a local file.
    ; Note: the default prefix is /var
    ; Default Value: log/php-fpm.log
    error_log = /var/log/php5-fpm.log
    
    ; Log level
    ; Possible Values: alert, error, warning, notice, debug
    ; Default Value: notice
    ;log_level = notice


    ; Choose how the process manager will control the number of child processes.
    ; Possible Values:
    ;   static  - a fixed number (pm.max_children) of child processes;
    ;   dynamic - the number of child processes are set dynamically based on the
    ;             following directives. With this process management, there will be
    ;             always at least 1 children.
    ;             pm.max_children      - the maximum number of children that can
    ;                                    be alive at the same time.
    ;             pm.start_servers     - the number of children created on startup.
    ;             pm.min_spare_servers - the minimum number of children in 'idle'
    ;                                    state (waiting to process). If the number
    ;                                    of 'idle' processes is less than this
    ;                                    number then some children will be created.
    ;             pm.max_spare_servers - the maximum number of children in 'idle'
    ;                                    state (waiting to process). If the number
    ;                                    of 'idle' processes is greater than this
    ;                                    number then some children will be killed.
    ;  ondemand - no children are created at startup. Children will be forked when
    ;             new requests will connect. The following parameter are used:
    ;             pm.max_children           - the maximum number of children that
    ;                                         can be alive at the same time.
    ;             pm.process_idle_timeout   - The number of seconds after which
    ;                                         an idle process will be killed.
    ; Note: This value is mandatory.
    pm = static
    Ответ написан
    Комментировать
  • Что такое код энтерпрайз уровня?

    @raiboon
    Вспомни свой самый ужасный код. Перепиши его строчка-в-строчку на Java, дописав минимум по пять интерфесов на каждую сущность. Теперь представь, что это код в десять раз хуже.
    Вуаля - ты получил представление о тру-интерпрайзе.
    Ответ написан
    1 комментарий
  • GIT: Как подсчитать вклад каждого разработчика?

    @barbarisbk
    просто количество коммитов по пользователях
    git shortlog -s -n
    Ответ написан
    Комментировать
  • Как найти работу PHP Junior'у?

    varg242
    @varg242
    Начать общаться с лидами из конторы в Москве. Напрашивайтесь.
    Зарегаться на «Моём Круге», добавиться ко всем HR-ам Москвы и Санкт-Петербурга (никто не будет на вас смотреть как на дурака, у людей там тысячи в первом кругу и это нормально).

    Рекламируйте себя. Напрашивайтесь.

    Рано или поздно на вас обратят внимание.

    На собеседование не тупите, но и старайтесь не выглядеть совсем роботом. Напрашивайтесь :-)
    Ответ написан
    1 комментарий
  • MySQL клиент для Linux

    Gorthauer87
    @Gorthauer87
    Программист
    mysql workbench есть, но он весьма кривой. Самый лучший, что я видел, это Sequel-Pro но он маковский.
    Ответ написан
    1 комментарий
  • Как узнать IP нападающего за proxy cервером/и?

    Begetan
    @Begetan
    Сначала думайте, потом делайте!

    Ответ написан
    Комментировать