Задать вопрос
  • Как отсортировать массив объектов по массиву значений определённого свойства?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Сортируем существующий массив:

    messages.sort((a, b) => {
      [ a, b ] = [ a, b ].map(n => sortableLanguages.indexOf(n.language));
      return a === -1 ? 1 : b === -1 ? -1 : a - b;
    });

    Собираем отсортированный новый:

    const sorted = (arr, key) => arr
      .map(n => [ n, key(n) ])
      .sort((a, b) => a[1] - b[1])
      .map(n => n[0]);
    
    
    const order = Object.fromEntries(sortableLanguages.map((n, i) => [ n, i + 1 ]));
    const sortedMessages = sorted(messages, n => order[n.language] || Number.MAX_SAFE_INTEGER);
    
    // или
    
    function sorted(arr, order, key) {
      const ordered = new Map(order.map(n => [ n, [] ]));
      const unordered = [];
    
      arr.forEach(n => (ordered.get(key(n)) || unordered).push(n));
    
      return [].concat(...ordered.values(), unordered);
    }
    
    
    const sortedMessages = sorted(messages, sortableLanguages, n => n.language);
    Ответ написан
    1 комментарий
  • Можно ли проверять наличие console.log при коммите в phpstorm?

    @RidgeA
    Ответ написан
    Комментировать
  • Стоит ли заниматься программированием в моем возрасте?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    программист - профессия для молодого

    Это дискриминация. Причём ничем не отличающаяся от половой или расовой.
    Ответ написан
    1 комментарий
  • Какой язык программирования выбрать для данного проекта?

    Adamos
    @Adamos
    Для стартапа с ничем не гарантированным будущим - тот, на котором вы готовы быстрее и дешевле всего сделать MVP.
    Ни в коем случае не тратя средств и времени на проработку масштабирования и прочих проблем роста.
    Потому что именно решение проблем роста до того, как они появились, лишает стартап всяких шансов начать этот рост.
    Ответ написан
    Комментировать
  • Проблема с запуском в командной строке?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    В командной строке вы используете Java 8, а компилировали программу с помощью Java 12. Либо запускайте тоже с помощью Java 12, либо при компиляции укажите параметр -target 8.

    Если используете IDEA, сделать это можно так:
    9oJXg.png

    А если используете Maven, так:
    <project
      xmlns="http://maven.apache.org/POM/4.0.0" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    
      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
      </properties>
      ...
    </project>
    Ответ написан
    Комментировать
  • Веб-дизайнер-фрилансер после 35 лет?

    SayMAN83
    @SayMAN83
    Работаю в IT
    Мне 36. Жена и двое детей. Работал в саратове. Зарабатывал неплохо, но семью тянуть все равно было мало. Так вышло что на работе "пнули" за открытое резюме на hh. Но на резюме сразу же откликнулись из Москвы и предложили мне релокацию. Собеседование по скайпу прошёл. Сейчас работаю в Москве. Скоро семью полностью перевезу. В вашем случае возраст и семья не помеха. Тот кто хочет ищет возможности, а кто не хочет, ищет причины.
    Ответ написан
    3 комментария
  • Как отслеживать ширину экрана?

    0xD34F
    @0xD34F Куратор тега Vue.js
    data: () => ({
      width: 0,
    }),
    computed: {
      itemSize() {
        return this.width > 700 ? 46 : 56;
      },
    },
    methods: {
      onResize() {
        this.width = window.innerWidth;
      },
    },
    created() {
      this.onResize();
      window.addEventListener('resize', this.onResize);
    },
    beforeDestroy() {
      window.removeEventListener('resize', this.onResize);
    },
    
    // или
    
    data: () => ({
      itemSize: null,
    }),
    created() {
      const mql = window.matchMedia('(max-width: 700px)');
      const onChange = () => this.itemSize = mql.matches ? 56 : 46;
      onChange();
      mql.addEventListener('change', onChange);
      this.$on('hook:beforeDestroy', () => mql.removeEventListener('change', onChange));
    },

    :item-size="itemSize"
    Ответ написан
    1 комментарий
  • Как найти разработчика мобильного приложения в стартап?

    newross
    @newross
    Product owner
    Какой смысл привлекать разработчика, не имея на руках ни бизнес модели, ни клиентов, ни хоть более-менее проработанного видения проекта?
    Сама по себе идея - ничто. Не стоит ничего, кроме затраченных впустую усилий. Адекватный разработчик даже слушать не станет спич с голой идеей.
    Про инвестора тоже какой-то бред. Вряд ли найдется дурак, который будет вкладывать в голую идею под обещания основателя заниматься маркетингом и анализом конкурентов.
    В общем сначала надо поработать над проектом, а потом уже разработчиков искать.
    Ответ написан
    Комментировать
  • Как найти разработчика мобильного приложения в стартап?

    qlkvg
    @qlkvg
    python backend developer
    Ответ написан
    Комментировать
  • Зачем нужны анонимные классы в java и как к ним обратиться?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Это у вас не анонимный класс, а внутренний класс. Обращаться к нему можно из любого места внешнего класса, ну и из самого себя.
    А анонимный класс, как следует из названия, имени не имеет. И создается например из интерфейса, реализуя его методы на месте.

    Внутренние классы могут быть закрытыми (private/protected) по умолчанию и видны будут только из внешнего класса, либо быть публичными (public static) и быть доступны всему приложению. Обычно используются, чтобы не раздувать структуру файлов-классов и для внутреннего применения в качестве временных хранилищ и оберток.

    Анонимный же класс создается на месте использования и служит для применения в конкретном месте приложения. В примере ниже мы в переменную threadзаписываем инcтанс нового класса, наследуемого от Thread с перегруженным методом run

    class MyThread  
    { 
        public static void main(String[] args) 
        { 
             // Создаем расширение стандартного класса Thread с переопределением метода run()
             Thread thread = new Thread()
            { 
                public void run() 
                { 
                    System.out.println("Child Thread"); 
                } 
            }; 
            thread.start(); 
            System.out.println("Main Thread"); 
        } 
    }
    Ответ написан
    Комментировать
  • GIT-хостинг - удобный, простой, тупой - есть ли?

    Adamos
    @Adamos
    Вы, простите, свой код пишете - в чем? Введите в гугле это название + GitLab - увидите, что маетесь дурью, ища возможности заливать код "бразуером".
    Ответ написан
  • Можно ли начинать с питона?

    Jump
    @Jump
    Системный администратор со стажем.
    Можно ли начинать с питона?
    Можно.

    питон не расскажет тебе что такое память компа, как лучше писать код и т.п
    Язык программирования это инструмент, как молоток, или топор. Он и не должен ничего рассказывать.
    Будет странно если топор начнет читать плотнику лекции по материаловедению и технологии строительства.

    вот вопрос, неужели чтоб на нем начать писать мне надо сначала изучить C/C++?
    Нет.
    Изучить С нужно если вы собрались писать код на C.

    И так ли сложно понимать другие языки после питона?
    Без разницы. Люди умеющие водить машину без проблем умудряются работать пилотами, машинистами, и капитанами морских судов, и даже ездят на велосипеде Им никак не мешает тот факт, что начали они с управления автомобилем.
    Ответ написан
    Комментировать
  • Можно ли начинать с питона?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Вам - нельзя.
    Будете постоянно метаться между языком, библиотеками, фреймворками, а в конечном счете еще и браузером, потому что результат скорее всего будет там, и будет тот же самый html/css/js только через питоновский фреймворк.

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

    P.S. Изучив один язык, всегда проще изучать другой. Но для этого нужно его изучить, а не попрыгать по верхам.
    Ответ написан
    Комментировать
  • Разместил резюме на позицию junior front-end, не понимаю что не так в нем?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    >"Программы: PhpStorm, Atom"
    Прям коробит.
    Это IDE. Да, это программы, но так говорят бухгалтерши. Мы же программеры и для нас это не программы, а IDE, инструмент.
    Ответ написан
    1 комментарий
  • Есть ли смысл переходить на другой стек?

    1) Уходить с удаленки, которую ты смог найти на опыт джуна - это прямо мега глупо. Надо хотя бы получить 9-12 месяцев работы, тогда тебя уже начнут рассматривать, как разраба.

    А пока HR-видит, что ты через месяц слился и думает: "Да ну его нахер, то ли он конфликтный, то ли он "мамкин айтишник, который хочет 100к со старта", то ли он рукожоп"

    т.е. этот опыт лучше вообще убрать из резюме. (ну это так намек)

    2) Удаленку без опыта реальной разработки на уровне Джуна - очень сложно найти. Будь ты хоть JS, хоть PHP, хоть Java разработчик. Тут дело не в стеки.

    3) В идеале, тебе надо получить строчку в трудовую, что работал программистом условно 9 месяцев (хоть на чем) - после этого, уже и удаленку можно будет найти проще, либо уже уезжать на офер в СПБ, Москву или другой город
    Ответ написан
    Комментировать
  • Есть ли резон переучиться на программиста?

    sim3x
    @sim3x
    Основой посыл - более высокая зарплата
    нет

    Возраст не при чем
    До уровня мидл - вам нужно изучить java.core + какой-то стек, найти первую работу на джуна или трейни и проработать 3-5 лет
    Ответ написан
  • Что нужно знать Java программисту, чтобы устроиться на первую работу?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Core Java нужно знать. Всё остальное без опыта нормально всё равно не освоить.
    Ответ написан
    Комментировать
  • Где учить JavaScript?

    xEpozZ
    @xEpozZ
    Веб-разработчик
    Купите книгу, так будет проще.
    А еще у мозиллы есть уроки

    Ну и конечно же вот
    Ответ написан
    Комментировать
  • Как передать метод в другой метод?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    public class Example {
        private void method1(String data, Consumer<String> method) {
            method.accept(data);
        }
    
        private void method2(String data) {
            System.out.println(data);
        }
    
        public static void main(String[] args) {
            Example obj = new Example();
            obj.method1("test", obj::method2);
        }
    }
    Ответ написан
    Комментировать
  • Какой Macbook 13” 2015 или 2019 брать?

    Moskus
    @Moskus
    Вопросы про "ноутбук для программирования" появляются тут чуть ли не каждый день.
    Между тем, если вы не разрабатываете 3D-игры или какие-то требовательные приложения, для самого программирования вам хватит за глаза какого-нибудь древнего Pentium 4.
    Самый ресурсоёмкий процесс в программировании - компиляция. Если вы только начинаете программировать (а это следует из того, что вы все еще задаете такие вопросы), это не будет для вас проблемой все равно из-за размеров кодовой базы.
    Зачем тратить полторы тысячи на то, с чем справится устройство за три сотни - дело ваше.
    Ответ написан
    Комментировать