• Как работать со сторонним API из Yii2?

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

    Antonchik
    @Antonchik
    Программирую на HTML
    1. Делаем нейронную сеть
    2. Обучаем её
    3. Пишем для неё веб интерфейс
    4. Профит
    Ответ написан
    Комментировать
  • Как сделать управляемый интерфейс?

    @MarkusD
    все время мелю чепуху :)
    Макар Герасимов , такс, для начала отключись от рисования и восприятия процесса глазами.

    Первое, что тебе надо - это модель игрового поля. Модель - от слова "данных". В первую очередь тебе надо представить игру в виде модели данных, а не визуального представления. Вот давай пробуем...

    Тетрадный лист в клетку напоминает что? - правильно, двухмерный массив. Стало быть, игровое поле удобно представить в виде двухмерного массива. А какой тип ячейки массива? - раз у нас игра про слова, которые по буквам пишутся в клетках, то, пожалуй, в ячейках надо хранить символы.

    Крутяк, придумали игровое поле, в котором хранятся символы! Только заметь, символа в ячейке может и не быть.

    Хорошо, идем дальше. У нас есть два игрока, которые могут писать слова.
    Ага... Если писать, то надо знать - куда. Пользователю нужно указание, куда он сейчас будет писать - указать ячейку, в которую он сейчас поставит символ. А ячейки у нас в двухмерном массиве. Удобнее всего будет хранить координаты текущей ячейки пользователя!

    Стало быть, пользователь у нас, как минимум, определяется координатами выбранной им ячейки на поле.

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

    Когда пользователь вводит слово, нужно ограничивать движение его выделения только соседними клетками. Поставил пользователь первый символ, все, он вводит слово.

    И заметь, это все полностью отвязано от графического представления. Сперва всегда надо продумывать именно модель данных.
    На данном этапе описания у нас есть поле, пользователи с их выделениями и введенные слова. Модель данных дает полное представление как ее представлять пользователю.

    Ну разве проблема отрисовать двухмерный массив символов? А по координатам закрасить другим цветом выделенную пользователем ячейку?

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

    Когда твоя модель данных игры будет хоть немного готова, ее можно будет без труда хоть в консоль рисовать, хоть на поверхности окна.
    Модель - это набор классов со связями. Поле, игра, игрок, ход, слово, словарь, таблица введенных слов... символ слова(?). Полный список сущностей ты знаешь лучше меня. Просто думай на уровне данных. Тогда и управлять ими сможешь. :)
    Ответ написан
    4 комментария
  • Как сделать управляемый интерфейс?

    @Mercury13
    Программист на «си с крестами» и не только
    Дело тут вот в чём. Оконные ОС работают в событийном режиме: пришло событие «перерисовать», мы рисуем; пришло событие «щёлкнуть», мы щёлкаем. Но поскольку учебным программам надо быть предельно простыми, куда удобнее написать: нарисовать, дождаться нажатия клавиши — как во времена ДОС, когда процессорное время было полностью вашим от точки входа до передачи управления, когда был прямой доступ к видеопамяти… Для консольных программ всю эту событийщину скрыли, хитрым образом на уровне ОС засинхронизировав два потока: один отвечает за поддержание консольного окна, второй — собственно программа. А Pascal.ABC пришлось наладить простейшую эмуляцию, сделав «видеопамять» в виде внутреннего буфера.

    Так что придётся подключать события — см. pascalabc.net/downloads/pabcnethelp/scr/PABCUnits/... — и смотреть, какие в этой абстракции найдутся дыры. А они, по Спольскому, будут обязательно: TCP — это протокол гарантированной доставки, но кто её гарантирует, когда физически выдернули провод…
    Ответ написан
    9 комментариев
  • Как сделать управляемый интерфейс?

    ThePyzhov
    @ThePyzhov
    iOS Ninja
    Слишком уж заморочисто делать Балду через словарь. Проще сделать проверку другим игроком: игрок А ввел слово и когда нажал кнопку "ОК", у игрока Б высвечивается текст бокс с выбором, применять ли введенное слово или нет (т.е. существует ли такое слово или нет).

    Ни разу не видел чтобы кто-то пользовался UP, DOWN - стрелками. Юзайте мышь. Отслеживайте просто координаты попадания курсора в клетку ячейку, и если она пуста, подсвечивайте каретку для того чтобы пользователь мог ввести букву. А далее запускайте выбор слова поочередным кликом по соседним буквам до тех пор, пока не будет нажата кнопка "ОК", ну или применить.
    Ответ написан
    3 комментария
  • Как сделать такую анимацию?

    mudrenokanton
    @mudrenokanton
    frontend dev
    style="transform: translate3d(-695.182px, 0px, 0px);

    прям копипастнул вам)

    Вообще конечно так:
    let translate3D = (x = 0, y = 0, z = 0, el = "px") => { return `translate3D(${x}${el}, ${y}${el}, ${z}${el})` };
    let imgObj = document.querySelector("#someIMG");
    let onScroll = (dy = 0, mult = 1) => { imgObj.style.transform = translate3D(dy * mult); }
    // и само событие onScroll естественно
    Ответ написан
    Комментировать
  • Какой выбрать способ сохранения изображения?

    Mouvdy
    @Mouvdy
    Один из вариантов - добавляете файл во временную директорию

    Далее проверяетесь к примеру раз в месяц last access time к этому файлу если FS позволяет и можете сравнивать и если нужно удалять

    я проверял last access time каждые 9 месяцев и удалял не используемый файл :)
    //у меня был сложный проект и нужно было именно каждые 9 месяцев проверять
    Ответ написан
    1 комментарий
  • В чем ошибка AJAX-запроса?

    alsopub
    @alsopub
    Английским по белому написано - отвечающий ресурс не выдает заголовок Access-Control-Allow-Origin, из-за чего ответ от него фильтруется и не передается скрипту.
    Ответ написан
    Комментировать
  • Как в Yii2 Advanced добавить через Composer в папку ..\frontend\web\css\ twitter bootstrap 3?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Bootstrap 3 устанавливается автоматически при установке Yii2 Advanced

    Вот только все что устанавливается через composer попадает в папку vendor
    Далее через assets менеджер он попадает в публичную папку assets

    Если по какой-то странной причине Вам надо его перенести - сделайте это ручками. Отключив его в конфиге и подключив вручную.

    Я бы оставил его там где он есть, тогда он будет обновляться. И все будет работать.
    Ответ написан
    Комментировать
  • Как реализовать на Yii2 систему подчи заявок?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Установить yii2 шаблон advanced
    Спроектировать и создать таблицу в БД. Сгенерировать через gii модель потом на ее основе сгенерировать через gii CRUD. Поработать напильником над сгенерированным кодом.
    Ответ написан
    Комментировать
  • Как использовать ReactJS если back-end на PHP?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Вам стоит получше разобраться в теме одностраничных (single page applictaion, SPA) приложений и такого понятия как REST API. То есть, вы на пхп будете делать только "апишку", которая будет отдавать json-данные, например - список продуктов, а на реакте уже это все показывать. Причем, ваше SPA может и скорее всего будет использовать и flux/redux и react-router и npm, но это все нисколько не помешает бэкэнду на php.
    Ответ написан
    4 комментария
  • Как сгенерировать вещественные числа?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    double getMyTime(int hours, int minutes) {
    	if (hours  <= 0 || hours > 24) {
    		throw InvalidArgumentException("hours");
    	}
    	if (minutes  < 0 || minutes > 59) {
    		throw InvalidArgumentException("minutes");
    	}
    	return hours + minutes / 100.;
    }
    Ответ написан
    3 комментария
  • Как сгенерировать вещественные числа?

    alsopub
    @alsopub
    Не совсем понятная задача.
    Если вам нужно случайное число, то как вариант сгенерируйте два целых случайных числа одно от 0 до 23, другое от 0 до 59. Ваш результат будет A + B/100.
    Ответ написан
    Комментировать
  • Верстка с macbook pro Retina?

    kawabanga
    @kawabanga
    Бью себя по рукам за каждый ответ на глупый вопрос
    Проблемы нет.
    Браузер имеет размер 1440 по ширине. А ресурсы будут отображаться в два раза больше.
    Ответ написан
    1 комментарий
  • Интерактивный редактор, какой фрейм лучше?

    AMar4enko
    @AMar4enko
    На стороне сервера чистите html любым доступным для вашего стэка инструментом.
    Ответ написан
    2 комментария
  • Как вывести доп поле в pdoPage на ShopMini2?

    Тоже сталкивался с этой проблемой. Решение:
    Когда мы выводим доп.поле в pdoResources, мы пишем:
    &includeTVs=`tv.brand,tv.price`.
    А вот в pdoPage нужно указать отдельно этот пресловутый префикс "tv." следующим образом:
    &tvPrefix=`tv.`,
    а потом уже указать сами доп.поля уже без префикса. Вызов сниппета будет выглядеть так:
    [[!pdoPage?   
      &element=`msProducts`
      &parents=`18`
      &tpl=`tpl.msProducts.row`
      &tvPrefix=`tv.`
      &includeTVs=`brand`
    ]]
    Ответ написан
    Комментировать