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

В различного рода сложности реализуемых алгоритмов при программировании МК, всегда возникают рутинные циклические и не очень задачи. Одни требуют повышенной точности, другие таким критерием не обязаны обладать. Аппаратных таймеров на борту МК может быть приличное количество, например STM32F4 — аж 14 штук, и это не считая SysTick (системного), а в других и пара тройка за счастье: тот же PIC16, например.

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

Предлагаю вашему вниманию перевод публикации Laurent Luce о реализации работы со списками в CPython. Она может быть полезна начинающим программистам на Python, либо готовящимся к собеседованию.

Эта статья описывает реализацию объекта списка в CPython, наиболее популярной реализации Python. Списки в Python — это мощный инструмент, и интересно узнать, как они устроены внутри. Взгляните на простой скрипт, который добавляет несколько целых значений в список и выводит их:

>>> l = []
>>> l.append(1)
>>> l.append(2)
>>> l.append(3)
>>> l
[1, 2, 3]
>>> for e in l:
...   print e
...
1
2
3

Как вы можете видеть, список является итерируемым объектом.

C-структура объекта списка

Объект списка в CPython представлен нижеследующей структурой в C. ob_item — это список указателей на элементы списка, allocated — количество выделенной памяти.

typedef struct {
    PyObject_VAR_HEAD
    PyObject **ob_item;
    Py_ssize_t allocated;
} PyListObject;

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

image

Год назад я познакомился с замечательным проектом ПакПак и людьми, которые несут программирование и робототехнику в детские массы. Я тогда написал статью «FISCHERTECHNIK: хемотроника, ионисторы, электрохимические суперконденсаторы внутри детского конструктора для программистов» (вот тут раздолье для выбора подарка на новый год). Меня поразила хардкорность их конструкторов в сочетании с очень человеческим подходом на их авторских обучающих курсах («Робокурс: обучаем детей программированию и робототехнике»).

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

Что нового появилось в 2015 году
Читать полностью »

image

Сотрудники некоммерческой организации Code.org, занимающиеся популяризацией и внедрением информатики в школьное образование, добились от президента США Барака Обамы подписи под новой редакцией закона «Every Student Succeeds Act»(pdf). Этот документ регулирует принципы начального и среднего образования в Америке и, кроме того, перечисляет те предметы, которые являются необходимыми для фундаментального уровня образования.

До последнего момента никакого упоминания о информатике среди таких предметов не было. Однако теперь, благодаря шестилетним усилиям адвокатов Code.org и лобби нескольких сенаторов, закон Every Student Succeeds Act официально утверждает, что информатика так же необходима для фундаментального образования как история, география и музыка.
Читать полностью »

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

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

Недавно у нас с коллегами возникла дискуссия на тему первых компьютеров и программ. В разговоре вспомнились не только знаменитые ученые, такие как Чарльз Бэббидж, но и менее известных вроде Ады Лавлейс. В результате возникла идея провести исследование и составить хронологию развития истории компьютеров и программирования.

В процессе изучения различных источников обнаружилось немало любопытных фактов. Например, тот же Бэббидж технически не является изобретателем компьютера, что первым высокоуровневым языком программирования был вовсе не FORTRAN, а для CRT-мониторов использовались стилусы.

18 великих изобретений в мире компьютеров и программирования - 1
Читать полностью »

Запуск .Net Micro Framework 4.4 на STM32F4Discovery - 1
.Net Micro Framework — технология, позволяющая писать приложения для микроконтроллеров используя всю мощь управляемого кода и Visual Studio. Она существует давно и сейчас переживает второе рождение. Вокруг нее сформирован open-source проект, который не так давно переехал на GitHub. Однако пока еще это не “коробочный” продукт. Работа с .Net Micro Framework требует определенных навыков. В прошлый раз я писал про то, как создать и запустить простое ”Hello world” приложение на эмуляторе для Windows. Сейчас речь пойдет о том, как поработать с .Net Micro Framework на настоящем “железе” — отладочной плате STM32F4Discovery.
Читать полностью »

Пару слов о том для чего это понадобилось вообще: у меня была простая ситуация — не было быстрого интернета и был компьютер с начисто установленной windows 10. К тому же проект, который ковыряю, требует сборки как под 32 так и под 64 битную архитектуру, поэтому мне показалось что наличие Qt, одинаково сконфигуренного и скомпилированного под эти архитектуры будет только плюсом.
Читать полностью »

Поисковый гигант начинает уделять всё больше внимания новой технологии создания веб-страниц Accelerated Mobile Pages(AMP), которая предназначена для ускорения работы сайтов на мобильных устройствах. Впервые о проекте стало известно в начале октября, теперь же Google намерен показывать AMP-страницы в результатах поиска уже в начале следующего года — об этом идёт речь в официальном блоге проекта. К этому времени множество крупных сайтов, таких как BBC, Sankei, New York Times, News Corp, Washington Post заявили о своей поддержке новой инициативы Google.
Читать полностью »

Вышла среда разработки Android Studio 2.0 (preview) - 1

На саммите для разработчиков Android вчера компания Google представила Android Studio 2.0 — первое крупное обновление фирменной среды разработки на платформе IntelliJ.

Авторы приложений под Android наверняка будут довольны: в Android Studio 2.0 реализованы важнейшие вещи:

Особенно радует мгновенный запуск приложений, который очень сильно ускоряет процесс разработки. Вы видите сразу редактор кода и окно смартфона, только добавите одну строчку — приложение тут же запускается в обновлённом виде рядом в эмуляторе, без компиляции и прочего (см. демо под катом). Это по-настоящему революционная функция!
Читать полностью »


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