• Как на самом деле работают типы данных в js?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Это больше академический интерес, хочу разобраться как оно работает.

    Это вы сейчас в очень глубокую нору заглядываете.

    Движки стараются оптимизировать по максимуму, поэтому там очень много всего накручено помимо наличия int32.
    Я не удивлюсь если в вашем конкретно примере они сделают просто a=1.5 в обоих случаях и код будет идентичный до байта.
    а потом эту a подставят куда надо и оптимизируют там еще что-то, например b=c+a превратится в b=c+1.5

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

    Например для каждой переменной во время работы записывается какой тип в нее приходит, если этот участок кода вызывается достаточно часто - он помечается "горячим" и затем смотрится, если у вас в "a" всегда один и тот же тип, то генерируется быстрый код для этого типа, и ставятся проверки, если вдруг придет что-то другое, то этот код выкидывается и происходит возврат к более общему.

    И много чего другого, лишь бы быстрее работало.
    Даже если вы прямо сейчас разберетесь во всем, то завтра запилят новую оптимизацию где-то в глубине движка и что-то будет работать уже по другому.
    Ответ написан
    8 комментариев
  • Скажите хорошие видеоуроки по JUnit тестированию в андроид аппликациях?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Начните называть приложение приложением. Полезно будет.
    Аппликация - это вот:
    19127_9096d2a30043af39f449e7d5f8acca3e.j
    Ответ написан
    Комментировать
  • Как использовать AsyncTask вместе с Selenium?

    TheKnight
    @TheKnight
    Программист
    Но это не отменяет того, что Вы начали переводить тему. Задача сообщества - постараться помочь мне, а не упрекать и задавать вопросы, которые не относятся к теме.

    mihsaklimov, нет такой задачи у сообщества. Есть задача удовлетворить свое любопытство и почесать свое ЧСВ.
    Если вы думаете по другому - то стоит проверить свои взгляды на реальность.

    Что же касается вашей проблемы - кажется, вы банально ошиблись с id элемента. Я наблюдаю id "search-text-guest". Кроме того, стоит подумать о более вменяемом способе ожидания, чем ручками через Thread.sleep каждый раз.

    И все же продолжим чесать ЧСВ - использовать selenium изнутри приложения для поиска чего то на стороннем сайте плохая идея. Почему бы не воспользоваться существующим API? Если его не существует - почему бы его не запилить? Какую задачу вы вообще пытаетесь решить, что потребовался такой изврат?
    Ответ написан
    Комментировать
  • Добавление токена авторизации в заголовки?

    rockon404
    @rockon404
    Frontend Developer
    На примере axios:
    axios.defaults.headers.common.Authorization = `Bearer ${token}`;


    Если надо добавлять только к авторизованным, то можно написать обертку, ну или отдельный инстанс создать.
    Ответ написан
    4 комментария
  • Как найти папки с самым большим количеством файлов в linux?

    @polar_yogi
    чуть быстрее:
    find / -print0 | xargs -0 dirname |  uniq -c | sort -n -k 1 | tail -1
    Ответ написан
    Комментировать
  • Достаточно ли Java Core?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Да.
    Ответ написан
    Комментировать
  • Как выбрать из объекта указанные свойства и создать новый объект?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const pick = (obj, keys) => keys.reduce((acc, n) => (acc[n] = obj[n], acc), {});
    
    const newObj = pick(obj, [ 'username', 'age' ]);

    или

    const pick = (obj, ...keys) => Object.fromEntries(keys.map(n => [ n, obj[n] ]));
    
    const newObj = pick(obj, 'username', 'age');
    Ответ написан
    Комментировать
  • Можно ли разрабатывать на Хакинтош?

    fedorez
    @fedorez
    Хатуль мадан
    Можно. Тут прямо на хабре статьи с пол-года-год назад были про сборку мощного хака для разработки, поищите.
    Но.
    Чтобы изучать iOS-разработку, вам не нужен даже хакинтош. Вполне достаточно будет скачать с любимого торрента готовый настроенный образ виртуальной машины для того проигрывателя, что вам больше нравится.
    Для изучения темы этого вполне хватит. Вообще красота если купите на барахолке эппловскую клавиатуру (длинную проводную алюминиевую с нумпадом, просят за неё 1-2 тысячи рублей) и Мэджик трекпад (если хотите подешевле - то хватит и предыдущего поколения, без форстача, разница непринципиальна).
    Когда я учился мобильной разработке, у нас пол-потока так и делало.
    Ответ написан
    Комментировать
  • Можно ли разрабатывать на Хакинтош?

    DevMan
    @DevMan
    можно, если все правильно сделать.
    при определенном желании, никаких проблем с хакинтошем нет.
    Ответ написан
    Комментировать
  • Какие курсы выбрать для обучения на Data analyst/Data scientist с нуля?

    sgjurano
    @sgjurano
    Разработчик
    Data scientist — это полноценный разработчик со склонностью к исследовательской работе, подкреплённой знаниями в области статистики и ML. За год не вкатитесь, я бы лет 5 на это закладывал.

    Начать можете со специализации "Машинное обучение и анализ данных" на Coursera.

    PS: без умения хотя бы читать на английском в этой профессии делать нечего.
    Ответ написан
    Комментировать
  • Что посоветуете выучить первым для разработки на Андроид?

    longclaps
    @longclaps
    Привести себя в порядок: помыться, побриться, поодеколониться.
    Если борода не растёт - второй пункт можно исключить.
    Ответ написан
    5 комментариев
  • MapStateToProps в каждый компонент, правильно ли я делаю?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Тему удобней передавать через Context API.
    В Styled Components и похожих решениях удобный theming из коробки.
    Ответ написан
    2 комментария
  • Где взять готовую локализацию для русского языка для react-native-calendars?

    @pcdesign Автор вопроса
    LocaleConfig.locales['ru'] = {
      monthNames: [
        'Январь',
        'Февраль',
        'Март',
        'Апрель',
        'Май',
        'Июнь',
        'Июль',
        'Август',
        'Сентябрь',
        'Октябрь',
        'Ноябрь',
        'Декабрь',
      ],
      monthNamesShort: [
        'Янв',
        'Фев',
        'Мар',
        'Апр',
        'Май',
        'Июн',
        'Июл',
        'Авг',
        'Сен',
        'Окт',
        'Ноя',
        'Дек',
      ],
      dayNames: [
        'воскресенье',
        'понедельник',
        'вторник',
        'среда',
        'четверг',
        'пятница',
        'суббота',
      ],
      dayNamesShort: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
      today: 'Сегодня',
    };
    LocaleConfig.defaultLocale = 'ru';
    Ответ написан
    Комментировать
  • Нужна ли проверка Map на null?

    @AndrewStr
    1. Вы неправильно извлекаете значение из map по ключу, надо использовать метод get -> resultMap.get(myKey);
    2. Проверка на null при обращении к resultMap не нужна, поскольку вы создаете пустую мепу в методе getTestMap и resultMap никогда не null;
    3. Проверка на null необходима в методе getTestMap, потому что вы вызываете myObject.getMyValue() без проверки на null, вот здесь NullPointerException может возникнуть, если метод будет вызван с параметром значение которого равно null.
    Ответ написан
    1 комментарий
  • Существует ли "Грокаем ООП"?

    BorLaze
    @BorLaze
    Java developer
    Вы не с того начинаете.

    GoF - это нечто вроде best practices, как и в каком случае применять те или иные возможности, предоставляемые ООП (полиформизм, абстрактные методы/классы, интерфейсы и т.д.).
    Само собой, что из себя представляют понятия, перечисленные в скобках, надо уже знать.

    Если совсем уж на пальцах, GoF - это правила правописания. Естественно, прежде чем их учить, надо знать буквы.
    Ответ написан
    2 комментария
  • Почему я очень просто сломал RabbitMQ?

    @sokoloid
    Вообще пмм это ошибка проектирования. Кролик не для того чтобы файлы рассылать. Ставьте в очередь информацию со ссылкой на файл, обработчик после загрузки файла по ссылке подтвердит обработку сообщения.
    Ответ написан
    1 комментарий
  • Какой ЯП учить, чтобы быстрее начать зарабатывать? Какой стэк проще и быстрее освоить?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Если вам нужен быстрый заработок, то вы точно выбрали не ту профессию. На фрилансе у программиста нет никаких шансов, пока он в офисе не дорос до мидла, независимо от выбранного языка и стека.
    Ответ написан
    1 комментарий
  • В какой программе можно создавать анимации для элементов мобильного приложения android и ios?

    mixail_fet
    @mixail_fet
    Дизайнер веб-интерфейсов
    Invision Studio - мощный, но достаточно сырой инструмент, только-только вышел по Windows.

    Adobe XD- слабая анимация, работают только переходы, но может выполнить большинство задач, связанных с переходами на мобилках, есть под windows.

    Principle - Самая мощная и доработанная из всех перечисленных, плюс есть интеграция с Figma и Sketch - что является большим плюсом. Минус - нет под windows, только macOS

    FramerX - Быстроразвивающийся инструмент, сам не пользовался, но говорят, что качественный. Нет под windows, но разработка ведется.

    Haiku - пока сложно про него что-то говорить, но в нем есть интеграция с Figma и Sketch, пока только MacOS , но разрабатывается под windows.
    Ответ написан
    Комментировать
  • Можно-ли скачать видео с YouTube используя DevTools?

    Есть такая «секретная» ссылка: www.youtube.com/get_video_info?video_id=XXXXXX
    Вместо XXXXXX подставьте хэш видео, который в ссылке на ролик, типа youtu.be/BWCiWZtrWXU после слеша.

    По этой (первой) ссылке вернутся URL-encoded данные. Распакуйте их и возьмите параметр url_encoded_fmt_stream_map. Его значение опять надо распаковать как URL-параметры. И из результата вытащить параметр url – это ссылка на единый скачивабельный видеофайл.

    Например, в консоли браузера:
    function getUrlParams(search) {
        let hashes = search.slice(search.indexOf('?') + 1).split('&')
        let params = {}
        hashes.map(hash => {
            let [key, val] = hash.split('=')
            params[key] = decodeURIComponent(val)
        })
    
        return params
    }
    var s = '------'; // здесь длиннющая строка из ответа /get_video_info
    var a = getUrlParams(s);
    var b = getUrlParams(a.url_encoded_fmt_stream_map);
    console.log(b.url); // эту ссылку открываем в браузере - это скачиваемый видеофайл


    Очень надеюсь, что вы покопаетесь в этих данных более подробно, разберётесь, как получать прямые ссылки на скачиваемые файлы во всех форматах и размерах, которые предлагает YouTube, и напишете короткий материал на Хабр по результатам, а также опубликуете gist с рабочим кодом для консоли браузера.
    Ответ написан
    3 комментария