Найти в Дзене
Зачем запрещать прерывания
Понимаю, что сегодня на языке ассемблера почти никто не программирует. Тем более на ассемблере для процессора 8086. Однако есть несколько причин, почему я до сих пор иногда об этом пишу: Так что встречайте новую статью, которую пропустит большинство подписчиков, но вы то уже начали читать ))) Представьте, что вы пишете важное письмо на бумаге. И вдруг каждые 20 секунд кто-то хлопает вас по плечу и просит: — Открой окно! — Подвинь стул! — Глянь на погоду! От таких постоянных отвлечений вы собьётесь и напишете ерунду...
1 неделю назад
Отрицательный индекс массива в JavaScript: допустимо ли это и зачем может пригодиться
Многие начинающие, а иногда и опытные разработчики, сталкиваются с вопросом: что будет, если попытаться обратиться к элементу массива по отрицательному индексу, например arr[-1]? Будет ли это ошибкой? Вернёт ли JavaScript последний элемент, как в языке Python? Давайте разберёмся на простых примерах. Технически — да. Синтаксической ошибки не произойдёт. Однако вести себя JavaScript будет совсем не так, как ожидают многие новички, особенно после перехода с Python. Создадим простой массив с фруктами:...
1 неделю назад
Немного ностальгическая статья про ReadLn и уходящую эпоху классического программирования
В наше время, когда код пишут нейросети, зачем изучать языки программирования? Особенно такие, как Паскаль. Тем более, применительно к консольным приложениям. И зачем писать об этом статьи? Ну, во-первых, несмотря на то, что сегодня можно создавать рабочие программы не будучи программистом, я убеждён, что человек, который хочет стать профессионалам, должен знать хотя бы один язык программирования, чтобы понимать, как код превращается в программу. Я, например, не пишу программ на ассемблере и тем более в машинных кодах...
2 недели назад
Смерть от «улучшений»: почему программисты и маркетологи губят свои продукты, набивая их мусором
Вы когда-нибудь устанавливали программу, чтобы просто посмотреть фильм или записать текст, а потом с ужасом смотрели на интерфейс, похожий на панель управления космического корабля? Тонны кнопок, графиков, облачных синхронизаций и менеджеров чего-то там. Добро пожаловать в мир современного софта, где простота почти всегда лучше, чем навороченность. Но производители почему-то упорно не хотят это понимать. В этой статье разберем, почему так происходит, кто виноват и как не попасться на эту удочку....
2 недели назад
Неожиданный поворот: зачем увеличивать буквы в PHP
Когда мы слышим «оператор инкремента» (тот самый ++), перед глазами сразу встают цифры: увеличили число на единицу — всё просто. А декремент (--) — уменьшили. Но в PHP эти операторы умеют работать не только с числами. Их можно применять к строкам из латинских букв. Звучит странно, но это реально работает и в некоторых задачах очень выручает. Вместо того чтобы писать: $letter = 'a'; потом $letter = 'b'; потом $letter = 'c';… Достаточно один раз задать начальную букву и каждый раз писать ++: $letter...
3 недели назад
IndexOfAny() в C#: как найти один символ из списка в строке
Представьте, что у вас есть текст. Вам нужно проверить, есть ли в нём хотя бы одна точка, запятая или восклицательный знак. Или, например, найти первую позицию, где встречается любая цифра. Обычный способ «Найти позицию символа» (IndexOf) ищет только один заданный символ. А если их несколько? Писать пять проверок подряд — долго и некрасиво. Здесь на помощь приходит метод IndexOfAny. Это встроенная команда в языке C#, которая пробегает по тексту и ищет первое вхождение любого символа из перечисленного вами списка...
3 недели назад
Средства разработки для Фортран: от перфокарт до современности
Легендарный язык, который не сдается Фортран — это настоящий дедушка среди языков программирования. Если вы изучаете физику, математику или работаете в инженерии, вы наверняка с ним знакомы. Этот язык был создан для того, чтобы решать сложнейшие вычислительные задачи, и он блестяще справляется с этим до сих пор. В этой статье мы кратко пробежимся по истории, узнаем, где родился первый Фортран, и посмотрим, в каких средах (программах для написания кода) работают современные специалисты. В середине 1950-х годов программирование было настоящей магией...
3 недели назад
Как сделать текст на сайте красивым на любом экране без лишних настроек
Представьте: вы открыли сайт на большом мониторе — заголовок крупный и читается легко. Перешли на телефон — тот же заголовок стал меньше, но не крошечным, а всё ещё удобным. И всё это без скачков, без полос прокрутки и без настроек под каждое устройство отдельно. Раньше для этого приходилось писать специальные правила: «если ширина экрана меньше 500 пикселей, сделай шрифт таким-то». Это работало, но правил получалось много. Сегодня есть способ проще и элегантнее — с помощью одного математического действия...
4 недели назад
Сопоставление, отбор и сокращение списков в Python
В прошлый раз мы разобрали, что такое списки и как с ними работать: создавать, добавлять элементы, удалять и перебирать. Теперь пойдём дальше. Вы узнаете три приёма, которые позволяют получать из имеющихся списков новые списки — изменённые, уменьшенные или отфильтрованные. Представьте, что у вас есть коробка с разными фруктами. Вы хотите: Рассмотрим каждый приём на примерах кода, понятных новичку. Что это такое Сопоставление — это когда мы берём каждый элемент исходного списка, делаем с ним одно и то же действие, и кладём результат в новый список...
4 недели назад
Почему таблицу в базе данных когда-то называли «базовой относительной переменной»?
Если вы начнёте читать старые книги по базам данных или серьёзные учебники для инженеров-программистов, то можете наткнуться на странное словосочетание: «базовая относительная переменная». Им обозначают то, что мы сегодня привыкли называть просто «таблица». Откуда взялось это чудовищное название и почему о нём все забыли? Давайте разбираться. Откуда взялось это название? Всё началось в 1970-х годах, когда английский учёный Эдгар Кодд придумал теорию для работы с базами данных. Эта теория называлась «реляционная модель данных»...
4 недели назад
Объекты как ассоциативные массивы в JavaScript
Когда люди слышат слово «массив», они обычно представляют себе список с номерами: первый пункт, второй, третий. Но в JavaScript есть ещё один полезный приём — использовать объекты как хранилища с именами вместо номеров. Обычный массив обращается к элементам по индексу: А объект позволяет обращаться по названию: По сути, объект в данном случае работает как картотека. Вместо того чтобы говорить «дай мне вторую карточку», вы говорите «дай мне карточку с фамилией Иванов». Создаём пустую картотеку: let...
1 месяц назад
Пустой проект графического приложения Lazarus: что внутри
Когда вы впервые открываете среду разработки Lazarus и создаёте новый проект, на экране появляется пустое окно. Это и есть основа вашей будущей программы. Многие новички пугаются, думая, что нужно сразу писать сложный код. Но на самом деле пустой проект — это уже готовый работающий каркас. Давайте разберёмся, из каких частей он состоит и что означает каждый файл на диске. Когда вы создаёте пустой проект, вы видите несколько важных областей. Главное окно программы — это пустая серая форма. Пока на ней ничего нет, но в будущем здесь будут кнопки, поля для ввода текста, картинки и другие элементы...
1 месяц назад