• Чем отличается код дилетанта от профессионала?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Самый базовый уровень -- консистентность форматирования: одинаковые отступы, одинаковые кавычки.
    Чистота в коде: отсутствие гигантских кусков закоментированного кода, вообще ненужных комментариев типа имени автора (это все можно посмотреть в системе контроля версий), грамотное именование сущностей (нет однобуквенных переменных, сущности названы по-английски, а не транслитом, и т.д.).
    Знание стандартной библиотеки, отсутствие велосипедов типа array[array.length] = elem вместо array.push(elem).
    Использование очевидных и явных путей, вместо «умных» хаков.
    Отсутствие копи-пейста и дублирования кода (это всегда, всегда аукнется багом).

    Вообще почитайте «Совершенный код», все это ценится во всех языках.
    Ответ написан
    3 комментария
  • Где можно купить сейчас Raspberry Pi 2 с доставкой в Россию без посредника?

    @temati
    Заказать с доставкой можно здесь
    fivel.ru/raspberrypi-2-modb-1gb
    Ответ написан
    Комментировать
  • Какие источники питания применяются для элементов систем умного дома?

    Если выключатель без замены электропроводки, то придется включать устройство в разрыв между нагрузкой и сетью. И тут не все так просто, т.к. предугадать что там за нагрузка довольно сложно: сегодня была лампа накаливания, завтра вкрутили КЛЛ.

    Вообще IMHO обычно все сводится либо к конденсаторному БП, либо микросхемам - линейным регуляторам напряжения (вроде FSAR001), либо к транформаторам в том или ином виде.

    Но IMHO если делать умный дом, то лучше сразу менять под него проводку в том числе и с учетом низковольного питания.
    Ответ написан
    6 комментариев
  • Можно ли учить детей электротехнике не вникая в нюансы?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    А почему бы нет, играючи и в так сказать сказочной форме. Ну или хотя бы приводя в пример природные явления. Без формул и цифр, просто реальность окружающего мира и игра - ребенку будет интересно!
    Вообще, если коснуться детской психологии и педагогики, то ИГРАЯ можно детей многому научить, и не только электроники. Главное ИГРА!
    Ответ написан
    Комментировать
  • Что за страности в Stream в.NET?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    ReadByte возвращает тип int, т.к. при достижении конца будет возвращено значение минус один. А тип byte может иметь значение в диапазоне от нуля до 255. То есть, считывая байты, сообщить о достижении конца потока при помощи типа byte невозможно (байт, имеющий значение ноль может быть полезным байтом), поэтому используется тип int.

    Метод Read принимает буфер, в который будут помещены считанные данные. Буфер - это массив байт. Изначально он должен быть пустым. Размер массива - по своему смотрению. Чем больше размер буфера, тем больше данных будет помещено в память, меньше проделано операций.

    Метод Read возвращает число помещенных в буфер байт. Ноль - достигнут конец потока.

    FileInfo f = new FileInfo(@"C:\example.dat");
    using (FileStream fs = f.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
    {
     using (BinaryReader br = new BinaryReader(fs))
     {
       int bytesRead = 0;
       byte[] buffer = new byte[256]; // размер буфера 256 единиц байт
       StringBuilder result = new StringBuilder();
       while ((bytesRead = br.Read(buffer, 0, buffer.Length)) != 0) // читаем не более 256 единиц байт в buffer
       {
         // из buffer следует извлекать не более bytesRead (в конце это число может быть меньше 255)
       }
     }
    }

    Массивы являются ссылочными типами и нет необходимости использовать out.
    Ответ написан
    3 комментария
  • Стоит ли изучать JavaScipt и C# одновременно с нуля?

    ali_aliev
    @ali_aliev
    Разработчик на Django/Python, JavaScript
    В любом случае, если вы собираетесь заниматься разработкой web приложений вам придется знать и JavaScript, и основы блочной верстки и еще парочку client side фреймворков, без этого сейчас никак. Если нет опыта в server side делайте упор на server side язык (тот же C#). В процессе работы, когда вы будете сталкиваться с JavaScript, наберете небольшой опыт так сказать на практике, тогда уже можно приступать к изучению тонкостей языка и изучить какой нибудь фреймворк (ember.js, angular.js...).
    Ответ написан
    Комментировать
  • Стоит ли изучать JavaScipt и C# одновременно с нуля?

    @Fector
    php js c# golang
    Безусловно стоит, тем более что эти языки могут использоваться в стеке. Главное при изучение большое внимание уделить ООП, так как этих языках разный подход к ее реализации. Все люди уникальны и каждому может быть удобно изучать материал по своему, но мое мнение, что сначало нужно изучить углубленно c# и паттерны проектирования, а потом js, так как js невероятно гибкий язык с более сложной системой обработки ошибок.
    Ответ написан
    Комментировать
  • Что можно сделать с детьми на уроках информатики?

    rumkin
    @rumkin
    Дайте реальную и полезную задачу — этого так не хватает современному образованию!
    Разбейте их на группы-фирмы, где они должны будут сами распределить роли — научатся саморганизации и заинтересуете всех учеников, а не только вьедливых ботаников.
    Пусть они запустят, допустим, приложение в Google WebStore с каким-нибудь полезным функционалом — научатся анализу рынка.
    Распределив роли на менеджеров, аналитиков и маркетологов, вы сохраните интерес у всех участников на протяжении всего обучения. Важно давать простые индивидуальные задания.
    Фирмы должны соревноваться за какой-то приз, звание или титул.
    Сделайте из знания ценность, пусть каждую неделю они борятся за вашу помощь в их проекте или за высокие отметки.

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

    Заданием может быть реализовать будильник или калькулятор на html+js — браузеры есть у всех. Если все фирмы будут реализовывать один вид проекта, то это научит их еще и конкуренции, промышленному шпионажу и прочему. Пусть под конец проголосуют чтобы определить победителей.
    Ответ написан
    5 комментариев