Задать вопрос
  • Игровые движки с поддержкой Lua и модификаций к игре?

    Adamos
    @Adamos
    cocos2d-x, например. Lua binding в наличии.
    Ответ написан
    Комментировать
  • Как защитить продукт от воровства?

    Adamos
    @Adamos
    Проект интересен только вам или потенциальным покупателям тоже?
    Если второе - вам нужны свои продажники, которые будут кричать о продукте громче, чем это могут сделать потенциальные воры.
    Битрикс вон тоже можно при желании скопировать, но попробуйте его продать...
    Ответ написан
  • Онлайн-курсы по алгоритмам или маленькая, но емкая книга?

    Adamos
    @Adamos
    Ответ написан
    Комментировать
  • Как запретить доступ к файлу с определенным именем независимо от папки?

    Adamos
    @Adamos
    RewriteRule ^.*/myscript\.php$ /404.php [L]
    Ответ написан
    Комментировать
  • Как включить возможность редактировать файл сразу несколькими пользователями?

    Adamos
    @Adamos
    Меняйте самба-сервер на офис-сервер. От OnlyOffice, например.
    Или просто пользуйтесь облаком от Яндекса или Гугля, они предоставляют возможности совместного редактирования документов.
    Ответ написан
    Комментировать
  • Как сделать mysql запрос?

    Adamos
    @Adamos
    WHERE LOCATE(filter_name, '$files') > 0
    Ответ написан
    Комментировать
  • Как пополнять словарный запас, развлекаясь?

    Adamos
    @Adamos
    читай/смотри и по ходу дела просто переводи незнакомые слова

    Здесь важная ошибка. Нужно не переводить слова, а узнавать их смысл.
    Именно этим неудачны двойные субтитры и билингвальные книги - они не позволяют погрузиться в язык, приходится постоянно "переключать контекст" с родного на иностранный.
    Иностранный язык эффективнее учится, если после приобретения необходимой базы не возвращаться на родной, даже если слово незнакомо. Пытаться понять его по контексту. Посмотреть в иностранном же толковом словаре. Запоминание переводов слов - довольно дурная практика, хоть и сильно распространенная. Точного перевода без знания нюансов не бывает, а словарь их теряет напрочь.
    Ответ написан
    Комментировать
  • Стоит ли брать MacBook Pro 13 128gb 2017 г. для backend и мобильной разработки?

    Adamos
    @Adamos
    Если один ноут в семье уже есть, а для нормальной работы все равно придется подключать этот мак к нормальному монитору - не проще его вовсе заменить десктопом за вдвое меньшие деньги с аналогичной производительностью и возможностью апгрейда? Боевая машинка не для игрушек легко впихивается в mini-ITX корпус и лишнего места не занимает. Мыши-клавы к нему на сдачу с Мака можно приобрести весьма фильдеперсовые.
    Хоть один винт на пару терабайт в доме будет. Все равно когда-нибудь понадобится ;)
    Ответ написан
    Комментировать
  • MySQL - Длина/Значения - int(1) и tinyint(1) - это то же самое? В чем разница?

    Adamos
    @Adamos
    Вы ошибочно полагаете, что (1) - это размер хранения данных.
    А это всего лишь размер отображения данных при выводе.
    Храниться значение все равно будет в одном байте или в четырех, в соответствии с типом.
    Ответ написан
    5 комментариев
  • Какую версию linux, выбрать для обучения?

    Adamos
    @Adamos
    Для обучения не нужно ограничиваться одной ОС, но нужно поставить себя в рамки, вынуждающие ей действительно пользоваться.
    Если вы будете продолжать сидеть в Виндах и ковырять Линукс потихоньку в виртуалке - процесс затянется.
    Я бы советовал сменить основную ОС на ту же Убунту (или, скорее, тот дериватив, который больше зайдет), сжечь мосты и все такое. А настройку серверов изучать, поставив в виртуалку все подряд по тому же списку. Работать все равно придется именно так.
    Таким образом, вы будете вынуждены ближе познакомиться с системой (работать-то как-то надо) и при этом не будете постоянно доводить ее до проблем, которые сами не сможете решить без переустановки.
    Ответ написан
    Комментировать
  • Что значит базовая математика для программиста?

    Adamos
    @Adamos
    ЕГЭ проверяет умение учеников решать задачи, и за это его авторов ждет отдельный котел со всеми удобствами.
    Потому что главная задача математики - научить ставить задачи. Математическая подготовка нужна именно для того, чтобы по конкретной ситуации составить математическую задачу, имеющую решение.
    Впрочем, судя по слову "по не многу", я зря трачу минуты и байты на философию...
    Ответ написан
    Комментировать
  • Как правильно писать на ООП?

    Adamos
    @Adamos
    ООП - это компьютерная мечта о дамской сумочке. Которая большая внутри и крошечная снаружи.
    Главное в хорошем классе - это интерфейс, позволяющий вообще не думать о том, что находится внутри класса.
    Представьте себе черный ящик, решающий вашу задачу. Сформулируйте, каких внешних данных ему должно быть достаточно и какими внешними же признаками и логикой должен обладать этот ящик. Старательно абстрагируясь от того, что там будет происходить внутри (процедурное программирование приучает думать об этом, придется напрячься).

    Простейший пример - jQuery.cookies. Кукисы в браузере хранятся неудобно для редактирования, но это проблемы внутри черного ящика, снаружи их быть не должно. Снаружи вам надо поставить куку и прочитать куку. С коротким списком возможных свойств. Вот это класс и реализует, вполне успешно. Буквально одним методом.
    Мог бы этот метод быть простой процедурой? Да, конечно. Но как раз это - неважно.
    Ответ написан
    2 комментария
  • Как перенаправить браузер с http:// на file://?

    Adamos
    @Adamos
    Адрес file:// открывается браузером только в двух случаях.
    1. Если это адрес открываемой страницы (непосредственно пользователем открываемой, через меню "открыть" или вбиванием адреса в адресную строку).
    2. Если этот адрес - ссылка на странице, имеющей адрес file://
    Любые другие варианты считаются небезопасными по умолчанию, и без специально выполненной пользователем перенастройки браузера работать не будут.
    Ответ написан
  • Фреймворк или чистый код для разработки социальной сети?

    Adamos
    @Adamos
    Большая часть требований - это обычный функционал обычной CMS.
    Взяв голый фреймворк, вы нагородите велосипедов, которые будут работать медленнее и глючнее уже кем-то отлаженных решений. То есть вы получите ровно то, от чего хотите спастись, выбрав фреймворк.
    На голом пыхе все будет еще более клинично, скорее всего, вы просто сорвете все сроки либо заказчик охренеет столько платить.

    Берите CMS с фреймворком под капотом и не пытайтесь создать вселенную за семь дней. Если, конечно, ваша цель - не обучение, болезненное и убыточное.

    P.S. Оптимизация самопальной соцсети под высокую нагрузку (при статистике провалов таких проектов практически 100%) - это что-то вроде эргономики нижней стороны туалетного сиденья. Может быть очень увлекательно, но никогда не будет полезно.
    Ответ написан
    Комментировать
  • А можно ли, создать железный Интернет браузер, который будет полностью изолирован от OS?

    Adamos
    @Adamos
    Браузер - наиболее часто обновляемая программа в современных ОС.
    При этом за любым браузером стоит команда высококлассных спецов - и все равно в каждом обновлении латают обнаруженные дыры.
    Железное воплощение программы в первую очередь затрудняет ее обновление.
    Так что ваша идея - "давайте ходить на четвереньках, так же быстрее должно быть".
    Ответ написан
    4 комментария
  • MySQL server has gone away. Как исправить?

    Adamos
    @Adamos
    $col_article      = intval( $col_article );
    $col_name      = intval( $col_name );
    
    if($col_article == 0) {
      $col_article = "";
    }
    if($col_name == 0) {
      $col_name = "";
    }

    foreach(['col_article', 'col_name'] as $field) {
      $$field = (int) $$field;
      if($$field === 0) $$field = '';
    }

    $sql = "SELECT searchArticle and brand from `dk_prices` where searchArticle = ?s and brand = ?s";
        $result = $db->query($sql, $articleSearch, $brand);
        if(mysqli_num_rows($result) > 0) {
          $sql = "UPDATE `dk_prices` SET ?u WHERE searchArticle = ?s and brand = ?s";

    INSERT INTO dk_prices SET ?u ON DUPLICATE KEY UPDATE ...
    Ответ написан
  • Система оплаты на сайте?

    Adamos
    @Adamos
    Да можно просто на втором сайте продавать ключи доступа к первому.
    Но что-то эта схема попахивает, а у Палки на такой запашок чутье натренированное...
    Ответ написан
    Комментировать
  • Как научится понимать Bitrix за один вечер?

    Adamos
    @Adamos
    1. Стоит сделать себе копию сайта.
    Править Битрикс на живом сайте человеку, который в нем не разбирается - весьма рискованно и чревато.
    2. Вам обязательно нужен административный доступ к сайту, иначе вы не сделаете ничего в принципе.
    3. Основной шаблон - делаете копию папки, которая используется сейчас (какая-то из /bitrix/templates - какая именно, смотрите в админке). Там правите основные два файла - header.php и footer.php, прописываете стили в .css файлах, туда же сваливаете нужные для дизайна картинки.
    4. Дальше идете по всем подряд страницам и смотрите, где, кроме основного шаблона, используются компоненты (там останется старый дизайн). Ходите администратором, включив в верхней панели "режим правки". Он позволяет увидеть, где какой подключен компонент и шаблон к нему.
    Важно! Не правьте шаблоны, если они не в вашей папке! Сначала скопируйте (все тот же режим правки позволяет это сделать).
    5. Учите РНР, если еще не знаете. Придется.
    Ну, и удачи. Привет от скряги Авгия...
    Ответ написан
    Комментировать
  • Переадресация после оплаты Robokassa?

    Adamos
    @Adamos
    Пользователь зашел к вам на сайт.
    Создал заказ, вы отправили его на Робокассу оплачивать.
    Он там оплатил, Робокасса вернула его к вам на сайт.
    На этот момент никакой информации об оплате вы еще можете не иметь. Оплата через мобильную коммерцию вообще может идти час и более.
    Потом Робокасса дергает-таки ваш обработчик, и вы узнаете об оплате.
    Если пользователь при этом у вас на сайте - вы еще можете ловить это событие и куда-то его перебрасывать. Ну, или в следующий заход.
    Раз вы фронтендер, вам, наверное, нетрудно будет выдать юзеру оповещение о том, что оплата прошла и теперь он может куда-то там перейти.
    Ответ написан
    Комментировать
  • Как правильно спроектировать базу данных для хранения расписания экскурсий?

    Adamos
    @Adamos
    Зачем хранить тонны информации, которая уже завтра станет неактуальной. Храните одну запись - с перечисленными вами данными.
    А для конкретного дня делаете 2 запроса к базе. Сегодня будут экскурсии, у которых:
    1. Дата начала - сегодня.
    2. Дата начала в прошлом и:
    2.1 повтор - ежедневно
    2.2 повтор - еженедельно и сегодня тот же день недели (разница в днях кратна 7). Можно оптимизировать, записывая день в отдельный столбец, чтобы не вычислять его каждый раз.
    2.2 повтор - ежемесячно и сегодня тот же день месяца. Тоже возможна оптимизация.
    И все. Благодаря тому, что вы не будете пихать в таблицу ежедневные записи, она останется небольшой, и по ней вполне можно будет ходить такими запросами без особых тормозов.

    Естественно, сразу предусмотреть архивацию устаревших экскурсий. Флагом-датой в той же строке или отдельной таблицей, где на один столбец (дату окончания) больше и куда сбрасываются устаревшие данные.
    Ответ написан
    3 комментария