• Почему не работает toLocaleString() после toFixed()?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    RTFM: Number.prototype.toFixed()

    Return value
    A string representing the given number using fixed-point notation.


    UPD:
    А как быть, если нужно сделать и toFixed() и toLocaleString('ru-RU')? К примеру, отобразить 1234.567 с точностью пять знаков и форматированием toLocaleString() (1 234,56700)?


    Использовать Intl.NumberFormat():
    new Intl.NumberFormat(undefined, { maximumFractionDigits: 5, minimumFractionDigits: 5 }).format(1234.567)
    > "1 234,56700"
    new Intl.NumberFormat('ru-RU', { maximumFractionDigits: 5, minimumFractionDigits: 5 }).format(1234.567)
    > "1 234,56700"
    Ответ написан
    Комментировать
  • Почему не работает toLocaleString() после toFixed()?

    IvanU7n
    @IvanU7n
    nothing interesting here
    потому что Number.toFixed() на удивление возвращает строку, для строки нужно что-то типа .replace('.', ',')

    ПЛЮС: ну или сношения с Math.round() и потом .toLocaleString()
    да и .toLocaleString() использует локаль браузера, которая не всегда бывает нужная, да ещё и вставит пробелы или запятые между разрядами
    уж если нужен конкретный формат, то ЕМНИП .toLocaleString() принимает локаль в качестве параметра
    Ответ написан
    6 комментариев
  • Смена URL без перезагрузки страницы?

    siegerstein
    @siegerstein
    history.pushState(null, null, '/anypath');
    Ответ написан
    Комментировать
  • Как перезаписать правило ЧПУ для собственнего компонента Битрикс при сохранении настроек?

    @PetrPo
    У тебя комплексный компонент, он все правильно переписывает urlrewrite. Когда включаешь SEF_MODE у тебя есть доп. параметр SEF_URL_TEMPLATES, вот он и будет твоими правилами, которые ты хочешь вот так записать #^/somedir/([^/]+)/([^/]+)?/?(.*)$#
    Сохрани свой компонент через визуальный редактор, потом вручную (пока что) замени в индексном файле
    "SEF_URL_TEMPLATES" => array(
    	"element" => "#CODE#/",
    	"articles" => "#CODE#/articles/",
    	"articles2" => "#CODE#/articles2/",
    	"articles3" => "#CODE#/articles3/",
    ),

    Теперь по запросу /somedir/#CODE#/articles/ у тебя будет подключаться страница articles.php (остальные соответственно - /somedir/#CODE#/articles2/ будет articles2.php ), которую тебе надо создать в шаблоне комплексного компонента. в $arResult['VARIABLES']['CODE'] у тебя будет код твоего элемента, можешь доставать нужные связи - тут уже как считаешь правильным, хоть тут запросы делай, хоть на уровень комплексного компонента это выноси, я бы для таких связей написал еще простой компонент.

    Ну и остается сделать, чтобы твои SEF_URL_TEMPLATES можно было через визуальный редактор редактировать, в любом комплексном компоненте в файле .parameters.php можешь посмотреть (ориентир, все что с SEF_MODE связано)

    Примерчик на основе компонента news:
    5f3a8ffb3d32e894639962.jpeg
    стандартный битриксовый eshop, раздел новости, компонент news, все работает как надо

    Правки в файле .parameters.php компонента, раздел SEF_MODE
    // ...............
    "SEF_MODE" => Array(
    	"element" => array(
    		"NAME" => GetMessage("T_IBLOCK_SEF_PAGE_NEWS_DETAIL"),
    		"DEFAULT" => "#CODE#/",
    		"VARIABLES" => array("CODE"),
    	),
    	"articles" => array(
    		"NAME" => "Страница связанных articles",
    		"DEFAULT" => "search/",
    		"VARIABLES" => array(),
    	),
    
    	"articles2" => array(
    		"NAME" => "Страница связанных articles2",
    		"DEFAULT" => "search/",
    		"VARIABLES" => array(),
    	),
    
    	"articles3" => array(
    		"NAME" => "Страница связанных articles3",
    		"DEFAULT" => "search/",
    		"VARIABLES" => array(),
    	),
    
    ),
    // ................
    
    в конце по вкусу можно добавить, что-то типа
    if($arCurrentValues["SEF_MODE"]=="Y")
    {
    	$arComponentParameters["PARAMETERS"]["VARIABLE_ALIASES"] = array();
    	$arComponentParameters["PARAMETERS"]["VARIABLE_ALIASES"]["CODE"] = array(
    		"NAME" => GetMessage("CP_BC_VARIABLE_ALIASES_ELEMENT_ID"),
    		"TEMPLATE" => "#CODE#",
    	);
    }


    В файле component.php можно добавить
    $arDefaultUrlTemplates404 = array(
    	"news" => "",
    	"element" => "#CODE#/",
    );
    Ответ написан
    Комментировать
  • Как реализовать хорошую графику на arduino?

    @evgeniy_lm
    arduino понятие растяжимое.
    Например на Uno/Nano это проблематично, на Mega можно попробовать, но результат сомнителен, на Due вполне может быть, но придется потрудится

    Сам сейчас пытаюсь делать метеостанцию с красивым интерфейсом на Uno (вывод на экран 2,4") + Nano (датчики, обработка). Но все больше склоняюсь к Mega (Due, увы, финансы не позваляют )
    Ответ написан
    2 комментария
  • Как реализовать хорошую графику на arduino?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    Вот прям недавно на гиктаймсе были статьи про это дело. Нашел на стороннем ресурсе: robotclass.ru/tutorials/arduino-nextion-tjc
    Вкратце, дисплей со своим контроллером, рисует интерфейс, отдает команды по нажатию на тач, обновляет интерфейс согласно входной информации от ардуино.
    Ответ написан
    1 комментарий
  • Как реализовать хорошую графику на arduino?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Arduino не тот инструмент, чтобы свои ресурсы на слайдеры да прогресс-бары тратить. Он для более низкоуровневых вещей.
    Ответ написан
    2 комментария
  • Обязательно ли знать Bitrix чтобы быть web-разработчиком?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Есть две стороны медали.
    1. Разработка на самой востребованной на рынке пока что в СНГ системе (Bitrix). Востребованной в 1 очередь заказчиками, а не разработчиками.
    Вы всегда найдете себе работу.
    Но вам придется мириться с текущими недостатками, которые исправляются не так быстро, т.к. поддерживается обратная совместимость (они не могут себе позволить ее не поддерживать т.к. имеют слишком большую долю на рынке). Но все же исправляются, и на новое ядро уже переписана немалая часть функционала.
    2. Разработка на фреймверках. В России к примеру распространены YII, Symphony и активно набирающий обороты Laravel. Yii - больше для мелочи, Symphony/Laravel потенциально для более крупных проектов.
    Работа с ними приятнее с точки зрения программирования, но вам потенциально придется писать очень много того что в CMS уже написано. Хотя порой написать новое быстрее чем кастомизировать уже написанное под бизнес задачу.
    Рынок/вакансий на FW меньше, + есть не стабильность, сегодня популярен один FW, завтра другой. Доминирующей позиции ни у кого нет. Если выберете эту ветку - я бы посоветовал Laravel, мне кажется наиболее перспективный, в топовых студиях по крайней мере спрос растет.
    Плюсы данного пути - вы начинаете изучать программирование "снизу", с ООП, ядра, без вариантов. Это сложнее чем изучать CMS, должна быть неплохая теоритическая база чтобы не гавнокодить (имхо).

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

    Ваша лучшая документация код, который под капотом, за красивыми (или не очень) интерфейсами. Хорошо документированных CMS почти нет, bitrix в этом направлении один из лидеров.
    Если скил пока не позволяет читать исходный код и понимать, то начинайте мануалов).

    Вообще для обучения мониторьте HH.ru на тему: junior разработчик. Вам повезет если вы попадете в крупную студию с хорошими ведущими специалистами и хорошей программой обучения. При таком раскладе вас научат программировать вне зависимости от использования платформы и научат базовым практикам корпоративной совместной разработки + быстро отучат говнокодить.
    Если попадете в мелкую - тут придется самому грызть гранит, читать много литературы, вы достигнете всего того же, но за больший период. Для начала кстати посоветовал бы почитать:
    • "PHP. Объекты, шаблоны и методики программирования" Мэт Зандстра
    • "Совершенный код" Стив Макконнелл


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

    @SerMelipharo
    Для начала надо выучить машинописный синтаксис родного языка. Например, нормы сочетания пунктуационных знаков и пробелов, и только после этого переходить к английскому языку, а далее к языкам программирования.
    Ответ написан
    Комментировать