• Книга, которая объяснит как работает ПК начиная с атомного уровня?

    rockon404
    @rockon404
    Frontend Developer
    Э. Таненбаум Т. Остин Архитектура компьютера
    Э. Таненбаум Х. Бос Современные операционные системы
    Ответ написан
    Комментировать
  • Как написать таким шрифтом nostalgic?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Вот так - nostalgic
    lol
    UPD: Если серьезно, то это не шрифт, это символы UTF-8 начиная U+FF41
    Вот тут покликайте влево-вправо www.fileformat.info/info/unicode/char/ff41/index.htm чтобы посмотреть остальные символы и копируйте нужные.
    Ответ написан
    3 комментария
  • Как правильно писать на ООП?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Подавляющее большинство современных языков программирования поддерживают возможность использования нескольких парадигм программирования. В какой парадигме писать - дело программиста. Я лично вижу только плюсы в том, что язык программирования гибок в плане выбора парадигмы. JavaScript на мой взгляд - один из наиболее гибких языков и, когда шаблонность мышления, присущая программисту на ранних стадиях вхождения в профессию, перестает мешать - это становится как говорится - мощным оружием в умелых руках. Дерзайте! :)
    Ответ написан
    Комментировать
  • IIFE и область видимости?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    Мне кажется, нет. т.к. вот это получается выражение (function foo() {}), и области видимости тут не должно быть (тем более, мы говорим о JS, где область видимости не появляется в выражении или фигурных скобках).
    Можно написать вот так
    var a = function foo() {};
    a();

    и ничего не изменится. Но вот так написать мы не можем
    function foo() { }()
    по той причине, что это не выражение, поэтому чтобы ее сразу вызвать, мы создаем выражение при помощи скобок. Это как
    {} + [] // 0
    ({} + []) // [object Object]

    В первом случае у нас не получилось выражения, сначала у нас фигурными скобками создается блок, а потом отдельное выражение +[]. А во втором все считалось в выражении, поэтому получился объект + массив. Поэтому даже так заработает
    ( function foo() {}())
    Не думаю, что где-то создается область видимости. т.е. мы имеем их только два - глобальную и в функции.
    PS: Если я не прав коллеги, поправьте.
    Ответ написан
    3 комментария
  • Почему нет профсоюза IT-работников?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Imho все адекватные люди аполитичны и предпочитают тратить время на зарабатывание денег.
    В текущих реалиях проще эмигрировать, чем тратить время на это вот все.

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

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

    Поднимите столько хайпа что государство обратит внимание на регулирование работников - вот тут то вы и взвоете по настоящему.
    Ответ написан
    10 комментариев
  • Как сравнить все соседние числа в массиве?

    Stalker_RED
    @Stalker_RED
    function foo(data) {
    	return data.reduce((acc, x) => {
        if (acc[acc.length-1]+x !== 0) acc.push(x)
        else acc.pop()
        return acc
      }, [])
    }
    jsfiddle.net/ztfu2a9v
    Ответ написан
    1 комментарий
  • Как можно упростить декодирование кода морзе?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const decodeMorse = code => code
      .trim()
      .split('   ')
      .map(n => n.split(' ').map(m => MORSE_CODE[m]).join(''))
      .join(' ');

    или

    const decodeMorse = code => code
      .trim()
      .replace(/\S+ ?/g, m => MORSE_CODE[m.trim()])
      .replace(/  /g, ' ');
    Ответ написан
    Комментировать
  • Как преодолеть кризис начинающего специалиста?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    99% программистов 90% времени занимаются отловом багов в махровом легайси или формошлёпством. Есть только один способ попасть в 1% настоящих творцов - быть творцом, способным написать что-нибудь поистине выдающееся.
    Ответ написан
    4 комментария
  • Как развязать уравнения?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    Можно использовать вот эту штуку algebra.js.org

    var expr1 = algebra.parse("2*х / 6 + 8");
    var expr2 = algebra.parse("24");
    
    var eq = new Equation(expr1, expr2);
    
    var xAnswer = eq.solveFor("x"); // находим x
    Ответ написан
    3 комментария
  • На чём вы сейчас используете сетку?

    Madeas
    @Madeas
    UI / UX Designer, Frontend Developer
    На флоатах уже не верстают. Учите flexbox или grid
    Ответ написан
    Комментировать
  • Какие онлайн-курсы порекомендуете для продвинутой вёрстки?

    Vlad_IT
    @Vlad_IT Куратор тега Вёрстка
    Front-end разработчик
    https://webref.ru/css + опыт + Большая книга CSS + опыт + css-tricks.com + опыт. Курсы в помойку.
    Ответ написан
    1 комментарий
  • Где можно устроиться на удаленную стажировку?

    Maksclub
    @Maksclub Куратор тега Карьера в IT
    maksfedorov.ru
    На стажировку молодым людям проблема устроиться, на удаленку -- никак (но вы можете не слушать и найти)

    Просто постарайтесь подумать с точки зрения работодателя -- как ему работать с удаленщиком и зачем -- попробуйте набросать в голове эту задачу. А еще и стажер.
    В параметры задачи занесите ФАКТ, что бОльшее количество работы -- в миллионниках, где есть куча НЕудаленных кандидатов (да еще и ВУЗы крутые)

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

    И тогда поймете -- удаленная работа достаточно сложна в обслуживании, а еще и стажер -- сказка какая-то,

    на вашем месте бы я не держался "в вашем захолустье",
    это не сподручно в современном устройстве страны
    Ответ написан
    27 комментариев
  • К кому обращаться, если нужен дизайн и фронт сайта?

    vicodin
    @vicodin
    Имею некоторый опыт
    Смотря какой фронт нужен, если сложный, то лучше отдельных спецов, если просто вёрстка, то многие дизайнеры уже могут сверстать свои макеты.
    Ответ написан
    6 комментариев
  • Что почитать для прокачивания навыков проектирования приложений?

    rockon404
    @rockon404
    Frontend Developer
    Достаточно поработать в проектах с хорошей архитектурой.
    С нуля писать не надо, используйте фреймворки. Приложения на фреймворках отлично поддерживаются, рефакторятся и масштабируются.
    Почитайте о MVC, SOLID, паттернах проектирования.
    Ответ написан
    Комментировать
  • Какую архитектуру выбрать для нейросети, решающей задачу преобразования матрицы?

    sgjurano
    @sgjurano
    Разработчик
    Я правильно понял, что вам нужно каждую ячейку матрицы 100x100, структура и правила формирования которой вам не известны, классифицировать в один из 16 классов?

    Какая природа данных? Вполне может быть так, что сверточные слои здесь не уместны.

    В общем случае вам нужен выходной слой с 16-мерным Softmax на каждый пиксель (получается тензор размерности batch*100*100*16), потом вы берёте для каждого пикселя argmax + 1, и в качестве функции потерь используете кросс-энтропию.

    UPD: до меня тут дошло, что во время обучения лучше не брать argmax, а вместо этого применить One-Hot-Encoding на матрицу классов, чтобы получить тензор той же размерности, что и прогнозный.

    argmax пригодится на этапе постпроцессинга, когда сеть у вас уже обучена и выдаёт корректные вероятности для классов.
    Ответ написан
    3 комментария
  • Что почитать для «посредственного» js разработчика?

    rockon404
    @rockon404
    Frontend Developer
    Хорошо изучите язык по любому хорошему учебнику от корки до корки, читайте статьи, изучаете решения типовых задач на stackoverflow, изучайте чужой код(например репозитории на Github), пишите свой и много.
    Лучше всего прогресс пойдет после устройства на работу.

    Еще почитайте о том как самостоятельно и эффективно находить нужную информацию. Один из самых полезных навыков.
    Ответ написан
    4 комментария
  • Как выбраться из теоретика?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Программирование напоминает сборку сложной конструкции из простейших кубиков лего.

    Раз плаваешь на 6-кью катах, значит мозг вообще пока не настроен на процесс программирования. То ли незачем, то ли еще что мешает настроиться.

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

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

    В процессе стыковки и композиции частей будут вылезать недодумки и недоделки, их фиксишь походу дела, это тоже процесс дебаггинга и отладки. А еще примерно на середине процесса заказчик внезапно вспомнит, что вот неплохо бы еще это, то и вот это... Бывает что с нуля все переписывашь несколько раз, потому что лень лепить костыли.

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

    Лично я других подходов не ведаю.

    И здесь, как справедливо заметили коллеги ранее, нужно нафигачить очень много кода. Примерно 10 тысяч часов, чтобы набить руку, выработать рефлексы, поставить основные алгоритмы и структуры данных на автомат, чтобы применял на лету, вообще не задумываясь. Никакой теорией тут результатов не добиться. Мой давний наставник училменя, что пока ты не отпрограммировал минимум 3000 часов, никаким программистом ты называться даже близко не имеешь права.

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

    Есть и минусы у данного подхода - всякие третьестепенные мелочи ты не учишь, т.к. в практике они встречаются только в чем-то большом и/или экзотическом. А на собесах их таки спрашивают. Поэтому моё решение - доучить их потом, чисто "щоб було".

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

    Когда я начинал программировать (мне было 14), меня лютейше пропирал тот факт, что я повелитель этой железяки, причем абсолютный, другими словами эдакий Боженька. Железяка моментально и безпрекословно выполняет любые мои повеления, а если не выполняет, значит это я пробакланил. Я столько всего хотел поручить сделать железяке, но не знал как, однако научился довольно быстро, т.к. мотивация зашкаливала. В том числе интенсивный процесс программирования здорово повышает дисциплину мышления, потому что иначе результатов просто не будет.

    Может быть тебе просто ничего не нужно от железяки?

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

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

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

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    If (items.length) { ... }

    Потому что if (items) будет превращать items в "булево", и сначала превратит в Объект! (все массивы - объекты), а объект это TRUE

    А вот пустой_массив.length вернет 0, значит FALSE

    Или я не верно понял ваш вопрос? уточните.
    Ответ написан
    Комментировать
  • Как развиваться в программировании не привязываясь к языку?

    myjcom
    @myjcom
    Clean Code: A handbook of software craftsmanship / Чистый код: Создание, анализ и рефакторинг
    Год издания: 2013
    Автор: Robert Martin / Роберт Мартин
    ISBN: 978-5-496-00487-9

    The Clean Coder: A Code of Conduct for Professional Programmers / Идеальный программист. Как стать профессионалом разработки ПО
    Год издания: 2012
    Автор: Robert C. Martin / Роберт Мартин
    ISBN: 978-5-459-01044-2

    Алгоритмы. Справочник с примерами на C, C++, Java и Python
    Год издания: 2017
    Автор: Хайнеман Д., Поллис Г., Селков С.
    ISBN: 978-5-9908910-7-4

    Design Patterns. Elements of Reusable Object-Oriented Software/Приемы объектно-ориентированного проектирования. Паттерны проектирования
    Год издания: 2015
    Автор: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides/Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж
    ISBN: 978-5-496-00389-6

    Test-driven development by example / Экстремальное программирование. Разработка через тестирование
    Год издания: 2017
    Автор: Kent Beck / Кент Бек
    ISBN: 978-5-496-02570-6

    Грокаем Алгоритмы. Иллюстрированное пособие для программистов и любопытствущих
    Год издания: 2017
    Автор: Бхаргава А
    ISBN: 978-5-496-02541-6

    Алгоритмы. Теория и практическое применение
    Год издания: 2016
    Автор: Стивенс Род
    ISBN: 978-5-699-81729-0

    прочитать нужно все

    ну и на закуску
    C Unleashed / Искусство программирования на C. Фундаментальные алгоритмы, структуры данных и примеры приложений. Энциклопедия программиста
    Год: 2001
    Автор: Heathfield R., Kirby L. / Хэзфилд Р., Кирби Л.
    ISBN: 0-672-31896-2 / 966-7393-82-8
    Ответ написан
    9 комментариев