На Build 2018 мы анонсировали Visual Studio IntelliCode: набор AI-инструментов, которые способствуют более качественной разработке. В сотрудничестве с командой IntelliCode мы рады сообщить, что теперь IntelliCode доступен пользователям TypeScript/JavaScript через расширение IntelliCode для VS Code.
Рубрика «Программирование» - 322
IntelliCode теперь и в TypeScript-JavaScript
2018-12-13 в 7:00, admin, рубрики: intellicode, javascript, microsoft, TypeScript, Блог компании Microsoft, ПрограммированиеПроектирование процессора (CPU Design) RAM-машина
2018-12-12 в 18:21, admin, рубрики: diy или сделай сам, little man computer, logisim, random-access machine, Программирование, Электроника для начинающих
Часть I
Часть II
Часть III
Часть IV
Часть V
На Хабре уже была опубликована статья, посвящённая RAM-машине.
Вообще, статья про RAM-машину есть на Википедии.
RAM-машина, которая упоминается в книге «Построение и анализ вычислительных алгоритмов» -авторы: Ахо, Хопкрофт, Ульман — имеет ограниченный набор арифметических команд, у нас же из арифметических команд будут только «сложение» и «вычитание». Кроме арифметических доступны также команды ввода-вывода, косвенной адресации и команды ветвления.
Отличием LIttle Man Computer'а (который я описывал в предыдущих частях цикла) от RAM-машины является механизм, обеспечивающий косвенную адресацию (возможность работать с числом, хранящемся в памяти, как с адресом).
Для того, чтобы работать с числом, хранящимся в памяти, как с адресом, подключим к адресному входу Памяти Данных мультиплексор MUX, осуществляющий выборку между, собственно, адресом (поступающим из Памяти Команд) и числом, представляющем адрес и хранящемся в Памяти Данных.
Читать полностью »
И снова в космос: как единорог Stellarium посещал
2018-12-12 в 15:01, admin, рубрики: bugs, c++, open source, pvs-studio, static code analysis, Stellarium, баги, Блог компании PVS-Studio, инструменты для разработки, качество кода, Программирование, статический анализ кодаЗа все время своего существования люди приложили колоссальное количество усилий, чтобы изучить практически всю площадь звездного неба. На сегодняшний день мы рассмотрели сотни тысяч астероидов, комет, туманностей и звезд, галактик и планет. Чтобы увидеть всю эту красоту самостоятельно, не обязательно выходить из дома и покупать себе телескоп. Можно установить на компьютер Stellarium — виртуальный планетарий, и посмотреть на ночное небо, с комфортом лежа на диване… Но с комфортом ли? Чтобы выяснить ответ на этот вопрос, проверим Stellarium на наличие ошибок в компьютерном коде.
Подборка @pythonetc, ноябрь 2018
2018-12-12 в 8:59, admin, рубрики: python, Блог компании Mail.Ru Group, ПрограммированиеЭто шестая подборка советов про Python и программирование из моего авторского канала @pythonetc.
Предыдущие подборки:
Разработка ПО через призму эксперимента Милгрэма «Подчинение авторитету»
2018-12-12 в 7:17, admin, рубрики: мозг, Программирование, психология, эксперимент МилгрэмаНа прошлой неделе я потратил прилично времени удаляя мёртвый код из нашей кодовой базы. Я люблю удалять код. Как по мне, так мало вещей приносят такое же удовольствие, как наведение порядка в коде. Да я настолько люблю это делать, что меня вызывают недоумение инженеры, которые оставляют ненужный код в приложении. Но на выходных я услышал, как кто-то разговаривал об эксперименте Милгрэма «Подчинение авторитету» (на хабре также писали об этом — прим. переводчика) и я не смог не провести параллели между человеком, который бил током другое человеческое существо и инженером, который оставляет заведомо известные баги и плохой код.
Frontend DevDay. Запись докладов
2018-12-12 в 4:18, admin, рубрики: 2GIS, devday, javascript, management, meetup, SSL, TLS, Блог компании 2ГИС, браузеры, конференции, Программирование, технологии
7 декабря мы провели Frontend DevDay — смешали техническую презентацию нового 2ГИС с полноценным митапом. Разговаривали про карты на WebGL, трансформацию команды и запросы браузера. По словам участников, получилось празднично и увлекательно.
Сегодня делимся записями всех трёх докладов. Спикеры на связи, если у вас возникнут вопросы — смело задавайте в комментариях к посту.
Путешествие gocritic’а в прошлое
2018-12-11 в 19:54, admin, рубрики: bugs, Git, git log, Go, go-critic, go-lintpack, gocritic, golang, linter, lintpack, open source, static code analysis, Программирование, Совершенный код, управление разработкой
Хочу поделиться результатами работы последних нескольких дней, которые включали в себя анализ git истории некоторых крупных Go проектов с целью нахождения коммитов, которые исправляли ошибки c последующей их формализацией для детектирования в случае их появления в новом коде.
Во второй части статьи рассмотрим некоторые новые диагностики в go-critic, которые позволяют находить код, который с высокой степенью вероятности содержит ошибку.
Некоторые заметки по проектированию информационных систем
2018-12-11 в 19:28, admin, рубрики: agile, Анализ и проектирование систем, водопад, каскадное проектирование, Программирование, проектирование, Управление продуктом, управление проектами, управление разработкойМоя прошлая статья Секреты удачного проектирования ИС (информационной системы) на примере строительства больницы вызвала временами бурное обсуждение в комментариях. Поэтому я решил изложить ряд тезисов по мотивам данного обсуждения.
Проектирование не для программистов
Очень часто при обсуждении методов проектирования и осуществления проекта информационных систем слышишь критику этих методов со стороны разработчиков (программистов). Читать полностью »
Внутренняя и внешняя линковка в C++
2018-12-11 в 16:32, admin, рубрики: c++, linkage, Блог компании Отус, линковка, Программирование, связьВсем добрый день!
Представляем вам перевод интересной статьи, который подготовили для вас рамках курса «Разработчик C++». Надеемся, что она будет полезна и интересна для вас, как и нашим слушателям.
Поехали.
Сталкивались ли вы когда-нибудь с терминами внутренняя и внешняя связь? Хотите узнать, для чего используется ключевое слово extern, или как объявление чего-то static влияет на глобальную область? Тогда эта статья для вас.
В двух словах
В единицу трансляции включены файл реализации (.c/.cpp) и все его заголовочные файлы (.h/.hpp). Если внутри единицы трансляции у объекта или функции есть внутреннее связывание, то этот символ виден компоновщику только внутри этой единицы трансляции. Если же у объекта или функции есть внешнее связывание, то компоновщик сможет видеть его при обработке других единиц трансляции. Использование ключевого слова static в глобальном пространстве имен дает символу внутреннее связывание. Ключевое слово extern дает внешнее связывание.
Компилятор по умолчанию дает символам следующие связывания:
- Non-const глобальные переменные — внешнее связывание;
- Const глобальные переменные — внутреннее связывание;
- Функции — внешнее связывание.
Интеграция Cake и TeamCity
2018-12-11 в 13:50, admin, рубрики: C#, cake, pipeline, teamcity, ПрограммированиеCake — замечательный инструмент для создания конвеера доставки для ваших приложений. Я люблю его, поскольку он позволяет мне писать этот конвеер на языке C#, который я знаю хорошо. Прекрасным свойством Cake, PSake и дургих подобных фреймворков является то, что они создают скрипт, который можно выполнять как на локальной машине разработчика, так и на CI серверах. Здесь я объясню, как организовать взаимодействие скрипта Cake с TeamCity.