• Как правильно описать запуск скриптов?

    @JorJeG
    я обычно для разных скриптов использую пакет npm-run-all (https://github.com/mysticatea/npm-run-all ) ,
    чтобы сократить запись dev скрипта до run-p devserver build,
    где devserver - nodemon server.
    + он кроссплатформенный.

    А для запуска по нужному пути:
    npm run build --prefix client/
    Ответ написан
    Комментировать
  • Почему запрос не срабатывает?

    @qq1
    На чем написан ваш бэкенд? Нужно добавить поддержку CORS, гуглите по запросу %backend% enable CORS
    Если на express то вот https://github.com/expressjs/cors
    Ответ написан
    Комментировать
  • Как синхронно проверить файлы в Node?

    Negezor
    @Negezor
    Senior Shaurma Developer
    function findFiles(dir, regExp) {
      const files = fs.readdirSync(dir);
    
      return files.filter(file => regExp.test(file));
    }
    Ответ написан
    Комментировать
  • На какой сервер лучше загружать веб-приложение написанное на node.js?

    Deissh
    @Deissh
    I like Python, Node.JS, Go, pain, bugs and my cat.
    Лучше всего подойдёт Heroku, либо его аналоги.
    Ответ написан
    4 комментария
  • Как загрузить видео в webpack?

    @djentleman666
    это баг, есть решение с копированием https://github.com/hew/hew.tools/blob/dev/webpack....
    Ответ написан
    Комментировать
  • Как правильно подставлять путь к картинкам в webpack?

    './.../assets/iphone.png' тут три точки (должно быть две). Если не заработает, попробуйте убрать ./
    Ответ написан
    1 комментарий
  • Как вырезать из url имя файла?

    0xD34F
    @0xD34F Куратор тега JavaScript
    str.match(/([^/]+)\.[^\.]+$/)[1]
    
    // или
    
    str.split('/').pop().split('.').shift()
    
    // или
    
    str.split(/[/.]/).slice(-2)[0]
    
    // или
    
    str.replace(/.*\//, '').replace(/\..*/, '')
    
    // или
    
    str.slice(str.lastIndexOf('/') + 1, str.lastIndexOf('.'))
    Ответ написан
    Комментировать
  • Как вырезать из url имя файла?

    @Crimsons
    str.replace(/.+\/(.+)\.html$/,'$1');
    Возвращает то, что нужно. Проверил на паре примеров, так что если есть исключения, мне о них не известно.
    Ответ написан
    Комментировать
  • Почему hot reload не срабатывает?

    В output укажите следующие ->
    output: {
            publicPath: '/dist/',
            // ...
    },


    И уберите contentBases и hot (по умолчанию true). И добавьтеhistoryApiFallback Примерно так ->
    devServer: {
            historyApiFallback: true,
            compress: true,
            port: 5000,
            index: 'frontpage.html',
            open: true,
            inline: true,
            overlay: true
    }
    Ответ написан
    1 комментарий
  • Почему чувствую себя бесполезным и ни на что не способным на первой работе по специальности?

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

    @abbaboka
    В течении дня могли переключить на другое задание, не связанное с программированием (скорее с тех.поддержкой ), а потом говорить почему я то не сделал.

    1) Косяк в организации работ на фирме.
    2) С вами не должны нянчиться, про все детали как вы работаете не должны помнить. Если у вас проблема - общайтесь с руководителем непосредственным.

    Задания, которые мне давали, описывались двумя словами ( старший разраб почему то думал, что я понимаю все сокращения и используемые технологии, которые ужились в команде разработчиков ).

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

    Каждое задание мне приходилось переспрашивать по 5 раз, а если вскрывался подводный камень, о котором мне не говорили, то ещё по 5 раз.

    Абсолютно нормально для начинающего.
    Более того - абсолютно нормально даже для сеньора, который только входит в новый для себя проект.

    Да и вообще - подводные камни - это "наше все" в программировании.

    Знаний для позиции Junior C# с головой

    Нет. Вы не джун еще. Вы всего лишь "трейни".

    но я элементарно не справлялся с задачами, которые мне давали, потому что я просто не знал что и как устроено, работает, откуда обращается и где вызывается, от чего зависит и тп.

    Один из типовых навыков программиста - это все выяснять.
    Постоянно, каждодневно.
    Это нормально.

    Получается, что каждое задание - это постоянные вопросы, непонимание, моральное давление


    А вы часом не перехвалили себя в резюме?

    От вас поди ожидали большей квалификации.

    За всё время я лишь подтянул знания о git'е и не более.


    Вас никто не будет учить, кроме вас самого.

    можно ли назвать позицию "Разработчик C#/.NET", если за месяц стажировки я написал максимум 10 строчек ?

    Вполне.
    Дело трейни - разбираться, вникать. Тем более первый месяц.
    И вообще производительность труда программиста отнюдь не в количестве строк меряется. Я с месяц назад за исправление значения 2 констант взял 6 000 рублей за свою работу.

    После своего первого опыта чувствую себя ни на что неспособным в программировании. Со стажировки ушёл.


    Вход в профессию программиста тяжел.
    Вход и вникание на новом месте работы тоже не прост. Даже если вы уже сложившийся программист.

    Большинство программистов, кстати, предпочитают не вникать.
    А писать свои велосипеды.
    В частности потому так очень популярен фриланс "в одного".

    Не нашел ничего такого эдакого в вашем описание.
    Все норм. Примерно так и должно быть

    Из реальных косяков фирмы:
    Другое дело, что в нормальных фирмах к стажеру прикрепляют наставника на месяц другой.

    Все остальное:
    Исключительно ваши косяки.


    Вы напрасно слиняли.
    Как показывает моя практика - 2 недели нужно только для первичного вникания.
    То есть когда ты еще ничего не понимаешь по сути, но хоть что то полезное делать можешь. 2 недели только на это.

    Есть 2 пути программиста:

    1) Индивидуализм. Фриланс. Говносайты, говноприложения. Работа в не ИТ-шных фирмах или в мелких фирмочках где не поставлен процесс и по сути делаешь все один. Плохо тем, что не от кого получить обратную связь не с кем учиться, нет опытных коллег рядом. Всю жизнь будешь делать говносайты и говноприложения. Ну чуть чуть более цивильно. И все. Это предел.

    2) Если хотите все же заниматься в жизни чем посложнее и поинтереснее и поденежнее - учиться в большой конторе с коллегами. Где поставлен процесс. Где твою работу контролируют. Да придется ковыряться в куче чужого года, в куче легаси. Это нормально. Для высококвалифицированного программиста - чужой код и взаимодействие с коллегами крайне важно. Технически серьезные проекты делаются только большими группами программистов.
    Ответ написан
    4 комментария
  • Как правильно делать проверку через email?

    @Abcdefgk
    Да это всё равно бессмысленно, есть куча одноразовых почтовых ящиков. ->
    Ответ написан
    1 комментарий
  • Как правильно делать проверку через email?

    devspec
    @devspec
    Помогло? Отметь решением
    В базе храните пользователя с id не int, а guid. Также добавьте поле status, в котором 0 - не активирован, 1 - активирован.
    В письме подтверждения сделайте ссылку yoursite.com/confirm/3ad5ccdb-f605-40db-9146-2c6bf...
    При переходе в роут confirm ищите в базе пользователя по guid и ставьте ему статус 1.
    При авторизации пользователей со статусом 0 не пускайте, предлагайте повторно отправить письмо с активацией.
    Ответ написан
    1 комментарий
  • Почему данные всегда одинаковые?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Object.assign не выполняет глубокого копирования. Так что просто устанавливать значение value нельзя - это value одних и тех же объектов. Можно перезаписывать объект целиком, замените

    fullField[field_name].value = element[field_name] || 'NULL';

    на

    fullField[field_name] = Object.assign(
      {},
      fullField[field_name],
      { value: element[field_name] || 'NULL' },
    );
    Ответ написан
    3 комментария
  • Можно ли так делать админку для node.js сервера?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    cms keystonejs

    данные хранятся в mysql


    А какие у вас данные хранятся если вы еще даже не поставили CMS?
    Это не так работает в общем-то. Сначала ставите CMS, а потом сверху уже делаете изменения если надо и данные свои начинаете записывать и т.д.
    В CMS своя база данных, схема данных, дефолтные данные и т.д.

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

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

    Или сайт надо переделывать на CMS(переносить там дизайн и т.д.) или вам не CMS нужна, а просто самописная админка для своего сайта.
    Ответ написан
    Комментировать
  • Как исправить emmet в jsx в atom?

    Если установлены пакеты emmet и language-babel, то остается определить keymap:

    ctrl+shift+p > open your keymap

    в открытом файле keymap.cson оставляем такой сниппет, который легко гуглится по вашему запросу:
    'atom-text-editor[data-grammar~="jsx"]:not([mini])':
      'tab': 'emmet:expand-abbreviation-with-tab'
    Ответ написан
    1 комментарий
  • Как сделать правильный insert в mysql + node.js?

    @RidgeA
    я бы попробовал как-то так:
    function insert(tableName, values) {
    	return this.pool.query(`INSERT INTO ${tableName}(username, password, image) VALUES('${values.join("', '")}')`)
    		.catch(err => {
    			// if TABLE doesn't exists
    			if (err.errno == 1146) {
    				return this.createTable(tableName)
    					.then(newTable => {
    						console.log('New table created!\n', newTable);
    						return this.insert(tableName, values);
    					})
    			} else {
    				throw err;
    			}
    		});
    }


    1. если "this.pool.query" возвращает промис, то новый создавать смысла нет.
    2. Если из then или catch вернуть проми то дальше можно продолжать цепочку
    3. В этом коде SQL Injection - в зависимости от используемого пакета надо посмотреть как правильно передавать параметры в запрос что бы избежать этой уязвимости
    Ответ написан
    Комментировать
  • Метод ближайшего соседа?

    @dmshar
    При чем тут классификация "по весу, по расстоянию"?
    Есть задача классификации - т.е. отнесения некого объекта к одному из заранее заданных классов. Есть много "семейств" алгоритмов классификации, например на основании деревьев, но основании систем опорных векторов и т.д. и в том числе группа методов, основанных на метрическом представлении пространства описания объектов классификации. Упомянутый вами метод ближайших соседей - лишь один из методов последней из группы.
    Методы данной группы работают по следующей схеме. Объекты представляются в виде векторов в N-мерном пространстве признаков, причем в этом пространстве должна быть введена некая мета близости/расстояния (что, кстати не во всяком пространстве возможно). Этих мер может быть много: известная и привычная мера Эвклида, Манхеттенское расстояние, мера близости Хемминга, расстояние Чебышева, расстояние Минковского, неметрическое косинусоидальное расстояние и т.д. Выбор конкретной меры - это вообще-то говоря нетривиальная задача, решение которой зависит от шкал данных параметров описания, семантики задачи и даже от конкретного метода классификации, который будет применяться.
    Поэтому ответ на ваш вопрос может звучать так - данный метод может применяться везде, где прикладную задачу можно вложить в схему метода метрической классификации. Пример, который наверное все слышали - решение задачи диагностики онкологических заболеваний в система IBM Watson. Другой пример - распознавание вторжений в системах IDS. Предсказание кредитоспособности заемщиков - пример, который тоже у всех "на зубах". Выявление месторождений полезных ископаемых. Чуть не забыл - классика жанра - выявление спама.
    Но на самом деле практических задач, которые решены этим способом описаны сотни.
    Ответ написан
    Комментировать
  • Как переместить блок вправо в flexbox?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    Задаете блоку с картинкой order: 1, она станет последней.
    Ответ написан
    Комментировать
  • Почему проект не работает на Heroku?

    @SaXXuM
    Нужно указать порт сервера через process.env.PORT
    Ответ написан
    Комментировать