Задать вопрос
  • Можно ли заменить javascript языком dart/flutter?

    Aetae
    @Aetae
    Тлен
    Если заменить кривой язык для которого за годы и годы работы написали столько костылей, что они уже сложились в более-менее стабильный и устойчивый фундамент, на свежие кривые хипстерские языки от той же тусовки, то всё конечно станет стабильно.
    *сарказм.жпг*

    Ну и интересно, что у тебя там меняется, обратная совместимость в js практически абсолютна. Если ничего не трогать - ничего не сломается.
    Ответ написан
    Комментировать
  • Как отображать один из нескольких компонентов, по выбору пользователя?

    0xD34F
    @0xD34F Куратор тега React
    const components = [
      [   'Day', Components1 ],
      [  'Week', Components2 ],
      [ 'Month', Components3 ],
      [  'Year', Components4 ],
    ];

    const [ active, setActive ] = useState(-1);
    const Component = components[active]?.[1];
    const onClick = e => setActive(+e.target.dataset.index);

    {components.map((n, i) => <button data-index={i} onClick={onClick}>{n[0]}</button>)}
    {Component && <Component />}
    Ответ написан
    3 комментария
  • Нужно ли хорошо разбираться в алгоритмах джуну?

    @kalapanga
    Вопрос этот о необходимости знаний алгоритмов в той или иной форме всплывает здесь часто. Напишу своё субъективное мнение.
    Начинающему программисту знание алгоритмов больше всего может пригодиться на собеседовании, если собеседователь не придумает ничего лучше, чем заставить Вас при нём писать реализацию вот такого-то алгоритма!
    А потом может оказаться так, что Вы за всю жизнь не обошли ни одного графа (не писали код для этого), а для сортировки Вам всегда хватало стандартной процедуры из любимого языка.
    По-моему, программист молодец, если он знает, например, сам факт, что методы сортировки могут иметь разную эффективность в зависимости от характера данных и при необходимости найдёт и выберет нужный. А держать все их названия и реализации в голове - надо ли? Всё, что не применяется на практике, один чёрт, забудется.
    Ещё раз повторюсь, что это моё сугубо личное мнение, и я на нём ни в коем случае не настаиваю.
    Ответ написан
    Комментировать
  • Есть какой-то сервис для деобсуфицирования кода js?

    Stalker_RED
    @Stalker_RED
    Ты прикалываешься, да?
    https://www.google.com/search?q=js+deobfuscator+online

    Сразу предвижу "они плохо справляются". Тут ничего не поделаешь, у обфускаторов фора.
    Ответ написан
    Комментировать
  • Почему все называют TypeScript компилируемым языком программирования?

    1. Если душнить, то никто не называет TypeScript компилируемым языком.
    Вот например что написано на официальном сайте на самом верху:

    TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.


    2. У typescript есть компилятор tsc - его называют компилятором, потому что он по определению им является.

    Но стоп, компиляция - это процесс перевода "человеческого" кода в машинный код.

    Нет. Даже если брать определение из википедии, то будет:

    In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language).

    Никакой речи о "машинном коде" нет, как видишь)

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

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

    2. В англоязычном интернете transpiler наоборот являются подмножеством compiler.
    Compiler - такая программа, которая преобразует код с одного языка на другой, причём из одного файла может получиться N файлов.
    А tanspiler - это такая программа, которая берёт исходный код на одном языке, и преобразует его в исходный код на другом языке, причём 1 файл преобразуется ровно в 1 файл.

    Получается, что tsc - это транслятор/транспайлер, а причислять их к компиляторам или нет - это дискуссионный вопрос.
    Ответ написан
    2 комментария
  • Что делать если я не могу научится самостоятельно писать код даже с опытом работы на реальном проекте?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Вероятно, стоит поискать план Б, не все способны быть программистами.
    Ответ написан
    3 комментария
  • Программирования учат или применяют?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Ну серьезно. Зачем вы ходили в школу?
    Неужели в школе не было некоторого количества предметов, чтобы понять как что учится?

    Получилось ли выучить иностранный язык, просто зазубрив слова? Или выяснилось что и слова надо запомнить и практиковаться много раз, чтобы как-то начало получаться?

    Алгебру - достаточно ли просто зазубрить что такое + - * / %, чтобы решать все задачи, или приходится на практике решать кучу задач, чтобы научиться это делать быстро?

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

    Newto
    @Newto
    Добрый день. Я перечитал все ответы выше, а так же комментарии к ним. Решил прокомментировать, с точки зрения своего опыта(я занимаюсь разработкой уже более 15-ти лет). Для удобства чтения я буду писать по пунктам.

    1) Зубрёжка. Каждого из нас, кто ходил в школу, заставляли зубрить таблицу умножения. И, в конце-концов, это помогало в последующем обучении математики, не правда ли? В программировании есть такие же вещи, которые называются "стандарты". Вот эти стандарты и нужно, для начала, зазубрить. А позже и вникнуть, зачем они придуманы.

    2) Методика "объяснение и практика". Вы пишете, что "при таком способе мне приходится одно и тоже глазами несколько раз пробегать чтобы запомнить". Это, с моей точки зрения, в корне не верно. Ибо то, что вам объясняют, не нужно "пробегать глазами" несколько раз, что бы запомнить. Это вообще не нужно запоминать если это не те самые "стандарты"; это нужно осмыслить и понять. После того, как к вам придёт понимание как это работает, зачем и почему это надо -- вы сможете это использовать, осмысленно, в собственном коде.

    3) Платные курсы. Курсы ныне очень разные. Кто-то просто, простите, гребёт бабло на этом всём. А кто-то преподаёт с душой, хорошо и понятно рассказывая. Поэтому платный курс -- это хорошо, но только тогда, простите за тавтологию, когда это хороший курс. Читайте отзывы о курсе, советуйтесь с теми кто его уже прошёл(в идеале) и тогда уже решайте, тот ли этот курс, что даст вам необходимые знания.

    4) ВУЗ. Более 10-ти лет назад, у меня в подчинении, в вебстудии, работал PHP джун. Он доучивался в МГТУ имени Баумана. И он не знал ничего. Совсем. Мне приходилось объяснять ему простейшие вещи, типа что значит иструкция "$a += $b;". Сам же я учился в ВУЗе малоизвестном, на факультете "прикладная информатика в экономике" и наш преподаватель информатики, на первом курсе, на вопрос что значит в коде программы на языке C++ инструкция "с++" ответил, что это "так язык называется". Однако, вскоре ко мне начали ходить сокурсники, с просьбами "а напиши программку". И происходило это потому что я сам загорелся программированием, купил книжки, установил всё что нужно было установить на компьютер и начал "творить волшебство", как это мне тогда виделось, с горящими глазами. Короче говоря не нас учат ВУЗы, а мы учимся в ВУЗах или учимся без них. Тут уж как пойдёт.

    5) Ну и последний, самый важный, с моей точки зрения, пункт. Это Интерес. Если вам интересно программирование, вам нравится разбираться, что-то делать самостоятельно, а не только тогда когда кто-то поставил задачу, то у вас все получится. И как именно это всё учить у вас вопроса, в конце концов, не возникнет. Разбирайтесь, ковыряйте, вникайте и всё будет. Единственное что -- очень желательно, что бы перед вашими глазами были хорошие примеры. Потому что я, в свое время, тоже разбирался, учился и вникал, "гладили по голове", как писали выше в комментариях к одному из ответов, меня уже мои наниматели, потому что я все делал быстро и без ошибок, т.е. работало все так, как было нужно клиентам веб-студии, собеседование в которую я тогда прошел без каких-то проблем. Но вот мой код тогда был, откровенно говоря, тем, что сейчас называется "говнокодом". Потому что некому было мне показать как писать есть хорошо, а как есть плохо.

    Подыдожу -- ключи к быстрейшему развитию в деле разработки это ваш интерес к этому делу, желание им заниматься и примеры хорошего, качественного кода перед глазами. А так же кто-то, кто сможет технически оценить вашу работу и, без агра, с конструктивом, показать и рассказать что вы сделали не так.
    Ответ написан
    25 комментариев
  • Как передать данные от дочернего элемента в родительский React TypeScript?

    bingo347
    @bingo347 Куратор тега TypeScript
    Crazy on performance...
    https://react.dev/reference/react/useState
    + прокинуть колбэк через пропсы
    в чем проблема то?
    Ответ написан
    Комментировать
  • Какие сейчас тенденции в веб-программировании?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    С тем же успехом можно было спросить "Какие сейчас тенденции в программировании?" Web-разработка - это настолько обширная область, что общие тенденции в ней вряд ли возможны. Если брать относительно узкую категорию "Клепание однообразных говносайтов для ИПшников" то да, агрессивный маркетинг 1С всё ещё держит битрикс на плаву.
    Ответ написан
    2 комментария
  • Чем меньше символов, пробелов и пропусков в коде, тем лучше?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Неправильно.
    Названия переменных и функций должны быть говорящими, чтобы их назначение сразу было понятно. Урезать названия до пары символов, лишь бы было покороче, - очень плохо.
    По пробелам, пустым строкам, отступам и пр. есть стайлгайды - рекомендации по оформлению кода. Например, PSR-1 и PSR-12 для PHP, Google Style Guide и Airbnb Style Guide для JS. В компании может быть принят и какой-то свой стайлгайд.
    Ответ написан
    Комментировать
  • Чем меньше символов, пробелов и пропусков в коде, тем лучше?

    Не правильно.

    Код должен быть читаем и понятен человеку. Причем, не только автору, но и «злому маньяку тим-лиду, который вооружен и знает, где вы живёте», как говорится в шутке программистов.
    Для этого пустые строки между блоками кода бывают полезны. Как и комментарии, и длинные осмысленные наименования переменных и фукций.
    Компилятор потом всё равно всё перелопатит по-своему в ацкие бинарные инструкции )

    Как форматировать код — договариваются. Есть общепринятые стандарты форматирования кода (coding style). Например, стандартный для PHP. Или принятый в компании AirBnB для JavaScript.

    Хороший-удобный редактор кода всегда подскажет, где накосячили со стилем вашего кода, почему, и как исправить.
    Ответ написан
    Комментировать
  • Для чего обычно используют wsl в windows?

    Ответ кроется буквально в названии.
    WSL - Windows subsystem for linux.

    Все используют его для запуска каких-то программ, которые либо работают только на Linux, либо на Linux работают лучше, чем на Windows, либо для отладки работы этих программ на Linux.

    Тот же git например работает на Linux быстрее => может быть удобнее создать проект внутри WSL и работать в нём.
    + Сразу получаешь линуксовую консоль, которая работает быстрее, чем powershell.
    + Docker нативно работает
    и прочая и прочая.

    https://learn.microsoft.com/en-us/windows/wsl/about
    Ответ написан
    8 комментариев
  • Как можно запретить отображение рекламы Quiet Media которая вставляется без моего ведома на сайты через HTTP?

    @maksam07
    Установка ssl-сертификата
    Это единственное верное решение по многим причинам. Есть бесплатные сертификаты, которые ставятся за пару минут, но вместо этого вы пытаетесь придумать метод, на реализацию которого уйдет значительно больше времени или нельзя будет реализовать вообще
    Ответ написан
    1 комментарий
  • В каком порядке изучать Java?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    В том же, в каком и в 2022-м.
    Ответ написан
    1 комментарий
  • Какое оптимальное время въехать в проект?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    От проекта зависит. На моëм проекте например новичкам даже сеньорского уровня до первой простой таски требуется недели две, а выход на 100℅ эффективность занимает 3-6 месяцев.
    Ответ написан
    9 комментариев
  • Работать в IT или продолжить учебу?

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

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

    Лучший выход - перейти на заочку и работать.

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

    На мой взгляд, окончательное решение должен решать непосредственно тот, кого это касается
    Ответ написан
    Комментировать
  • Canvas линия и способ её описания?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Canvas – это растр. Нарисованная линия ничем не будет, кроме набора пикселей на холсте.
    Вы можете сохранять параметры линии, по которым сможете нарисовать ее заново. Но вы не можете сохранить саму линию.
    Ответ написан
    1 комментарий
  • Как из массива строк получить те, у которых длина равна 5?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Дурацкому вопросу - дурацкий ответ:

    `${arr}`.match(/\b\w{5}\b/g) || []
    
    // или
    
    arr.reduce((acc, n) => (n.length ^ '0b101' || acc.push(n), acc), [])
    
    // или
    
    arr.filter(n => n[4] && !n[-~4])
    
    // или
    
    arr.filter(RegExp.prototype.test.bind(/^.....$/))
    
    // или
    
    arr.reduce((acc, n) => ((acc[n.search('$')] ??= []).push(n), acc), {})[5] ?? []
    
    // или
    
    (function get(i, n = arr[--i]) {
      return i >= 0
        ? get(i).concat(5 - [].push(...n) ? [] : n)
        : [];
    })(arr.length)
    Ответ написан
    Комментировать