Задать вопрос
  • Core это тот же .net только для всех платформ?

    @FreeDobby
    Свободный Добби
    да и да
    Ответ написан
    Комментировать
  • Как сделать ожидание в c# не Thread.Sleep?

    @andoral
    Использовать класс Timer и его событие Tick
    Ответ написан
    Комментировать
  • Как вызвать переменную или метод другого класса через строку?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    ответьте почему у вас множество классов, а не один класс Country, на основе которого сделали себе объект для России и Италии и так далее?
    у них у всех будет одинаковые переменные..
    public class Country 
    {
    public string Name;
    //и другие нужные поля под страну
    }
    
    ///////////
    //создаем себе объект класса
    Country  russia = new Country();
    russia.Name = "Russia";
    //////////
    
    //и вот собственно во все инфо и подобное отдаете объект класса Country 
    //в котором все содержиться
    void Info(Country currentCountry){
    
    Text.text = currentCountry.Name;
    
    }


    конечно еще есть struct вместо класса. и про наследование можно поговорить если будет что то уникальное для каких-то стран.
    но вам еще видимо рано такое..

    но в общем то, если сильно все упростить, вы просто не использовали ООП - создав на каждую страну свой собственный класс.
    Ответ написан
    3 комментария
  • Как этот код работает?

    nikolayshabalin
    @nikolayshabalin
    Автор профессиональных курсов в HTML Academy
    Какая часть кода вам не понятна?
    Разберите всё на куски.

    Сохраняем двумерный массив
    let a = [ 
    [1, 2, 3], 
    [4, -10, 6], 
    [7, 8, 9] 
    ];


    Обращаемся к глобальному объекту Math, точнее к его методам min и max
    let mx = Math.max; 
    let mn = Math.min;


    Проходим по всем элементам массива и сохраняем fмаксимальное значение. Используется метод map массивов, а также новый spread оператор
    let max = mx(...a.map(e => mx(...e)));

    В этой части используется тернарный оператор, который просто сокрщает запись в такую
    max = -min > max ? min : max;

    из такой
    if (-min > max) {
    max = min;
    } else {
    max = max;
    }


    Здесь с толку могут сбить стрелочные функции. Из-за того, что массив двумерный, приходится вкладывать map в map
    let result = a.map(e => e.map(e => e / max));

    Вот может быть лучше?
    let result = a.map(function (e) {
        return e.map(function (e) {
            return e / max;
        })
    });
    Ответ написан
    2 комментария
  • Почему не стоит реализовывать взаимодействие с элементами при onmousedown?

    @GreatRash
    Такой подход урезает функционал браузера, например во всех современных браузерах можно перетаскивать ссылки, а подобным подходом вы ограничиваете эту возможность. Плюс элементарное уважение к пользователю - он может передумать кликать в кнопку и отпустить кнопку мыши за пределами ссылки, в таком случае перехода не произойдёт.
    Ответ написан
    Комментировать
  • Как вызвать функцию из тела родительской функции?

    y0u
    @y0u Куратор тега JavaScript
    dev
    Какой-то странный у вас подход. Вы вызываете myBigFunction, которая вызывает func1, которая в свою очередь вызывает две остальные. Почему бы вам в том месте, где вы пишите
    func1('func2');
    func1('func3');
    не написать
    func2();
    func3();
    ?

    В крайней случае можно написать вот так:
    function myBigFunction() {
    	
    	var methods = {
    		func1: function(functionName) {
    			methods[functionName]();
    		},
    		func2: function() {
    			console.log('2');
    		},
    		func3: function() {
    			console.log('3');
    		}
    	}
    	
    	methods.func1('func2');
    	methods.func1('func3');
    
    }
    Ответ написан
    5 комментариев
  • Как научиться учить программирование?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    А просто со временем, до всех доходит, что программирование это не интересные исследования, познания неведомого как в фантастике, прикручивание двумя кликами новых движков.
    А на деле - это еще и множество рутинной и кропотливой работы, которая по сути - скучная, однообразная, И ее процентов 80.

    Вы это наконец поняли. Какую мотивацию вы хотите от нудной и кропотливой работы - неясно. Мотивация может быть в зарплате, в создании своего продукта, если он есть. А так - человек должен уметь мотивировать себя сам, а не ждать пока его рассмешат клоуны.
    Ответ написан
    4 комментария
  • Vue-шаблон vs верстальщик?

    Делать не так, как нравится верстальщику, а так как правильно с точки зрения организации кода.
    Ответ написан
    Комментировать
  • Почему добавляется +5px?

    @kiberlain
    потому что картинка по умолчанию строчный (инлайновый) элемент. Все инлайновые элементы воспринимаются как строки текста, а так как у текста (у отдельных символов, например символ "y" имеет снизу "хвостик" ) то браузер специально добавляет отступы снизу-сверху, чтобы символы полностью поместились в строку по высоте. Поэтому, что бы картинка воспринималась не как строчный, а как блочный элемент надо задавать для неё правило display: block

    jsfiddle.net/p2btx682
    Ответ написан
    2 комментария
  • Как в url ссылки добавить продолжение без полного указания?

    BuriK666
    @BuriK666
    Компьютерный псих
    нет
    Ответ написан
    Комментировать
  • Почему не отслеживается переменная цикла?

    evgeniy8705
    @evgeniy8705
    Повелитель вселенной
    const cc = document.querySelector(`#${context[i]}`);

    Demo
    Ответ написан
    5 комментариев
  • С помощью каких инструментов можно верстать в компонентном стиле?

    Realetive
    @Realetive
    MODX Ambassador России, самозванный БЭМ-евангелист
    Вас не спасёт ни MODX, ни БЭМ, ни React'ы с Angular'ами. Если использование инструментов сборки вызывают сложности — не используйте. Целесообразность их использования приходит лишь с опытом понимания того, что вы реально можете автоматизировать, от «магии» толку мало.
    Это я вам говорю, как адепт БЭМ-стека (ага, того самого, из Яндекса) и амбассадор MODX.
    Ответ написан
    7 комментариев
  • PHP или ASP.NET?

    Antonchik
    @Antonchik
    Программирую на HTML
    Это два разных инструмента которые решают свои задачи. Что нравится то и берите, только не выбирайте технологии с точки зрения заработка, не к чему хорошему это не приведет.
    Ответ написан
    4 комментария
  • Какие языки программирования тут используются?

    NBComrade
    @NBComrade
    JavaScript. Первый кусок - Jquery(библиотека для упрощённой работы с JS). Второй - нативный (оригинальный) Javascript.
    Ответ написан
    2 комментария
  • Как и что сказать заказчику, что бы он отказался от использования wix?

    Ankhena
    @Ankhena
    Нежно люблю верстку
    План:
    1. Составляется план хотелок (заказчиком или совместными усилиями).
    2. План разбивается на части типа "хочу сейчас", "вторым эшелоном", "в далекой перспективе".
    3. У пунктов плана ставятся галочки "реализуемо на wix" или нет.
    4. Пишете альтернативные решения.
    5. Вы озвучиваете срок и стоимость работ на wix и с помощью альтернативных решений.
    6.
    - Заказчик решает работать ли с вами вообще и по какому сценарию.
    - Вы решаете хотите ли вообще иметь дело с таким заказчиком.
    7. Выбранный план действий скрепляется кровью подписями.
    Ответ написан
    Комментировать
  • Как реализовать кроссдоменный ajax методом post?

    @karminski
    Senior React.JS Developer
    Вам нужно отправлять дополнительные заголовки. Почитайте про CORS
    Ответ написан
    5 комментариев
  • Как передавать проект на back end?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Если в ТЗ прописан bootstrap, то в выполненной работе должен быть именно bootstrap - и никак иначе. Если же в ТЗ такого требования нет, то какие претензии?

    Использовать в вёрстке названия классов, совпадающие с названиями классов общеупотребительной библиотеки - это очень плохой тон: те самые грабли, на которые Вы с размаха наступили. Неужели один раз переименовать названия своих классов сложнее, чем из раза в раз исправлять последствия своего ошибочного решения?
    Ответ написан
    3 комментария
  • Фриланс снг с нормальными ценами, существует?

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

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    https://msdn.microsoft.com/en-us/library/jj591620(...
    modelBuilder.Entity<Course>() 
        .HasMany(t => t.Instructors) 
        .WithMany(t => t.Courses) 
        .Map(m => 
        { 
            m.ToTable("CourseInstructor"); 
            m.MapLeftKey("CourseID"); 
            m.MapRightKey("InstructorID"); 
        });
    Ответ написан
    Комментировать
  • Чем отличаеться promise от обычных коллбэков?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Не то же самое

    function ajax() {
      return fetch(target, fetchOptions)
        .then((response) => {
          if (!target) throw new Error('Invalid url');
          if (response.ok) return response.json();
          throw new Error(`${response.status} ${response.statusText}`);
        })
        .then((json) => {
            if (json['statusOk']) return json;
            throw new Error(json['message'] || 'Server response was not ok');
        });
    }
    
    ajax(action, { body: formData })
      .then((json) => {
        console.log('RESPONSE', json);
      })
      .catch((error) => {
        console.error(error);
      });


    Мы можем писать сколько угодно зенов, в каждом что-то делать с данными.
    Если в любом месте вылетит ошибка, она будет нормально обработана в кэтче.
    Код при этом линейный, без дикой вложенности.
    С коллбэками вам нужно на каждом этапе отслеживать ошибки и возвращать их. Легко потеряться, что откуда всплыло или где пропало.
    Альтернатива обработки ошибок — трай/кэтч. Но это не работает на асинхронном коде.
    function myFunc(cb){
      var err = true;
      // имитируем асинхронную операцию
      setTimeout(function(){
        cb(err);
      }, 10);
    }
    
    try {
      myFunc(function(err){
        if (err) throw new Error('Oops');
      });
      alert('Всё как бы хорошо!');
    } catch(e) {
      alert(e.message);
    }

    Этот код выведет сообщение 'Всё как бы хорошо!', хотя всё плохо, была ошибка. https://jsfiddle.net/r3zfa4ee/

    С промисами иначе:
    function myFunc(){
      let promise = new Promise((resolve, reject) => {
        let err = true;
      
        // имитируем асинхронную операцию
        setTimeout(() => {
          if (err) {
            reject('Ooops!');
          } else {
            resolve(123);
          }
        }, 10);
      });
      
      return promise;
    }
    
    myFunc()
      .then(data => {
        alert('Всё точно хорошо!');
      })
      .catch(e => {
        alert(e);
      });

    Здесь уже ошибка будет обработана как надо и мы увидим сообщение 'Ooops!' https://jsfiddle.net/43yh8jad/

    Мы можем выполнить промисы последовательно. Мы можем выполнить их параллельно. Мы можем запустить их на параллельное выполнение, но дождаться только первого отработавшего (так называемая promise race). Разумеется всё это можно и без промисов написать, но какая будет разница в объеме кода и в сложности его понимания?

    А еще есть async/await...
    Ответ написан
    Комментировать