• Почему преобразовывается "16" в "шестнадцать"?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Расширение браузера или браузерный перевод, скорее всего, виноваты. В браузерном API нет, емнип, встроенных средств вывода чисел прописью, соответственно, виноват либо браузер конкретного пользователя, либо что-то на стороне сервера.
    Ответ написан
    4 комментария
  • Первая работа. Стоит ли идти в такую компанию новичку?

    vabka
    @vabka
    Токсичный шарпист
    Вообще, такого рода вопросы запрещены правилами, тк они привязаны к конкретной жизненной ситуации конкретного человека и провоцируют рассуждения на основе предположений (о ситуации, опыте, знаниях)


    Как часто вообще используются CMS в создании сайтов компаниями?

    Практически все небольшие компании делают свои сайты/интернет-магазины при помощи CMS.

    Более крупные - практически никто не использует CMS (либо используют своё узкоспециализированное решение).


    И вообще имею такой стереотип, что CMS - это не серьезно.

    Смотря с какой стороны смотреть:

    С точки зрения бизнеса - вообще насрать, каким именно образом решена задача, если она решена и даёт пользы больше, чем убытков.

    С точки зрения твоего личного роста как инженера - да, CMS - это тупиковая ветвь.


    И еще: на что стоит обратить внимание на первой работе?

    Узнавать заранее, как будет устроена работа и как тебя будут оценивать - это нормально.
    Просить прибавку к зп - это нормально.
    Иди с вопросами к твоему руководителю, если тебе не нравится работать в той команде/над тем проектом, на который тебя поставили - это нормально.
    Менять работу, если новое место работы обещает более интересные для тебя условия - это тоже абсолютно нормально.


    В любом случае всё время нужно будет развиваться и это зависит уже от челоека, а не от компании.

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


    Как бы вы поступили?

    Если нужны деньги:
    Я бы походил ещё по каким-нибудь компаниям на собесы, тк у тебя уже есть минимальный ценник, на который можно ориентироваться и набор задач, которые ты точно можешь решать.

    Если с деньгами точно проблем нет (есть родители которые закидывают деньги или ещё какой спонсор) - можно попробовать ещё какое-то время потратить на учёбу (при работе фуллтайм времени и сил будет уже меньше)
    Ответ написан
    2 комментария
  • Первая работа. Стоит ли идти в такую компанию новичку?

    @Drno
    Устраивает зп - иди. С опытом потом проще.

    Насчет несерьезно - загугли процент сайтов на cms. Ты сильно удивишься)
    Ответ написан
    Комментировать
  • Как получить значение из protected свойств?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Если доступа к классу нет или нет возможности расширить, то можно через рефлексию:
    $refClass = new ReflectionClass($object);
    $refProperty = $refClass->getProperty('count');
    $refProperty->setAccessible(true);
    $value = $refProperty->getValue($object);
    Ответ написан
    1 комментарий
  • Как получить значение из protected свойств?

    cr1gger
    @cr1gger
    Все дороги ведут в Рим — встретимся в Риме!
    Можешь написать внутри класса свою функцию которая возвращает нужную тебе переменную.
    А можно воспользоваться магическим методом __get и достать через него любую уже переменную.

    class Unt{
    	protected $count = 35;
    
    
    	public function getCount()
    	{
    		return $this->count;
    	}
    
    	public function __get($var)
    	{
    		return $this->$var;
    	}
    }
    
    $class = new Unt();
    var_dump($class->getCount()); // 35
    var_dump($class->count); // 35
    Ответ написан
    Комментировать
  • Как получить значение из protected свойств?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Написать геттер
    class Count {
      // ...
      public function getCount(){
        return $this->count;
      }
    }
    Ответ написан
    1 комментарий
  • CSS как сверстать вертикальное расположение? либо JS как правильно находить элемент в DOOM?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Зачем удалять? Просто делайте прозрачными (opacity: 0)

    Ответ написан
    Комментировать
  • Удаление/добавление класса при сужении экрана?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    1. лучше не класс удалять, а сам слайдер отключить. У него есть метод unslick
    2. Не нужно ширину чекать, лучше использовать matchMedia и в нем переключать слайдер
    Ответ написан
    3 комментария
  • Как добавить запятную после первого элемента, но только если длинна не меньше 4?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Можно использовать поддерживаемый современными браузерами Intl.NumberFormat
    const formatter = new Intl.NumberFormat('en-US');
    
    formatter.format(12345) // "12,345"
    formatter.format(123) // "123"
    formatter.format(1234567) // "1,234,567"
    Ответ написан
    3 комментария
  • Как заполнить колонку в таблице уникальными значениями?

    AndrewBoeing
    @AndrewBoeing
    Начинающий и упорный программист )
    Вы можете использовать функцию UUID() в MySQL, чтобы сгенерировать уникальный ключ для каждого пользователя при регистрации. Эта функция генерирует уникальный идентификатор UUID (Universal Unique Identifier) в формате 36-значной строки, состоящей из цифр и букв.

    Вы можете добавить новую колонку unique_key в таблицу xf_user и сделать ее UNIQUE, чтобы гарантировать уникальность значений. Затем при каждой регистрации вы можете генерировать новый уникальный ключ и добавлять его в эту колонку.

    Пример SQL-запроса для добавления колонки и заполнения ее значениями:

    ALTER TABLE xf_user ADD unique_key VARCHAR(36) UNIQUE;
    
    UPDATE xf_user SET unique_key = UUID();


    Это создаст новую колонку unique_key в таблице xf_user и заполнит ее уникальными значениями для всех пользователей, используя функцию UUID(). Вы можете добавить этот код в свой скрипт регистрации, чтобы генерировать уникальный ключ для каждого нового пользователя.
    Ответ написан
    8 комментариев
  • Может ли инвалид без руки работать тестировщиком игр?

    Stalker_RED
    @Stalker_RED
    "Тестировщиком руками" - сможет, но не все игры, конечно.
    Пошаговые игрушки типа героев - без проблем. Головоломки всякие, мобильные игры, где вообще одним пальцем зачастую можно играть.
    А вот 3д-шутеры, и всякие высокоскоростные игры, типа платформеров или доты будет сложно проходить одной рукой.
    Хотя некоторые вон приспосабливаются ногами еще что-то нажимать.

    Значительная часть работы тестировщика - не играть, а писать репорты.
    Ну и есть еще автотесты - писать тесты кодом, чтобы они исполнялись автоматически при каждой пересборке проекта. Это ОЧЕНЬ востребовано, и не только в играх - любой софт. И за это платят как правило больше, чем за тестирование руками, и это точно можно делать одной рукой.
    Ответ написан
    Комментировать
  • Может ли инвалид без руки работать тестировщиком игр?

    vabka
    @vabka
    Токсичный шарпист
    Не знаю, какое конкретно требования выдвигаются, но поспешу огорчить по поводу

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

    Тестировать игры и играть в них - это очень разные вещи.
    При тестировании нет абсолютно ничего, что радует при обычной игре.

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

    Но я бы не зацикливался именно на тестировании игр в частности и на тестировании вообще, ибо есть много других профессий, в которых не обязательно иметь обе руки.
    Ответ написан
    2 комментария
  • Как избавиться от lodash?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Открыть документацию lodash, разобраться, что делают используемые в представленном коде методы, переписать код без их использования. Как видите, всё довольно просто.
    Ответ написан
    Комментировать
  • Для чего нужен грид в 24 колонки?

    neuotq
    @neuotq
    Прокрастинация
    Чаще всего используют 12 колонок. Причина в сравнении с красивыми 10 проста - большее количество вариаций делений при относительно небольшом числе колонок, учитывая исходные что ширина бОльшей часть экранов кратно 8. Поэтому может вернее будет назвать эту систему системой 8-пиксельной, тк шаг в 8 пикселей для большинства размеров(при хард сетке всё кратно 8, при софт только расстояния между элементами). Таким образом легко быстро выстраивается модульная сетка с приятным ритмом.
    Поэтому многие системы/фреймворки по умолчанию настроены на 12 колонок.
    24 колонки - можно условно считать вариацией для любителей чуть большей вариативности и тонкостей с шириной/расстоянием между колонками и шага в 4 пикселя и тонкой настройки золотого сечения на странице.
    Отдельно стоят любители 16 колонок(относительно популярный вариант), это, как другие менее популярные, уже частные случаи сетки и дизайна, где все в ручную подбирается, либо изначально допускается меньшая вариативность размещения элементов/колонок/модулей. Поэтому прям зацикливаться не стоит, исходите из своих задач и требований, полёта фантазии дизайнера.
    Ответ написан
    Комментировать
  • Как сделать пагинацию без скрипта?

    Пагинация — это порядковая нумерация страниц, которую используют на сайте для последовательного отображения контента.
    У вас же это табы (они же вкладки). И в макете у вас это написано: "tabs".
    63e0cebf938b1752685591.png
    Делаются они не сложно. Можно реализовать как на чистом css, так и с использованием js.
    Ответ написан
    1 комментарий
  • Как реализовать функцию,принимающую неограниченное кол-во объектов и возвращает новый объект,содержащий все поля со всех объектов?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    раз хочется именно с reduce() – то можно редьюсить массив аргументов до одного результирующего объекта:
    const mergeObjects = (...args) => args.reduce((acc, c) => Object.assign(acc, c));

    Использование:
    mergeObjects({a: 'A'}, {b: 'B'}, {c: 'C', a: 'AAA'})
    // { a: "AAA", b: "B", c: "C" }


    Или так, чуть почище, чтобы не менять первый исходный объект:
    const mergeObjects = (...args) => args.reduce((acc, c) => ({...acc, ...c}), {});
    Ответ написан
    7 комментариев
  • Как подсчитать сколько раз использовался символ?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Строку по буквам можно перебрать циклом for .. of:
    let n = 0;
    for (const c of 'Moloko') {
      if (c === 'o') n++;
    }
    n // 3


    <Offtopic> не первый раз замечаю, что русскоязычная версия документации на MDN чуть хуже англоязычной. Например, явно String упоминается в английской, но не в русской версии описания for .. of
    Теории заговора welcome в комменты : )
    Ответ написан
    1 комментарий
  • Как вытащить видео с сайта?

    @timursarsembayev
    ОТВЕТ 2020 ГОДА

    Привет, из 2020 :)

    Решение для Linux (у меня Linux Mint):
    1. Откройте страницу с видео роликом, видео не включайте
    2. Открываете инспектор, вкладку Network
    3. Включаете воспроизведение видео
    4. В инспекторе в строке поиска вбиваете m3u8 и находите данный файл плейлиста (он обычно только один)
    5. Скачиваете плейлист файл с расширением m3u8
    6. Отдельно сохраните ссылку на m3u8, она будет примерно такой:
    https://cs9-4v4.vkuservideo.net/video/hls/p2/3ebb0cd8afd8/index-f3-v1-a1.m3u8?extra=hkhc5u2Cz0VxVRI1gf8Zw_p-K1zG5eCCK_-AKvw8v0tBNO4CmLZSO8j5PKdHBSebK_Ph_sY7PqEDwFNzHJt-eXnOKPj1QRZD0ahfqy24z6ZIdGKqvRnHuE-PhoocuvBqMpKPAI46LFv4juflt6hO6mO4Elc

    Отсюда нужно вычленить название самого файла и параметры после него, останется только это:
    https://cs9-4v4.vkuservideo.net/video/hls/p2/3ebb0cd8afd8/

    (у вас ссылка будет отличаться, это просто пример)
    7. Откройте скачанный файл m3u8 в редакторе, например, Sublime Text
    8. Откройте поиск по содержимому файла, включите режим регулярных выражений (regular expression), от строки поиска слева это кнопка .* или кликните по строке поиска и нажмите Alt+R
    9. Введите в строку поиска #EXT.* и нажмите на кнопку Найти всё (Find All) и нажмите Backspace
    10. Скопируйте полученный урл из 6 шага
    11. Введите в строку поиска символ ^ (на англ.раскладке клавиатуры нажмите Shift+6) и нажмите Найти всё (Find All)
    12. Вставьте скопированный урл (нажмите Ctrl+V) и сохраните изменения в файле
    13. Откройте uGet (если не установлено, то установите его), перейдите в File -> Batch Downloads -> Text file import и выберите файл плейлиста m3u8, начнется скачивание отдельных файлов формата .ts в вашу домашнюю папку /home/username где username это имя вашей учетной записи
    14. По окончании скачивания снова откройте файл плейлист в редакторе Sublime Text
    15. В строку поиска вставьте скопированный урл из 6 шага и нажмите Найти всё (Find All), нажмите Backspace и сразу же напишите file ' ( слово file, пробел и одинарная кавычка ' )
    16. В строку поиска введите ?extra.* ( если у вас включен режим регулярок, то введите \?extra.* ), нажмите клавишу Backspace, а затем клавишу ' (одинарная кавычка)
    17. В итоге вы получите файл со списком что-то вроде этого:
    file 'seg-1-f3-v1-a1.ts'
    file 'seg-2-f3-v1-a1.ts'
    file 'seg-3-f3-v1-a1.ts'
    и так далее...
    18. Переименуйте файл плейлиста и измените его расширение, например так:
    dwl_local.txt
    19. Переместите файл dwl_local.txt в домашнюю папку /home/username куда были скачаны все файлы .ts
    20. Откройте терминал в домашней папке и введите в нём следующее:
    ffmpeg -f concat -i dwn_local.txt -c copy output.ts
    или скопируйте эту строку и вставьте в терминал путем Shift+Ctrl+V
    где dwn_local.txt это название файла со списком файлов
    output.ts это название конечного файла

    Если по каким-то причинам у вас не установлен ffmpeg, то установите его через терминал:
    sudo apt install ffmpeg

    Решение для Windows:
    Всё то же самое, что и для Linux с 1 по 12 шаги
    13. Нужен Download Master, также импортируйте файл плейлиста со ссылками, возможно нужно будет его переименовать сразу и поменять расширение, например, на dwn_local.txt
    Дальше шаги с 14 по 18 повторите как в инструкции для Linux
    19. Переместите файл dwn_local.txt в папку с загруженными файлами, возможно это папка Downloads (Загрузки)
    20. Откройте командную строку Windows (найдите её в меню Start или Пуск) или нажмите клавиши Win+R и введите cmd, затем клавишу Enter
    В командной строке введите следующее:
    ffmpeg -f concat -i dwn_local.txt -c copy output.ts
    где dwn_local.txt это список файлов
    output.ts это конечный объединенный файл

    Таким образом вы получаете объединенный файл .ts из нескольких фрагментов .ts
    Сконвертировать в другие форматы можно при помощи VLC плеера или других программ
    Файл .ts можно загружать себе на YouTube канал без конвертаций
    Ответ написан
    4 комментария
  • Как вычленить максимальные значения из массива объектов?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Object.values(arr.reduce((max, n) => (
      max[n.group] = max[n.group]?.score > n.score ? max[n.group] : n,
      max
    ), {}))
    Ответ написан
    Комментировать