Рубрика «Программирование» - 816

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

OpenOCD (Open On Chip Debugger) заявляет поддержку ThreadX, но не сильно явно оговаривает её широту. А штатно, на момент написания статьи, в версии 0.8.0, это всего два ядра: Cortex M3 и Cortex R4. Мне же, волею судеб, пришлось работать с чипом Cypress FX3 который построен на базе ядра ARM926E-JS.

Под катом рассмотрим что нужно сделать, что бы добавить поддержку вашей версии ThreadX для вашего CPU. Акцент делается на ARM, но, чисто теоретически, вполне может подойти и для других процессоров. Кроме того, рассматривается случай, когда доступа к исходникам ThreadX нет и не предвидится.
Читать полностью »

2 года назад я написал статью о классификации знаний в области программирования. Это было на волне интереса и моей активной деятельности по самообразованию в компьютерных науках. Написал статью и забыл о ней. Публиковать на Хабре не собирался. В конце концов, она базируется на моем личном опыте и знаних, которые могут оказаться весьма субъективны.

Недавно, на фоне постоянно поступающих вопросов «как научиться программированию?», я вспомнил про этот материал и перечитал его. Прошло уже 2 года, пополнился опыт, добавились знания, изменились взгляды. Но эта статья для меня не утратила актуальности, и я не нашел почти ничего, что хотел бы в ней изменить. Мне показалось, что она все же достойна публикации. И, возможно, кому-то она поможет в собственном профессиональном развитии.

Но прежде, чем «запустить» материал, еще небольшое отступление. О том, почему вообще я все это писал. Дело в том, что у нас в странах бывшего СССР с образованием в области IT очень туго. С одной стороны нет программ обучения, которые подготовят специалистов на должном уровне (наверное, за очень редкими исключениями, которые можно отнести к погрешности). С другой стороны, из-за широких возможностей самообразования, программисты и не спешат учиться в ВУЗах — все стремятся начать практиковать как можно раньше. Часто изучается только одно направление (например PHP+Mysql — самое популярное) и в бой. Причем, на этом все заканчивается. В итоге у нас огромное количество программистов, которые и базовых вещей не знают. Отсюда вытекают проблемы с качеством кода, и с эффекивностью алгоритмов, с велосипедированием.

Но программирование — это полноценная область знаний, которая требует в том числе и инженерной подготовки. Точно так же, как строительство или телекоммуникации. Да, построить дом (особняк) можно своими руками и без образования. А поднять большинство сайтов можно прочитав пару книг по PHP и HTML. Но многоэтажку без специальной подготовки не построишь, как и Гугл не напишешь, не зная основ.

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

Поехали.

Читать полностью »

Доброго времени суток!

В этой статье я бы хотел поговорить с вами о недавно вышедшем Unreal Engine 4, который на данный момент набирает все большую популярность среди разработчиков игр. И хотя статья о UE4, однако она совсем не про игростой, хоть и связана с ним.

Я бы хотел обратить ваше внимание на другую сторону Unreal Engine 4, которая будет несомненно полезна тем, кто собирается выбрать свой путь в жизни и обучаться разработке. Речь об образовательных способностях данного движка.

Саму статью я бы хотел разделить на две основные части: Программирование с логикой и Дизайн с творчеством. Но прежде скажу пару слов о себе, что бы вы понимали, почему именно этот движок и что меня натолкнуло на эту статью.
Итак, приступим.
Читать полностью »

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

Том закоммитил последнее изменение в файле CSS в SVN и вытер пот со лба. Он обновил локальный репозиторий и переключился назад в Dreamweaver, глубоко вздохнув. Веб-дизайнеры компании настояли, чтобы разработчики использовали Dreamweaver. Он, конечно, не так и плох, подумал Том, хотя есть и инструменты и получше…

Dreamweaver закрылся. Читать полностью »

image

Несмотря на то, что движение по обучению людей программированию имеет благие намерения, основные предпосылки и подход к этому вопросу — ошибочны. Движение основано на идее, что «коддинг — новая грамотность», однако оно имеет узкий взгляд на то, что такое «грамотность» на самом деле.

Если вы поищите в Google понятие грамотности, получите механическое определение: умение читать и писать.

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

28 февраля наша компания примет участие в очередной конференции Go#Moscow – «День ASP.NET». Это первая конференция серии, специализированная на конкретной технологии (ранее мероприятия были посвящены .NET в целом).

Все содержательные аспекты конференции сфокусированы на ASP.NET:

  • тематика докладов варьируется от кроссплатформенной разработки на ASP.NET vNEXT до примеров использования Dependency Injections/Inversion of Control и решений в архитектуре веб-приложений с использованием Azure;
  • спикеры обладают обширным опытом в разработке веб-приложений, а некоторые являются Microsoft MVP и Microsoft Regional Director;
  • aудитория составит около 200 человек, так или иначе связанных с ASP.NET.

