• Могу ли я изменять значение less переменной из Angular контроллера?

    mlnkv
    @mlnkv
    JavaScript Developer
    Наверное вы не совсем правильно себе представляете что такое less и как он работает, это невозможно
    Ответ написан
    Комментировать
  • Как написать хороший gulp.js?

    @Freehead
    Вот отличный скринкаст, плюс все примеры выложены на гитхаб
    https://learn.javascript.ru/screencast/gulp
    Ответ написан
    Комментировать
  • Существует ли "карта программиста"? Что и за чем учить?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Я программист с 15-летним стажем активной работы. Программирование - это инструмент для разработки ПО. Такой же как умение ходить для свободного перемещения из точки А в точку Б. Когда ребёнок рождается, нет никакой карты, в которой бы было указано - в какой последовательности он должен изучать ходьбу, чтобы стать в итоге полноценным человеком. Так и в разработке ПО - нет никакой последовательности. Вам нужно изучать всё сразу, понемногу. Причём не теоретически, а практически. Ребёнок не читает книг по развитию умения ходить, не слушает лекции от родителей. Он сразу пробует. Падает, и снова пробует. Пока не научится. С разработкой ПО в точности так же.

    Нет никакого смысла читать книги по изучению конкретного языка. Ставьте задачу - "переместиться из точки А в точку Б" (сделать какое-то конкретное приложение) и гуглите по каждому непонятному моменту, пока программа не будет написана. Научитесь правильно строить поисковые запросы.

    После того как вы с большим трудом запустите свой первый продукт. вы уже будете знать и уметь в десятки раз больше, чем студент, окончивший пятилетний курс по специальности "программирование" и прочитавший пару толстых теоретических книг.
    Ответ написан
    6 комментариев
  • Обучение программированию ребенка?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Изначально, учить нужно не языкам и технологиям, а базовым принципам устройства этого мира, пониманию логики и принятия решений, умению находить новые решения простых задач с максимально возможным результатом.

    Всё это должно быть в игровой форме и максимально быть интересным и простым для понимания.

    Например, на прогулке можно спросить:
    Как отмерить ровно 2м веревки, если есть длинная верёвка неизвестной длины и рядом столб, диаметром 50 см?

    И подобные.

    Как только он научится правильно принимать простые логические решения, он - уже программист!

    Останется ему (уже без Вашей помощи!) выучить любой язык, чтобы стать кодером и воплотить логику своих мыслей в алгоритм в виде кода.
    А 3D, C, OSI или еще что - это уже вопрос десятый...
    Ответ написан
    69 комментариев
  • Какой максимально эффективный способ защиты от скачивания изображений с сайта вы знаете?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Самое простое - Watermark.
    2. Сложнее - частичная доставка с сервера выбранной области изображения с шифрованием и расшифровкой на клиенте, и никогда не отображать изображение целиком. (т.е. типа контейнера со скроллом внутри канваса по аналогии с гугл-мапс).
    3. Хардкорный стиль - Adobe Flash Application!
    4. "Puzzle" - "хаотичная" (только с виду!) динамическая нарезка в режиме спрайт-карты и сборка через js. Формула - тоже разная каждый раз.
    5. "Калька" - многослойное изображение из нескольких с альфа-каналом (с прозрачностью)
    6. Класть изображение в JS-контейнер на серверной стороне, помещая в него метод отображения с привязкой к IP и браузеру клиента, и ровно на 15 секунд (чтобы загрузил и всё) и бинарные шифрованные данные, после загрузки скрипта у клиента - запрашивать токен с сервера на расшифровку данных.
    (методы можно комбинировать)
    Ответ написан
    4 комментария
  • Какой максимально эффективный способ защиты от скачивания изображений с сайта вы знаете?

    @zuluss
    Нет у вас методов против Кости Сапрыкина ( Место встречи изменить нельзя) :-)
    Ответ написан
    Комментировать
  • Отправка данных из формы с дальнейшей обработкой NodeJS?

    olegshilov
    @olegshilov
    import express from 'express';
    import bodyParser from 'body-parser';
    
    const app = express();
    
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: true }));
    
    app.get('/', (req, res) => {
      res.sendStatus(200);
    });
    
    app.post('/', (req, res) => {
      console.log(req.body);
      res.json({
        status: 200,
        message: 'Ok'
      });
    });
    
    const server = app.listen(config.listen, (error) => {
      if (error) {
        console.error(error);
        process.exit(1);
        return;
      }
    
      const { address, port } = server.address();
    
      console.log(`Listening ${address}:${port}`);
    });
    Ответ написан
    3 комментария
  • Как работать на UpWork'е без знания английского языка?

    практически свободно читаю

    это вовсе не

    без знания английского

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

    artemgapchenko
    @artemgapchenko
    но с разговорными навыками(а так же с восприятием на слух) совсем все плохо

    У меня с английским нормально, но хочу сказать, что за полгода работы там только одному заказчику понадобилось от меня ежедневное личное общение на тему проекта, всем остальным достаточно переписки. Когда приглашают на интервью, можете написать, что на слух воспринимаете язык плохо, и предпочли бы общение в чате, все воспринимают это нормально. Кстати, очень часто те, кому нужно устное общение, указывают это в описании задачи.
    Ответ написан
    Комментировать
  • Где хранить файлы для работы?

    На работе:
    1. Создать аккаунт на bitbucket.org
    2. Создать там пустой проект
    3. Гитом клонировать его в локальную папку
    4. Скопировать в папку свои файлы
    5. Занести node_modules в gitignore-файл
    6. Сделать коммит
    7. Сделать push


    Дома:
    1. Склонировать гитом проект в локальную папку
    2. запустить npm install
    3. и работать

    P.S. Bitbucket позволяет создавать приватные git-репозитории бесплатно, в отличие от github. Поэтому выбираем его.
    Ответ написан
    6 комментариев
  • Как фронтенд взаимодействует с бэкэндом?

    dajnz
    @dajnz
    Frontend и backend web-разработчик
    Если используете vue.js, и, скорее всего, вам нужна отработка действия пользователя без перезагрузки страницы, тогда попробуйте плагин vue-resource. Чисто технически он отправляет на сервер запрос нужного вам типа (POST, GET итд.) с произвольными данными используя XmlHttpRequest.

    this.$http.post('/select-city', {cityId: 1}).then((response) => {
              // success callback
          }, (response) => {
              // error callback
          });


    Вышеприведенный сниппет может послужить примером как обрабатывать событие по клику на карточке, при этом на сервер вы можете отослать например ID карточки или что-то другое, а там уже нужно реализовать обработку POST запроса для роута /select-city (если рассматривать данный пример) и переданным ID как этого требует бизнес-логика вашего приложения.
    Ответ написан
    1 комментарий
  • Обучение верстке или как плыть по течению?

    VGrabko
    @VGrabko
    Golang, Php, Js
    Ну не всем это далось и они ушли в backend ))
    Ответ написан
    1 комментарий
  • Как поступить с кроссбраузерной версткой, что ответить заказчику?

    Serj-One
    @Serj-One
    i'm sexy and i know it
    В понятие кроссбраузерности поддержка IE8 не входит. Кроссбраузерность - это поддержка актуальных современных браузеров.
    Поддержка IE8 - поддержка устаревших браузеров. За что в обязательном порядке нужно требовать солидную доплату.
    Ответ написан
    7 комментариев
  • Как пишутся системы оплаты для сайта?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Как осуществляется написание платежной системы касательно visa и mastercard или для конкретного банка? что делается в данном случае? (Допустим требуется работа со сбербанком и альфабанком).

    Из личного опыта:
    a. Приезжаете в офис банка у которого есть услуга "интернет эквайринг", показываете своё юрлицо, уставные документы, бенефициаров, обороты от 50 млн в месяц.
    * некоторые работают и с меньшими оборотами, но % будет крайне не выгодным.
    ** без запущенного и работающего проекта идти в банк бессмысленно.
    b. Ждете 2-6 недель пока СБ банка проверит все.
    c. Ждете 2-4 недели пока банк подпишет договор
    d. Получаете реквизиты и документацию API конкретного банка.
    e. Реализуете
    f. Ждете 1-2 недели пока банк проверит что у Вас все согласно их протоколу.
    g. Получаете боевые реквизиты.

    Учтите что:
    1. Если Ваши объемы меньше чем 50млн+ в месяц - с вероятностью 99% Вам будет СИЛЬНО выгоднее работать через посредника. Посмотрите на uniteller.ru , payture.com/ru , payler.com - если Вы будете достаточно убедительны на переговорах, вполне реально сторговать их до 2-2.5% даже на маленьких оборотах (1млн-5млн)

    2. Прямые API банков мягко говоря не современны. Как правило там не будет ни удобного личного кабинета, ни вменяемой службы поддержки - ничего. Зато будут проверки, требования бумажной отчетности и прочие милые сердцу советского бюрократа вещи.

    3. Риски при работе через посредника - по факту минимальны. Все приведенные выше делают выплаты ежесуточно, т.е даже если посредник накроется - Вы максимум рискуете дневным оборотом.

    С учетом данных пунктов, по моему мнению прямой договор с банком имеет смысл если у Вас настолько большие обороты - что разница в десятые доли процента окупает весь этот геморрой.
    По факту есть море проектов с большими оборотами (mamba, badoo, etc) кто продолжает работать через агрегатор, минимизируя расходы на юристов, бухгалтеров, техническую поддержку работы шлюза итд итп.
    Ответ написан
    1 комментарий
  • Как отлаживать javascript без console.log?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Ответ написан
    Комментировать
  • Как отлаживать javascript без console.log?

    psixodyb
    @psixodyb
    Хочу, чтобы мой сын стал полубогом Frontend'a
    Видео
    Мне оно помогло научиться дебажить правильно.
    Ответ написан
    Комментировать
  • Как сделать морской бой на html+js+css с перетаскиванием кораблей? Куда копать?

    mudrenokanton
    @mudrenokanton
    frontend dev
    Привет.

    А зачем вообще перетаскивание? Это некрасиво и неудобно.
    Лучше сделать панель кораблей. На панели клацнул, выбрал корабль. Потом наводишь курсор на поле, и под твоим курсором на поле в клетках отображается выбранный корабль. По щелчку на поле корабль закрепляется. По ПКМ допустим можно его крутнуть на 90 градусов.
    + можно сделать подсветку краев выбранных клеток, в которые мостится корабль, красными, если корабль ставится в недопустимое место и зелеными, если в допустимое

    По поводу данных в API то в него вообще можно банально передавать обыкновенный двумерный массив
    0 0 0 3 3 3
    0 2 0 0 0 0
    0 2 0 5 0 4
    0 2 0 5 0 4
    0 0 0 0 0 0
    6 0 1 1 1 1
    И то он нужен только когда игра инициализируется, а потом передаешь координаты точки в которую клацнул для получения ответа. Зачем БД — понятия не имею. Можно правда все ходы записывать что бы партию можно было сохранить/загрузить, но вроде в задании такого нет.
    Ответ написан
    Комментировать
  • В чем моя причина провала тестового задания Яндекса?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Я думаю, что у них оценивается: минимум кода, самый короткий (оптимальный) алгоритм. Здесь нигде не требовали использование ООП.
    1. Задание 1 - динамические цепочки (очереди). Надо было "растащить вагоны" и "сцепить" их (конечный с начальным пунктом). Это делается в 1 проход по списку карточек.
    2. Задание 2 - проверка знаний нативки JS и логики работы мозга при самопостановке задачи и её реализации: селекторы/regex, деревья: просто перебор нужных с изменением/запросом свойств объектов.
    PS: может им на C++ написать и прогнать через LLVM на asm.js?)
    хотя, думаю, тоже не прокатит - им же JS-исходник нужен)
    Ответ написан
  • В чем моя причина провала тестового задания Яндекса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ну давайте я покритикую:

    возьмем файлик

    1) вы не разобрались как объявлять методы у прототипов с новой нотацией `class`:

    class Travelsort {
        constructor() {}
        sortTickets(tickets) {}
    }


    2) вы не умеете пользоваться исключениями.
    if (!Array.isArray(cards)) {
        throw new ValueError('Wrong input');
    }


    3) использование let там где должен использоваться const

    4) в принципе использование переменных там где их быть не должно

    5) вы зачем-то реализовали свою функцию сортировки, я не увидел в требованиях отсутствия возможности использовать старый добрый Array.prototype.sort

    6) Общие замечания по кодинг стайлу. snake_case там где должен быть camelCase, пишите с большой буквы то что должно быть с маленькой и т.д.

    7) нарушения принципа единой ответственности. У вас объеткт умеет и сортировать и писать куда-то. Это категорически плохо.

    8) Если исправить 7-ой пункт то наш класс превращается просто в функцию.

    Далее... берем следующий файлик

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

    2) вы зачем-то тут в прототип объекта строки впихиваете функции для парсинга CSS. Таким образом мы нарушаем принцип единой ответственности. Да и в целом расширять без надобности прототипы объектов как-то не ок.

    Чуть дальше проскролил - вы пытаетесь расширить прототип строк для того что бы добиться API jquery? ух, батенька.

    3) очень много дублирования.

    4) очень плохо с protected variations.

    Справедливости ради, ваш код входит в категорию ">50% JS кода", так что не расстраивайтесь. Просто для работы в яндексе нужен чуть более высокий уровень и понимание вещей.
    Ответ написан
    17 комментариев
  • Как разместиться правильно на github?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    1. вместо /v1.0/ используйте теги гита
    2. test | tests | ... - обычно это каталог для авто тестов
    3. build | release | ... - это каталоги для собранных (релизных) файлов, тот же jquery.min.js например
    4. external | vendor | ... - каталоги с внешними зависимостями текущего проекта
    5. src | lib | ... - сам код проекта
    6. bin - каталог с исполняемыми файлами для проекта
    7. var | tmp | ... - каталог для временных файлов
    8. Makefile - настройка для консольной утилиты make
    9. bower.json - зависимости bower
    10. package.json - зависимости npm
    ...

    Видите ли, сейчас одно-файловые скрипты особо никто не пишет (не берем в расчет тривиальные на полторы строки).
    Ответ написан
    Комментировать