Эта тема в школьной информатике и математике (у некоторых она там) одна из самых "мутных", как мне кажется. Всё же, есть в омуте и добрые черти. Давайте немного поразбираемся во всём этом.
Классические алгоритмы
А таковых нет. Для нас пока нет. Есть таблицы истинности, законы алгебры логики, и многое другое.
В наше время развитие компьютеров, стало более быстрым и эффективным, и это является постоянной потребностью. Что касается сегмента персональных компьютеров, эта потребность в эволюции поощряется главным образом такими приложениями, как игры, видео высокой четкости и широкополосный Интернет. Что касается графических областей, то успехи поразительные, но требуют и генерируют больший объём данных. Чтобы справиться с этой реальностью, одной из мер отрасли было создание шины PCI Expr
... Читать дальше »
Так в C,C++ это компилируемые языки, то есть они после компиляция мы получаем машинный код. У любого калькулятора есть машинный код, но он очень базовый. Машинный код находится либо в ROM, либо в микроконтроллере.
У компилируемых в отличие от интерпретируемых(кроме некоторых исключений) есть предпроцессор.
Предпроцессоры для C, C++:
#define
#include
#elif
#endif
итд.
Неприятно признаться, но я никогда сильно не думал о такой вещи как alignment. В этой статье будем разбираться с основами вместе с читателями!
Итак, для начала стоит понять вообще что такое alignment. Несмотря на то, что в большинстве случаев в процессорах x86/amd64 доступ к памяти разрешен с точностью до конкретного байта, процессоры оптимизированы читать данные, начинающиеся с адресов, кратных машинному слову. Я написал простой ... Читать дальше »
Это вторая и последняя часть моей шпаргалки по аббревиатурам, которые стоит знать C++ разработчику. С++ здесь упомянут только потому, что шпаргалку я составил в первую очередь для себя, а я как раз-таки C++ разработчик.
На самом деле в этой части собраны понятия, область применения которых не ограничена C++. Так что подборка может быть интересна более широкой аудитории.
В прошлой главе мы узнали, что глубокие нейронные сети (ГНС) часто тяжелее обучать, чем неглубокие. И это плохо, поскольку у нас есть все основания полагать, что если бы мы могли обучить ГНС, они бы гораздо лучше справлялись с задачами. Но хотя новости из предыдущей главы и разочаровывают, нас это не остановит. В этой главе мы выработаем техники, которые сможем использовать для обучения глубоких сетей и применения их на практике. Мы также посмотрим на ситуацию шире, кратко познакомимся с недавним прогрессом в использовании ГНС для распознавания изображений, речи и для других применений. А также поверхностно рассмотрим, какое будущее может ждать нейросети и ИИ.
Это будет длинная глава, поэтому давайте немного пройдёмся по оглавлению. Её разделы не
... Читать дальше »
Детерминированная сборка — это процесс сборки одного и того же исходного кода с одной и той же средой и инструкциями сборки, при котором создаются одни и те же двоичные файлы в любом случае, даже если они сделаны на разных машинах, в разных каталогах и с разными именами. Такие сборки также иногда называют воспроизводимыми или герметичными сборками, если гарантируется, что они будут создавать одни и те же двоичные файлы даже при компиляции из разных папок.
Детерминированные сборки не являются чем-то, что происходит само собой. Они не создаются в обычных проектах, и причины, по которым этого не происходит, могут быть разными для каждой операционной системы или компилятора. ... Читать дальше »