• Насколько хорошо подходит Rust для Embedded систем, например модули для wifi роутеров?

    vabka
    @vabka Куратор тега Rust
    Уже можно его брать за основу для продукта или это будет "плакали - кололись и продолжали жевать"?

    Сейчас в целом всё ок, но иногда будет "плакали кололись", особенно если используется какая-то периферия или чип, для которых ещё не написаны готовые библиотеки (или они устарели).
    Ну это по моим ощущениям, тк я пока глубоко не залазил. Со всякими популярными штуками типа stm32-discovery всё ок.
    Ответ написан
    Комментировать
  • Почему меня не приглашают на собеседование?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Почему меня не приглашают на собеседование?

    Может это -
    Что не так с моим резюме?
    5f9d5b4a66355804272017.png
    Ответ написан
    2 комментария
  • Стажер без высшего образования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Вопрос задается постоянно.
    СОВЕРШЕННО НЕ ВАЖНО какой язык программирования, си, пхп, жс - это все ОДИН вопрос.
    И задавать его нужно не на тостере, а потенциальному работодателю.

    Потому что на тостере тебе кто-то скажет что вышка не нужна.
    Ты сходишь на 10 собеседований а там тебе скажут что нужна и не возьмут.
    Кто будет виноват ты или кто-то на тостере?

    На тостере тебе скажут что вышка нужна.
    Ты закончишь ВУЗ, начнешь устраиваться, а тебя не возьмут потому что ты собственно ничего не знаешь. Или возьмут, а там окажется рядом еще 4 мида, которые без вышки уже 4 года с джунов тут поднялись.
    И опять кто будет виноват?

    Иди к работодателям в своем городе, где ты реально планируешь работать и спрашивай у них напрямую.
    Ответ написан
    Комментировать
  • Зачем нужны Module и Namespace?

    bingo347
    @bingo347 Куратор тега TypeScript
    Crazy on performance...
    TypeScript появился еще до того, как в JavaScript, на котором он основан, появились какие либо модули, не то что нативные, даже эмуляций вроде commonjs или amd тогда еще не было. В те времена было в норме просто обернуть содержимое файла в замыкание, а потом либо просто подгрузить все файлы через тэг script либо просто соединить эти файлы в один. Наружу же высвечивалась одна единственная переменная, содержащая все публичное апи такого модуля, ее ложили или в глобальный объект или в другую такую-же переменную.
    Конструкции module и namespace позволяют упростить создание таких переменных, избавив разработчика от написания однотипного кода. В этом плане они по сути делают одно и то же.
    Сейчас это не рекомендованное использование, и стандартный плагин typescript к eslint с настройками по умолчанию запрещает эти конструкции.

    Второе применение - это файлы деклараций.
    namespace позволяет объявить объект, но несколько особенный в рамках типизации, он может содержать в себе любые сущности языка и экспортировать не которые из них, в том числе типы, что недоступно для декларации обычного объектного типа.
    declare namespace XXX {
      // по сути просто поле XXX.a
      let a: number;
      // то же поле XXX.b но уже const
      // современный ts позволяет делать поля readonly, но раньше так было нельзя
      const b: number;
      // функция, по сути метод XXX.c()
      function c(): void;
      // а вот вложенный тип через тип объекта не объявить, а в namespace можно
      type T = number | string;
    }

    module позволяют объявить виртуальные модули, о типах которых typescript не знает, например потому что они генерируются сборщиками вроде webpack. Яркий пример тут это css-модули или картинки, которые можно импортировать благодаря webpack, но typescript ничего не знает о их типах, поэтому нужно объявить их в глобальных декларациях:
    declare module '*.png' {
      const url: string;
      export default url;
    }
    declare module '*.css' {
      const classNames: Record<string, string>;
      export default classNames;
    }
    Ответ написан
    1 комментарий
  • На чем лучше написать свою CMS?

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

    Нередко вижу, что сюда пишут люди, которым не нужны ответы. У которых есть своё готовое мнение-решение.
    Непонятно только, что в таком случае вы хотите от нас. Ответ-то у вас готов.
    Ответ написан
    1 комментарий
  • Как корректно потянуть время до принятия оффера?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Расставить приоритеты. Именно в данный момент(ковид, сокращения, индексация зп), я бы на вашем месте поторопился, иначе как написал Рональд Макдональд есть шанс не присесть на длинный и большой оффер, и остаться на "улице". К тому же вы ничего не теряете, если у вас оффер уже в компанию с именем и бэкграундом - это не плохо.

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

    Leo5878
    @Leo5878
    Улыбчивай, люблю учить и учиться
    Ну смотри. Тебе следует почитать о прицнипах ООП, функционального програмирования. Будешь лучше понимать, как правильно писать код, чтобы потом не было с ним проблем.
    Читай о патернах, методологий (css). Есть в ООП такое понятие как принцип solid

    Вот несколько источников, где можо познакомиться с этим:
    https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B7%D...
    https://labs-org.ru/obektno-orientirovannoe-vizual...
    https://tproger.ru/translations/10-oop-principles/
    https://techrocks.ru/2020/08/26/solid-principles-i...
    https://medium.com/webbdev/solid-4ffc018077da

    О патернах ООП:
    https://habr.com/ru/post/136766/
    https://proglib.io/p/learn-oop-patterns/ - более новая статья (патерны те же)
    https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D0%B1%D... - познкомишьс с шаблонном проектированием. Рекомендую в википедии взять их названия познакомиться с ними там на каком-то уровне базовом, а потом гуглить их по отдельности, особенно ООП, потому как js является ООП языком и с функциональном программированием, лишним вообще не разу не будет.

    Если будешь гуглить такую тематику, то там будут примеры того, что описывает прицип, так лучше будешь понимать, как надо делать и какие плюсы ты получишь от использования. Ну и желателен наставник, который бы указывал на ошибки. Ну и конечно же побольше писать! Еще научиться проводить рефакторинг кода, это когда ты написал функцию, например, а она у тебя большая, сложная и не понятная, а ты знаешь, что функция у тебя должна выполнять ровно одно действие, вот ты и дробишь ее на несколько мелких, меняшь условия на более логичные, менешь название переменных на более понятные и т.д. Сокращаешь код или делаешь его более локаничым, оставляя функционал тот же и вот ты уже можешь переиспользовать любую из функций, просто дав ей нужные аргументы, а что у тебя в условии понятно с полувзгляда, потому что, например, у тебя функция какая-то проверяет условие, возвращет boolean значение и тебе достаточно в if проверить, что тебе вернулось true или false)

    А в репозиториях все, что ты поймешь, так это то-что ничего не понятно)))
    Масимум увидешь как можно написать ту или иную вещь. Все! Ты больше ничего там не поймешь. Слишком много кода, для анализа, чтобы учиться на твом уровне
    Ответ написан
    Комментировать
  • Реален ли такой дженерик в TypeScript?

    Aetae
    @Aetae Куратор тега TypeScript
    Тлен
    Вот так с указанием на аргументы:
    function wrapper<T extends { start(...args: unknown[]): unknown }>(target: { new(): T }, ...args: Parameters<T['start']>): T {
      let instance = new target();
      instance.start(...args);
      return instance;
    }
    
    
    class RandomClass {
      start(arg1: string, arg2: number) { /* ... */ }
    }
    let instance = wrapper(RandomClass, 'Hello, world!', 777); /// все ок
    let instance2 = wrapper(RandomClass, 777); /// ошибка
    Ответ написан
    Комментировать
  • Как программировать бизнес процессы?

    xez
    @xez
    TL Junior Roo
    Для этого придуман BPM.
    Вот, например: https://camunda.com/
    Ответ написан
    Комментировать
  • Зачем требуются различные СУБД, если можно использовать структуры данных языка, например словари и списки в питоне?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Если на структурах языка реализовать весь набор функций, предоставляемых СУБД, то получится новая СУБД. Зачем тратить время и силы на написание СУБД, если есть уже готовые?
    Ответ написан
    Комментировать
  • Как скрыть айпишник хоста или сервера на котором стоит сайт?

    Sanes
    @Sanes
    Cloudflare
    Ответ написан
    Комментировать
  • На каких языках пишут интерфейсы приложений?

    Есть разные Markup Language (ML, язык разметки): https://en.wikipedia.org/wiki/User_interface_marku...
    Ответ написан
    Комментировать
  • В каком направлении легче найти удалённую работу junior-ом?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Копирайтеры.
    Другие варианты контент мейкеров - всякие стримеры, художники, писатели.

    Джуниоры в ИТ в принципе востребованы очень мало при огромной конкуренции, а на удаленке так и еще меньше.
    Ответ написан
    3 комментария
  • А вы правда умеете программировать?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    значит "запомнить много функций" или значит "запомнить и знать что и где искать в гугле и все понимать"?


    Детский сад, штаны на лямках. Уметь программировать - это решать поставленную задачу качественно и в срок. Методология решения - ну, она может быть непосредственного начальника заинтересует, и то, если на code review ему не понравится, как написано. А руководству - ему аще плевать, оно оценивает с точки зрения бизнеса.

    Лично я ничего не записываю. Основной набор функций запоминается сам по себе вместе с методологией решения общих задач, конкретный формат вызова, список параметров, коды возврата и прочее - всегда есть ман и гугл. Нельзя обьять необьятное. А если на языке работаешь редко - так и элементарщину приходится гуглить - я вот на перле например пишу раз в три месяца - ессно я многое не помню.
    Ответ написан
    Комментировать
  • Что нужно знать, чтобы начать работать по Node-backend направлению?

    Prynik
    @Prynik
    Многое отсюда вообще можно выкинуть. И не нужно хвататься за все подряд, большинство из перечисленного - это инструменты, которые при знании "их родного языка" можно освоить за несколько часов, открыв документацию и исходники (это не про все, конечно же). Идите постепенно, исходя из появляющихся задач. На счет олимпиадных задач - они не возвысят вас в глазах hr менеджеров: сейчас готовлюсь к одной такой олимпиаде и имея достаточный опыт работы в компани и реализации крупных нагруженных приложений скажу, что данные знания, пригодятся мне только для поступления в ВУЗ и ни где больше.
    Ответ написан
  • Что нужно знать начинающему сисадмину?

    @Tabletko
    никого не трогаю, починяю примус
    Начинающему админу нужно уметь пользоваться поисковиком (научиться задавать правильные вопросы), находить и анализировать информацию. Ну и читать книжки: по сетям - от циско и СДСМ, по win - от MS (в интернете есть бесплатные базовые курсы администрированию ws2012r2), по линуксу - Эви Немет Unix и Linux системное администрирование. Базовая теория актуальна довольно долгое время, но ещё лучше параллельно всё пробовать (в лабораторных условиях) на практике и прикидывать как это может помочь в боевой среде. Хорошо будет начинать работу не в одиночку, а в отделе с админами.
    Ответ написан
    Комментировать
  • Где правильное описание жизненного цикл в реакте?

    @McBernar
    На официальном сайте реакта. Методы иногда меняются и запрещаются. Самая актуальная информация на react.js.org
    Ответ написан
    Комментировать
  • Если какие-либо профессиональные курсы по разработке браузеров?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Нет, это очень узкоспециализированная тема. Если есть знания c++, js - тогда скачивайте исходники браузеров. Далее смотрите документацию по коду. Еще в коде могут быть комментарии.
    По теме могу посоветовать статьи(или переводы?) с хабра:
    Рендеринг веб сайтов 101

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

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

    Исходя из этого - сначала ревью.
    Ответ написан
    Комментировать