• Как передать значение выбранной переменной из php-скрипта в javascript (ajax)?

    @SergeyZelensky-Rostov
    echo json_encode( array('perem' => $perem));
    Ответ написан
    Комментировать
  • Как удалить все повторяющиеся вариации?

    Сортировать слова — слишком просто. Можно разбить строку на слова (не забыв привести их к одному регистру). Потом каждое слово хэшировать. Затем полученные хэши складывать (как числа) и сумму использовать в качестве хэша словосочетания. Ну а дальше на выходе объект. По массиву исходных строк пробегаем в цикле, каждую строку добавляет в выходной объект, в качестве ключа используя хэш. Если такой ключ уже использовался, предыдущее значение будет перезаписано. Все выходит элементарно и красиво, однострочное тело цикла уникализации. Попутно не забыть придумать механизм борьбы с коллизиями.
    Почему бы и нет?
    d0e7323f980a.jpg
    Ответ написан
    3 комментария
  • Как удалить все повторяющиеся вариации?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    можно отсортировать слова в алфавитном порядке, затем удалить дубликаты строк.
    Ответ написан
    Комментировать
  • Насколько критично в PHP использовать shell_exec?

    nazarpc
    @nazarpc
    Open Source enthusiast
    wget, mv, cp, php, rm все легко делаются на чистом PHP. Если это всё, для чего вам нужен shell_exec - то вам не нужен shell_exec.
    Ответ написан
    3 комментария
  • Предварительное кеширование страниц?

    @kazmiruk
    Это называется "прогрев" кеша, ничего плохого в идеи нет
    Ответ написан
    Комментировать
  • Какие имена директорий сделать для крупного проекта?

    27cm
    @27cm
    TODO: Написать статус
    Хранить ведущие нули в именах папок - лишнее. В целом решение вполне норм, вот только если пользователей, как вы написали, в перспективе станет 100 000+, то это это уже 100 000+ папок и опять возникает та же проблема.

    Можно делать, например, как в git: берем хеш sha1 от данных файла, создаем папку из первых двух (или более) символов этого хеша, а внутрь заливаем данные. Получится что-то вроде:
    /a4/b7fce097055c3cbd6879db9625f9a3890cc409.jpg
    /a4/a66ce019422c3cbcbd69db9625f9a3890cda83.jpg
    /8c/3c7fbcd903744b20fd7567a1fcefa99133b5bc.jpg
    /e9/65047ad7c57865823c7d992b1d046ea66edf78.jpg
    (Всего не более 256 папок)

    Или если все файлы пронумерованы:
    /a4/1.jpg
    /a4/2.jpg
    /8c/3.jpg
    /e9/4.jpg

    При таком подходе вы сами сможете регулировать количество папок, уровень вложенности и среднее число файлов в папках.
    Ответ написан
    Комментировать
  • Насколько устойчив этот метод шифровании?

    laska
    @laska
    PHP/JS разработчик
    Никогда, ну то есть совсем никогда не используйте придуманные вами методы шифрования.

    Любой человек, который разбирается в шифровании лучше вас (поверьте, это скорее всего вообще любой человек который попытается расшифровать ваш код) расшифрует его очень быстро. Минуты или часы - это будет зависеть от того, что он получит. Если он получит строку просто HGZPLCE_VTJ, без всякого контекста, то вам беспокоится не надо. В противном случае надо.

    В любом случае, вы изобрели плохенькую симметричную криптосистему, В пхп есть встроенная и хорошая: mcrypt, используйте ее.
    Ответ написан
    3 комментария
  • Как выложить Delphi проект на GitHub (Bitbucket)?

    LeEnot
    @LeEnot
    Енот-андроид
    1. Скачиваете и ставите Git for windows
    2. Скачиваете и ставите Tortoise git
    3. Создаете пустой проект в веб-интерфейсе bitbucket
    4. Копируете из веб-интерфейса ссылку вида https://ваш логин@bitbucket.org/название репозитория/ваш проект.git
    5. Правой кнопкой в нужном месте -> Git Clone, вводите ссылку из пункта 4, далее запросит пароль
    6. Теперь у вас есть папка проекта, находящаяся под контролем git. (Признак - в ней будет подпапка .git)
    7. Кладете в папку проекта нужные файлы, выделяете их, правой кнопкой - Tortoise git -> Add, выбираете файлы для добавления под контроль git
    8. Правая кнопка -> git commit - это добавит локальный "слепок" репозитория
    9. Git push - ввод пароля от репозитория - вуаля - ваши файлы на битбакете
    Ответ написан
    Комментировать
  • Как вывести var_dump() читабельно?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    echo '<pre>';
    var_dump($var);
    echo '</pre>';

    И таки да, это print_r :)
    Ответ написан
    Комментировать
  • Как организовать временное хранилище для данных от нескольких форм?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Да в принципе можете и в локальной базе создать таблицу для временного заполнения форм. У юзера сохранять cookie, который будет ключем в вашей строке. С каждым сабмитом, юзер отправляет этот ключ и данные из одной из форм, локальная временная таблица дополняется. При нажатии большого сабмита, из временной таблицы уже идет в главную.
    Периодически удалять старые записи временной таблицы, если они там висят например больше суток, ну и cookie делать тогда устаревающим за сутки
    Ответ написан
    1 комментарий
  • Почему не все серверы пишутся на Node js?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. Принципиальных качественных преимуществ у node.js перед остальными языками нет, как впрочем и недостатков. Просто yet another язык со своими особенностями. Соответственно если в вопросе заменить node.js на php/ruby/python итд - ничего не изменится.
    Вопрос по сути абстрактный "почему все не перешли на язык %%%%%"

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

    UPD
    hbrmdc
    У NodeJS есть уникальные и очень весомые преимущества, которых нет ни у одного другого языка. Например то, что это JS, и, следовательно, нет необходимости разучивать лишние языки - можно весь webapp писать на js.
    Личные предпочтения обоснованные привычками - это не имеющий значения аргумент в данном вопросе.

    1) Есть отличия, да. Только не те о которых Вы пишите. То что это "JS" вообще ни на что не влияет.
    JS хорошо знают фронтендщики - а кто пустит фронтэндщика к внутренней архитектуре? Там подход совершенно другой нужен, другие навыки, другое понимание как это все работает. Просто пересадить человека с фронта на бек - нельзя.

    На самом деле основные отличия другие:
    Постоянно живущий процесс, фактическая однопоточность. В зависимости от задачи - это может быть и плюсом и минусом. Условно для какого нибудь сокет-сервера - плюс (активно используем на живых проектах). Для middleware - я бы подумал. Для нагруженного сервиса с расчетами - точно нет.

    2) Личные предпочтения обоснованные привычками это основной аргумент.
    Я вот умею в php, умею в ноду, умею в еще десяток умных слов.
    Мне нужна новая команда на новый проект.
    Я открываю hh и что я вижу: node.js 279 резюме из которых половина фронтэндщики.
    PHP - 9613 резюме. Даже если 90% разработчиков PHP на hh - уроды которых к коду нельзя подпускать на пушечный выстрел - останется все равно в 3 раза больше чем есть node.js.
    Собственно на этом выбор и закончен.

    На малопопулярных языках пишут в случаях:
    a) это мелкий сервис с неявными перспективами который можно переписать за неделю
    б) это проект "для души" разработчика.

    Получается замкнутый круг на самом деле.
    Менеджер смотрит резюме, резюме на node.js нет =>
    Менеджер не начнет проект на node.js =>
    Не возникнет вакансия на node.js =>
    Разработчик анализируя вакансии не увидит вакансий на node.js =>
    Разработчик будет учить что то другое =>
    Менеджер смотрит резюме, резюме на node.js нет...

    Переломить ситуацию могут только очень крупные игроки обладающие возможностями формирования рынка (например Apple и Swift), и то не со 100% гарантией (samsung&c и Tizen)
    Ответ написан
    13 комментариев
  • Почему не все серверы пишутся на Node js?

    mannaro
    @mannaro
    Умею профессионально гуглить
    Есть Ассемблер.
    Но если он есть, на нем все возможно, и в добавок он соображает быстрее того же C++, то почему еще существуют другие решения в мире софтовой разработки?

    Традиции, привычки и необходимость поддерживать существующие проекты не в счет. Мне интересно, почему новые проекты пишутся не всегда на ассемблере?
    Ответ написан
    14 комментариев
  • Как не прописывать действие для каждой операции сравнения?

    gunlinux
    @gunlinux
    Freelancer
    Наследование, настало твое время?

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

    Смотреть, от чего наследоватся, можно, например, по __slots__, dir или в документации.
    Ответ написан
    4 комментария
  • У кого-нибудь есть скрипт для отправки смс оповещений?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    file_get_contents("http://sms.ru/sms/send?api_id=<ваш ключ api>&to=<номер куда слать>&text=<тут ваш текст>");
    Ответ написан
    Комментировать
  • Какова ответственность на разработчике?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Хочу узнать есть ли опасность (ответственность в случае чего) для разработчика в плане закона и стоит ли вообще связываться с такими проектами?

    Когда в голове начинают крутиться подобные мысли - уходим сразу, вне зависимости от тематики проекта.
    Ответ написан
    Комментировать
  • Как переместить файл в c++?

    @vilgeforce
    Раздолбай и программист
    MoveFile/MoveFileEx, примеры - в MSDN. Хотя с вашим ником вы должны его наизусть помнить и не задавать таких вопросов.
    Ответ написан
  • На чем писать программы под Linux?

    @vilgeforce
    Раздолбай и программист
    С/C++ если вам нужен нативный код. Python еще можно использовать, но нужен интерпретатор, хотя в линухах он обычно есть.
    Ответ написан
    Комментировать
  • Как скрыть данные доступа к базе MySQL?

    mgyk
    @mgyk
    node.js это серверный фреймворк, а не клиентский.
    Ответ написан
    4 комментария
  • Как в django вместо удаления модели помечать ее?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    class PhotoAdmin(admin.ModelAdmin):
        def get_queryset(self, request):
            queryset = super(PhotoAdmin, self).get_queryset(request)
       
            return queryset.filter(delete=0)
    Ответ написан
    Комментировать