Рубрика «циклы»
Поднимайте If вверх, опускайте For вниз
2025-05-22 в 10:01, admin, рубрики: обработка данных, оптимизация кода, условные конструкции, циклы, читаемость кода
Эта статья — краткая заметка о двух связанных друг с другом эмпирических правилах.
Поднимайте If вверх
Если внутри функции есть условие if, то подумайте, нельзя ли его переместить в вызывающую сторону:
Читать полностью »
Цикл в RegEx для поиска подстрок с условием
2025-01-15 в 11:16, admin, рубрики: condition, loop, regex, regexp, substring, изобретение, изобретение велосипеда, подстроки, условие, циклыИзобретение
Я хочу поделиться своим изобретением, которое позволяет вам использовать только одно регулярное выражение, которое будет искать подстроку в строке с определенным условием. Если хотите, называйте это циклом в RegEx, которого раньше не существовало!
Я поделюсь с вами не только разными полезными шаблонами, но и покажу различные примеры от простых до сложных.
Пожалуйста, обратите внимание, что в регулярном выражении используются пробелы для улучшения читабельности. В регулярном выражении пробелы обычно используются как символы в строке, поэтому, чтобы эти шаблоны работали, требуется Читать полностью »
Симметричная индексация в Python
2024-06-19 в 7:12, admin, рубрики: python, инверсия, итерация, оператор, Программирование, симметричная индексация, списки, циклыИногда, изучая Python, можно наткнуться на вещи, которые позволяют решать задачи довольно неожиданным способом. К одной из таких вещей можно отнести унарный оператор ~, с помощью которого можно осуществить симметричную индексацию последовательности. Под симметричной индексацией последовательности будем подразумевать ее одновременный обход от начала и конца.
Индексация последовательностей
В языке Python достаточно удобно реализована индексация последовательностей. Мы легко можем обращаться к элементам последовательности от началаЧитать полностью »
Древовидные структуры в SQL в одну таблицу
2024-05-06 в 10:36, admin, рубрики: postgresql, sql, древовидные структуры, иерархические структуры, папки, циклыСтояла задача: реализовать хранение и работу каталога папок в PostgreSQL. В процессе изучения темы наткнулся на большое количество материалов, которые задачу решали, но делали это без уважения выглядели не лаконично, нарушали прозрачность выполняемых операций, вызывали блокировки, требовали бОльшего вовлечения клиента в специфику работы и т.д. Потому задался целью: реализовать хранение древовидных структур (в общем виде) без использования триггеров, блокировок, дополнительных таблиц (представлений) и внешних инструментов в PostgreSQL (версии 16).
Словарь:
узел - запись в бд, которая рассматривается как узел дерева
Читать полностью »
Поговорим об оптимизирующих компиляторах. Сказ восьмой: размотка циклов
2024-01-06 в 13:10, admin, рубрики: unroll, оптимизации, циклыЭто цикл статей об оптимизирующих компиляторах вообще и LLVM в частности. Смотри все статьи данного цикла:
-
Размотка циклов
Математическое решение задачи о матрице «змейкой»
2022-06-18 в 21:14, admin, рубрики: c++, Алгоритмы, Занимательные задачки, Лайфхаки для гиков, математика, математика для программистов, Программирование, условия, циклыНастоящая статья продолжает тему предыдущей работы (https://habr.com/ru/post/560266/Читать полностью »
Это короткая статья для новичков. Наверняка вы знаете, что в пайтоне для циклов for и while предусмотрен блок else. И с этим блоком возникает много путаницы, потому что его действие на первый взгляд не интуитивно. Приходится тратить немного времени или заглядывать в документацию каждый раз, когда он встречается:
for f in files:
if f.uuid == match_uuid:
break
else:
raise FileNotFound()
Когда будет исключение: когда файл не найден? Когда найден? Когда список пуст? На этот вопрос сложно ответить, потому что блок else находится на одном уровне с блоком for и кажется, что это какое-то условие, относящиеся к самому списку; например, когда for не нашел ни одной записи. Но достаточно знать главный секрет блока else для циклов, чтобы больше никогда не терять на это время:
Как я написал интро 4K на Rust — и оно победило
2020-07-07 в 9:07, admin, рубрики: Crinkler, Rust, shader minifier, Алгоритмы, векторные инструкции, Демосцена, циклыНедавно я написал своё первое интро 4K на Rust и представил его на Nova 2020, где оно заняло первое место в конкурсе New School Intro Competition. Написать интро 4K довольно сложно. Это требует знания многих различных областей. Здесь я сосредоточусь на методах, как максимально сократить код Rust.
Можете просмотреть демо-версию на Youtube, скачать исполняемый файл на Pouet или получить исходный код с Github.
Читать полностью »
Самый полный русскоязычный перевод Гарвардского курса по программированию CS50 2015, бесплатно на YouTube
2018-10-18 в 14:30, admin, рубрики: ajax, ASCII, C#, c++, clang, computer, computer science, cs50, cs50 на русском, CS50 на русском языке, css, david, David J. Malan, dom, gdb, harvard, html, http, IP, java, javascript, malan, mvc, onlineuniver, php, return, rsa, science, Scratch, sql, tcp, Алгоритмы, аргументы командной строки, асимптотическая нотация, библиотеки, Бинарная нотация, бинарный поиск, Булевые выражения, быстрая сортировка, видеокурс, Гарвард, глобальные переменные, деревья, Дополнительные видео, Компиляторы, компьютерные науки, линейный поиск, массивы, методы, область видимости, обучение, основы программирования, очереди, переменные, приведение типа, приоритетность, Программирование, программист, рекурсивные деревья, рекурсия, связные списки, символьные строки, сортировка вставками, сортировка выбором, сортировка пузырьком, сортировка слиянием, стили, структуры, технологии, указатели, условия, хеш-таблицы, циклы, шифр, языки программированияВ этой статье я хочу немного рассказать о самом лучшем в мире курсе по программированию.
С 2013 года наша небольшая команда занимается переводом и адаптацией англоязычных видеокурсов. За это время мы перевели и адаптировали свыше 150 часов материала. Перед тем как приступать к работе, мы анализировали материалы нескольких обучающих онлайн-школ, и выбирали, на наш педагогический взгляд, самую лучшую, которая максимально доступно, структурированно и кратко подаёт обучающий материал. В результате чего нам приходилось просматривать по несколько курсов касающихся одной и той же тематики, а после выбирать тот, который наиболее качественный и доступный для понимания новичкам.
Как оказалось, действительно качественных курсов и преподавателей не так уж и много. В русскоязычном обучающем пространстве достаточно часто встречаются пересъёмки или адаптация зарубежных курсов, которые пользуются популярностью у американских или европейских специалистов.


