• Как вы боретесь со слабой типизацией и зачем ее придумали?

    rockon404
    @rockon404
    Frontend Developer
    Для этого в проектах используют TypeScript или Flow:
    const foo = (arg: number) => { /* do something with number type */ };

    Сейчас без них большие проекты лучше даже не начинать.

    О преимуществах слабой типизации:
    1. Удобство использования смешанных выражений (например из целых, вещественных чисел и строк).
    2. Абстрагирование от типизации и сосредоточение на задаче.
    3. Краткость записи.
    Ответ написан
    Комментировать
  • Как вы боретесь со слабой типизацией и зачем ее придумали?

    И самое главное: кто придумал слабую типизацию?

    Для начала разберитесь с классическим заблуждением, и не путайте слабую типизацию и динамическую типизацию. Сейчас из вашего вопроса можно подумать, что это одно и то же.

    Динамическую типизацию придумали для того, чтобы было легче писать обобщённые алгоритмы и мета-алгоритмы, в дин. языке для обобщения кода не нужны ухищрения типа дженериков (TypeScript, C# и много чего ещё) или шаблонов/макросов (C++). В ОО-языках часто доступны и другие удобства, например смена интерфейса объекта в зависимости от его состояния (т.к. решение о возможности вызова метода/свойства объект может принимать сам).

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

    Как вы пишете код на жс?

    Мы не пишем код на JS, мы пишем код на TypeScript. Да, такие сейчас странные времена, когда язык со статической типизацией компилится в язык с динамической, т.к. исполнять на клиенте (в браузере) больше нечего пока.

    Он же не должен быть напичкан parseInt() и !== undefined.

    Не должен. Если писать на голом JS, можно а) использовать JSDoc для аннотаций о типах, и работать с типами на уровне документации и договорённостей; б) писать алгоритмы в максимально обобщенной манере, и требовать по возможности не конкретных типов данных, а значений, над которыми допустимы нужные вам операции; в) покрывать код тестами, что и спасает в динамических языках.

    Чем больше проект, тем важнее статическая типизация, это нормально. JS - это язык который популярен по техническим причинам и по стечению обстоятельств, а не потому что он этого заслуживает (имхо). Очень неглупые дяди и тёти не стали бы тратить годы своего времени и кучу денег на разработку TypeScript и Flow, если бы это было ненужно.
    Ответ написан
    1 комментарий
  • Как наверстать знания в javascript?

    Yertuwernat
    @Yertuwernat
    Кратко о себе: живу в России, не женат, характер
    Как вариант ты можешь работать без всех этих технологий: babel, webpack, typescript и тд и тд.

    Вообще без них!

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

    Я например создаю веб-приложения "для себя" ну и для всех кому понравится, и пишу код так как мне удобно, и не страдаю вообще, и для работы мне хватает старенького мака 2005 года выпуска.
    В принципе, работая так, можно даже делать на заказ. Но чаще всего заказчики дебилы и хотят чтобы разработчик работал по стандартному шаблону, чтобы его потом можно было бы уволить и нанять другого. Это страх и недоверие типичное в наших людях.

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

    И те кто вынужден работать в этих фреймворках чаще всего сами себе внушают что так и должно быть и это нормально - и рекламируют это другим...
    Это просто дурдом.
    Ответ написан
    15 комментариев
  • Зачем вообще использовать тег picture? В чем его плюсы?

    dom1n1k
    @dom1n1k
    Лично для меня практический смысл picture заключен в использовании нескольких форматов. А конкретнее, главный файл в webp плюс jpeg-фолбек - экономия трафика порядка 20-30%.
    Это малая часть возможностей, но в большинстве случаев использую только её.
    Ответ написан
    Комментировать
  • Какой роутер нынче хорош дома для гика?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    соседский
    Ответ написан
    Комментировать
  • В какое направление смотерть в PHP разработке?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Тестовые для джуниора:
    Какие тестовые проекты стоит написать

    Фреймворки:


    На CMS смотреть не стоит, разве только если CMS интернет-магазинов (кроме Битрикса — это тупиковые знания, замкнутые сами на себя, и сомнительного качества)
    Ответ написан
    1 комментарий
  • Приложение для фиксации времени и дел?

    Попробуйте https://www.toggl.com/
    Есть приложения, в том числе и для Android.
    Ответ написан
    1 комментарий
  • Как подключиться к глобальному интернету Маска?

    Jump
    @Jump
    Системный администратор со стажем.
    Как подключиться к глобальному интернету Маска?
    Это надо спрашивать у самого Илона.

    Если по существу - никак.
    Маск он вообще то в США, поэтому спутники ожидаемо будут работать там же, а не у нас, до нас это доберется только когда уже будет полная группировка спутников на орбите.
    К тому же как уже сказано выведено всего два спутника - никакого интернета при таком количестве спутников просто не будет.

    Там надо по самым скромным расчетам две сотни спутников, чтобы это хоть как-то заработало. А их на данный момент два.

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

    Но это только половина проблем - без наземной инфраструктуры никакой спутник интернета вам не обеспечит.
    Нужна наземная станция с проводным подключением к интернету, неподалеку от вас.
    Ответ написан
  • Как можно задать css стиль для тега option?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Ответ написан
    Комментировать
  • Как въехать в программирование (ООП, паттерны)?

    GTRxShock
    @GTRxShock
    Full-stack developer (Symfony, Angular)
    если программируете на php 2-3 года, то пора бы перед сном почитать РНР: объекты, шаблоны и методики программирования (Зандстра) желательно в бумажном варианте.

    + Паттерны проектирования (Фримен) для общего/наглядного понимания паттернов
    + www.phptherightway.com основные тезисы
    + Рефакторинг: улучшение проекта существующего кода (Фаулер) & https://refactoring.guru/ru на будущее, к чему стремиться :)
    Ответ написан
    4 комментария
  • Как реализовать такой эффект загрузки контента?

    fruity4pie
    @fruity4pie
    A
    Подобное можно сделать с помощью pixi.js

    Вот тут можешь посмотреть пример, как делать нечто подобное:

    youtube
    Ответ написан
    Комментировать
  • Как реализовать такой эффект загрузки контента?

    filgaponenko
    @filgaponenko
    frontend developer
    Вот описание похожей методики, думаю можно использовать эту идею для вашего случая: https://medium.freecodecamp.org/using-svg-as-place...
    Ответ написан
    Комментировать
  • Как стилизовать reCaptcha?

    @andreibalkin
    Можно изменить масштаб средствами css, прописав их для блока капчи. Стандартно вроде блок с классом - g-recaptcha.

    transform:scale(0.8);
    -webkit-transform:scale(0.8);
    transform-origin:0 0;
    -webkit-transform-origin:0 0;

    Так же как и в мобильной версии сделать другой масштаб к примеру используя медиа запросы -@media screen and (max-height: 480px){}
    Ответ написан
    4 комментария
  • Как можно убрать "overflow:hidden" по вертикали у слайдера?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Я вижу только один вариант - писать много js =)
    Т.е. ловим событие наведения мышки, генерируем блок за пределами слайдера наполняем соответствующим контентом из наведенной карточки, высчитываем и позиционируем поверх карточки. Не забываем каждый раз инициализировать и дестроить плагины/скрипты/события, которые работают внутри наведенной плашки.
    Ответ написан
    9 комментариев
  • Почему в большинстве университетов C# стал заменять Java?

    arxont
    @arxont
    C# программист
    Чем лобби Microsoft хуже, чем лобби Oracle? А по факту сейчас C# более развитый язык с гораздо большим количеством синтаксического сахара и проще "во вхождении".
    Ответ написан
    23 комментария
  • Болезнь творца или как создать свой виртуальный мир?

    sim3x
    @sim3x
    будет жить своей жизнью, независимо от меня
    ага и кофе сам варить будет. Так не бывает. Потребуется балансировка и множество прогонов симуляции, чтоб понять как сделать стабильное окружение, которое будет интресно изменять пользователю

    3D графику позволить себе не могу
    поищите начинающих художников

    в виде обычных графиков и цифр
    их еще сложнее придумать

    Город будет иметь небольшие окрестности, в которых необходимо реализовать рост растительности и активность некой фауны.
    и как она буде симулироваться? Есть уже соотношения, сколько нужно вырастить деревьев и живности за один тик?

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

    Начать вам стоит с создания своей версии игры Life
    Там поймете в чем суть и проблематика вашей затеи
    Сразу определитесь, как будут взаимоействовать между собой игроки и будут ли
    Несколько серверов не понадобится - для обсчета симуляции много ресурсов не требуется (если не написать фигни вместо кода)

    Фреймворк в данной задаче не сильно поможет, если только не сумеете спроектировать все так, чтоб валидации и сохранение через него проходили
    Ответ написан
  • MySQL клиент под Mac

    trueClearThinker
    @trueClearThinker
    Ответ написан
    Комментировать
  • Как повторно использовать компоненты верстки в разных проектах?

    AlibekKulseitov
    @AlibekKulseitov
    Люблю верстать и писать музыку
    Чувак ты прям по адресу)) Я тоже таким болел и болею)) Вот как делаю я. Я создал для себя свои собственные компоненты которые наработал в ходе куча разных проектов. Когда надо их подключаю а когда не надо просто комментирую их. Выглядит это вот так:
    То есть в самой папке компонента я храню вьюшку компонента и его стили.

    5a3b8a0cb4cfc589655276.png
    <!-- breadcrumb -->
    <ul class="breadcrumb">
        <li class="breadcrumb__item">
            <a href="#" class="breadcrumb__link">Level 1</a>
        </li>
        <li class="breadcrumb__item">
            <a href="#" class="breadcrumb__link">Level 2</a>
        </li>
        <li class="breadcrumb__item">
            <a href="#" class="breadcrumb__link breadcrumb__link_is-active">Current page</a>
        </li>
    </ul>
    <!--/. breadcrumb -->

    //
    // Component: breadcrumb
    // --------------------------------------------------
    
    .breadcrumb {
        .nl();
        margin-bottom: 15px;
        margin-top: 40px;
        position: relative;
    
        &__item {
            display: inline-block;
            position: relative;
            margin-right: 5px;
    
            &:before {
                font-family: 'FontAwesome';
                font-size: 13px;
                color: #fff;
                content: '\f105';
                display: inline-block;
                vertical-align: middle;
                margin: 0 5px 0 0;
            }
    
            &:first-child:before {
                display: none
            }
        }
    
        &__link {
            font-size: 16px;
            color: #fff;
            text-decoration: none;
    
            &:hover,
            &:focus,
            &_is-active {
                color: @color-main;
            }
    
            @media(max-width: @screen-ms-max) {
                font-size: 14px;
            }
        }
    }


    В общем суть понятна да?)

    Что делать если начинаешь новый проект и все надо переносить?
    Ничего переносить не надо, у меня есть такая папка называется TARS BUILDER.
    Это получается Голый Tars только уже с моими компонентами и плагинами. Его походу дела и дополняю всегда.
    Например верстаю сижу и тут бац понял что тут можно удобно сделать так-то сяк-то, иду в папку Tars Builder и там же сразу делаю это улучшение. Короче говоря пока верстаю на поле боя я там понимаю как и что мне удобно и переношу эти апгрейды в свой фреймворк/шаблон TARS BUILED.

    Так же создаю походу дела свою миксины, переменные и тд.

    Таким способом я легко начинаю новый проект на TARS.
    Ответ написан
    Комментировать
  • Как убрать элементы управления на яндекс карте?

    @blolg
    Добавьте в конструктор:
    controls: []
    Здесь указываются элементы управления, которые мы хотим добавить. А т.к. коллекция пустая, то никакие элементы управления не будут добавлены.
    Вот тут в документации написано про элементы управления https://tech.yandex.ru/maps/doc/jsapi/2.0/dg/conce...
    Ответ написан
    1 комментарий