• Как найти/выявить похожие картинки?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Как ответили выше, сегодня уже полно готовых велосипедов для этого.
    Раньше это делалось например так:
    1) При загрузке изображение конвертируется в grayscale (обесцвеченное) и уменьшается в размерах (например, до 10-15 пикселов по наибольшей стороне)
    2) Полученная мелкая картинка преобразовывается в хэш
    3) По базе ранее загруженных изображений выполняется поиск этого хэша
    4а) Если совпадений нет - загрузка подтверждается, в базе делается новая запись
    4б) Если совпадения найдены - выдаётся ответ о том, что такое изображение уже есть
    Ответ написан
    1 комментарий
  • React пару вопросов?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    1) package.json, не packed.json. В зависимостях проекта есть, в подключениях самого проекта - нет.
    2) Для продакшн лучше импорт внутри скриптов и сборка в бандл используя Webpack
    3) Переписать, вырезав jQuery в принципе
    4) Nginx, Apache, что угодно
    Ответ написан
    2 комментария
  • Как происходит совместная работа бэкенд- и фронтенд-разработчиков над большими проектами?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Фронт и бэк оба на js, внутри одного проекта. Внутри папки src две папки: app для клиентского приложения и общего для фронта и бэка кода (сервер использует код клиента, но клиент не использует код сервера). На выходе и фронтендщиков и бэкендщиков постоянно актуальный единый проект, настроенный на одну базу данных, а они уже сосредотачиваются внутри своих папок.
    Ответ написан
    Комментировать
  • Есть ли готовые "обёртки" на mongodb с таким функционалом.....?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Mongoose пробовали?
    Ответ написан
    Комментировать
  • Как реализовать кнопку "Показать еще "?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    1) Грузим первые N записей и получаем признак есть ли ещё записи после них
    2) Запоминаем id последней загруженной и признак есть ли ещё
    3) Если есть ещё, показываем кнопку "Загрузить ещё", на нет и суда нет, return;
    4) При нажатии кнопки "Загрузить ещё" передаём сохранённый id, чтобы бэкенд грузил следующие с id меньше, чем мы передали
    Повторить пока не юзер не загрузит все оставшиеся записи
    Ответ написан
    Комментировать
  • Как обойтись без глобальных переменных в React приложении?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Завести какой-нибудь файл, в котором
    export const ee = new EventEmitter();

    Там, где она нужна,
    import { ee } from './any-file-name';
    Ответ написан
    2 комментария
  • Webpack. Разные пути в собранных файлах?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Как подметили выше, лучший способ - передавать желаемые значения через env-переменные. Если --env не устраивает, советую использовать cross-env (смотри на npm), чтобы одинаково работало на винде и *nix.
    Ответ написан
    Комментировать
  • Какой редактор кода выбрать для мак?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Как ни щупал VS Code, как ни балдел с его быстродействия, всё равно удобнее чем WebStorm ничего не знаю
    Ответ написан
    Комментировать
  • React: как импортировать из директории выше src?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Забить на create-react-app, настроить конфиги самому, создать структуру
    - src
    -- common
    -- client
    -- server

    Правда, в случае с изоморфным приложением, которое умеет рендериться на сервере, разделение на client и common неактуально, т.к. всё, что связано с клиентом, будет использовано и на сервере, но всё, что связано с сервером, не будет использовано на клиенте. Так что я бы посоветовал такую структуру:
    - src
    -- app
    -- server
    Ответ написан
    Комментировать
  • Какой тип оценки контента лучше на сайте, like - dislike, оценка по шкале или комбинированные варианты?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Лайк-дизлайк, а для гугловской разметки можно оценку преобразовывать в пятибалльную шкалу для вывода звёздочек рядом со ссылкой
    5/10-балльные шкалы, имхо, грузят юзера, нынче в моде простота - нравится или нет
    Ответ написан
    Комментировать
  • Sass, как собрать проект вебпаком?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    1) entry в вебпак-конфиге указать на точку входа js-скриптов
    2а) где-то в js импортировать главный scss файл, который будет импортировать в себя все остальные файлы стилей
    2б) в каждом js-компоненте импортировать соответствующий ему стилевой scss-файл (общепринятая практика в React, например, но тут кому как удобнее, это не требование)
    3) не забыть npm i --save-dev node-sass
    Ответ написан
  • Webpack. Как сделать чтобы файлы стилей компилировались ДО файлов html?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Можно заюзать HtmlWebpackPlugin, который умеет автоматом эмбеддить в выходной html ссылки на все сгенерированные Вебпаком ассеты
    Ответ написан
  • Как настроить автоматическое обновление html в webpack?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Стоит ли игра свеч? Так ли часто вносятся изменения в index.html? По идее, это просто точка входа, в которой подключаются зависимости. А подключение зависимостей можно автоматизировать и добавить к именам хэширование для предотвращения зажёвывания их в кэш браузера можно при помощи плагина HtmlWebpackPlugin. Будет сам обновлять и с перезагрузками всё в порядке будет.
    Ответ написан
    1 комментарий
  • Актуален ли сейчас redux для react?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Актуален, но мне больше нравится Mobx
    Ответ написан
    Комментировать
  • Что означает первый параметр в async функции koa?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Вместо req & res один параметр ctx, в котором доступны ссылки на заголовки и тело, отправляемые в ответ
    Это не только для async функции, а вообще в Koa

    ctx.body = { yo: 'Nigga' }
    Ответ написан
    Комментировать
  • Сложно ли будет программисту другой категории писать код для игр?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Начинал с php + примитивный js (сайты). Затем выпускал php + actionscript 3 (игры), затем c# (игры уже не на флэше, а на юнити), затем немного мобильных приложений (objective c), после вернулся в мир js, который в тот момент переживал значительные изменения (es6, webpack, react, vue...). Не сложно, правда в моём случае люблю писать именно сайты и игры.
    Ответ написан
    Комментировать
  • Направьте на толковый урок по связке node.js и MySQL?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Если хочется писать SQL запросы ручками, используйте https://github.com/mysqljs/mysql, если хочется обёртку, - Sequelize в помощь.
    Дополнительных уроков не нужно, достаточно мануалов по вышеперечисленным решениям, они понятные и подробные. И на русскоязычную документацию не рассчитывайте - привыкайте пользоваться англоязычной, это позволит и на Stackoverflow почти всегда решение вопроса найти.
    Ответ написан
    Комментировать
  • Как реализовать поиск по неполному вхождению?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Вижу обращение к переменной photos в листинге обработчик-post
    Не вижу её объявления
    Может, const photos = Photo.aggregate...?
    Ответ написан
    Комментировать
  • Есть ли смысл учить два фреймворка?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Щупать все, становиться ниндзей в наиболее понравившемся. Разработчики востребованы по всем трём популярным либам.
    Ответ написан
    Комментировать
  • Как лучше организовать структуру компонентов сайта React?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    • layouts - целиковые страницы: главная, авторизация, регистрация
      Внутри для каждой страницы папка, в которой можно держать сколь угодно относящихся только к этой странице компонентов - шапка этой страницы, меню этой страницы, вспомогательная фигня этой страницы, подвал этой страницы
    • components - повторно используемые в разных местах компоненты - инпуты, селекторы, галереи, эмбед видеоплеера и т.д.
      Также можно выделять сюда куски страниц (шапки, подвалы), используемые в нескольких layouts
    • styles - общеиспользуемые стили (здесь можно задать некий index с подключением к нему reset/normalize, шрифтов, эмоджи и т.д., а затем подключать его к App.jsx)

    Опционально можно выделить отдельную папку для App.jsx (при желании папку styles можно перенести туда же), либо определить его в layouts, как больше нравится, тут субъективно опираемся на внутреннее чувство фэн-шуя
    Ответ написан
    Комментировать