Так что если вы ASP.NET-разработчик или интересуетесь веб-разработкой на .NET, присоединяйтесь – конференция обещает быть интересной! Организаторы приложат усилия, чтобы доставить спикеров к открытию и не отпускать их до самого конца конференции, чтобы вы могли задать им свои вопросы.

DevExpress на Go#Moscow – День ASP.NET - 1

А сейчас мы расскажем о нашем участии. От DevExpress будет выступать Роман Решетников, ведущий разработчик команды ASP.NET. Он расскажет о нашем опыте разработки сложных клиент-серверных приложений на TypeScript и ASP.NET.
Читать полностью »

Вышел git 2.3 - 1 Приветствую вас, коллеги! Сегодня утром гитхаб опубликовал подробную статью о свежевышедшой версии git. Забрать ее, как обычно, можно на официальном сайте, а под катом — краткий перевод что нового и интересного: push-to-deploy, ручное управление параметрами SSH, способ предотвратить зависание cron скриптов с клиентом git и многое другое.

Читать полностью »

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

Первый: тоном капитана звездолёта, — нужна функция connectToDB() в главном файле.
Второй: — открываю — открывает нужный файл, находит функцию.
Первый: — что здесь происходит?
Третий: — запускаю — ставит брейкпойнт, запускает приложение, в момент останова произносит: — dbinstance в порядке — выводит значение на экран --, remotePort равен 8999, — это значение тоже видно на экране.
Первый: — странно, надо бы профилировать этот вызов.
Третий: — ок — диктует четвёртому — новая строка 123 console.time(), 125 console.timeEnd()
Четвёртый: набирает, — готово.
Читать полностью »

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

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

Многие из нас, людей, считающих себя связанными с Информационными технологиями ждут будущего с надеждой, что оно разрешит наши нынешние проблемы и «жить станет лучше, жить станет веселее». Поэтому с таким воодушевлением воспринимаются разрабатываемые принтеры, которые смогут печатать электронику, принтеры позволяющие изготовить металлические изделия, пока полулегендарные генераторы энергии, толи на низкотемпературном термоядерном синтезе, толи ещё на чём-нибудь. Важна идея — избавиться от диктата необходимости покупки вещей. Я имею в виду, что мы должны делать какую-то работу, не потому что нам этого хочется, а потому что мы не можем обойтись без еды, вещей, жилья, энергии.
Существуют прогнозы и надежды, что со временем, рост и развитие промышленности достигнет такой степени, что всё необходимое для жизни станет доступно всем, вне зависимости от того чем он занимается. (хорошо описано у Сергея Лукьяненко. Дорога на Веллесберг) То есть — работать за еду людям уже не придётся. Важной частью этого считают производство 3Д-принтеров, в том числе Репликаторов — РепРапов, которые, как бы могут производить сами себя.

Перспективные направления развития 3д печати в рамках домашних технологий и открытого сообщества. Руководство к действию - 1
Картинка 1.Рог изобилия — идеальный 3д — принтер?
Читать полностью »

Привет!

Наш прошлый перевод нетрадиционного обзора React многим понравился, и, конечно, люди стали сравнивать Реакт с популярным AngularJS. Сегодня мы публикуем перевод статьи «An Unconventional Review of AngularJS» от того же автора (Джеймса Шора, ведущего проекта Let’s Code: Test-Driven JavaScript). Поклонникам Angular просьба сохранять спокойствие :)

Нетрадиционный обзор AngularJS - 1

AngularJS это все, что я ожидаю от фреймворка. И это не хорошо.

В ноябре, декабре и январе я обозревал AngularJS для серии «front-end frameworks» в рамках проекта Let’s Code JavaScript. Суммарно я провел 40 часов изучая, программируя и решая задачи. Как обычно, моей целью было изучить AngularJS создавая приложение.

Angular это, наверное, самый популярный фронт-энд фреймворк сейчас. Его разрабатывает команда из Google, что сразу внушает доверие. Он настолько популярен, что входит в акроним. Angular это часть так называемого стека «MEAN»: MongoDB, Express, AngularJS, Node.JS. Самая что ни на есть передовая технология.

Angular описывает себя как инструмент для улучшения ХТМЛ. Он позволяет расширить ХТМЛ новыми определениями — директивами — которые превращают статичный ХТМЛ-документ в динамический шаблон. Директивы могут быть атрибутами или тегами (или даже комментариями или классами, но это уже не совсем обычная история), и они превращают статичный ХТМЛ-документ во что-то живое и дышащее, на первый взгляд без добавления JavaScript.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js