Computer Science
Kanalga Telegram’da o‘tish
По всем вопросам: @altmainf Уважаемый менеджер: @altaiface
Ko'proq ko'rsatish7 917
Obunachilar
-124 soatlar
-77 kunlar
-3230 kunlar
Postlar arxiv
7 917
Машинный код и язык ассемблера считаются языками программирования низкого уровня, поскольку абстракция между написанной командой и фактически выполняемым кодом практически отсутствует, а компилятор или интерпретатор не требуется.
Код, написанный на низкоуровневом языке, может быть очень эффективным, но, как правило, непереносимым, поскольку приспособлен для конкретного семейства процессоров.
7 917
По-хорошему, безопасный сайт не позволит вам восстановить утерянный пароль, поскольку никогда его не сохраняет.
Вместо этого он объединяет пароль с так называемой солью (уникальной для каждого пользователя секретной строкой), хеширует полученное значение и сохраняет хешированное значение.
Таким образом, даже если база данных паролей будет скомпрометирована, злоумышленнику все равно придется взламывать каждый пароль по отдельности.
7 917
Оперативное запоминающее устройство – быстродействующее оперативное запоминающее устройство.
В ОЗУ хранится вся информация, необходимая для работы компьютера в данный момент времени. После выключения питания информация, содержащаяся в ОЗУ, пропадает.
Информацию ОЗУ можно не только считывать, но и записывать. Скорость работы ОЗУ прямо влияет на производительность всей компьютерной системы в целом.
Физически ОЗУ выполняется в виде отдельных модулей, которые устанавливаются в специальные разъемы (слоты) материнской платы.
Решение многих задач требует памяти большой емкости для хранения необходимого количества информации. Поэтому ЭВМ обычно помимо ОЗУ емкостью в несколько тысяч или десятков тысяч слов содержит ПЗУ, способное хранить миллионы машинных слов.
7 917
Этапы процесса компиляции:
1. Предварительная проверка.
Исходная программа обрабатывается путём подстановки имеющихся макросов и заголовочных файлов.
2. Лексический и синтаксический анализ.
Программа преобразовывается в цепочку лексем, а затем во внутреннее представление в виде дерева.
3. Семантический анализ.
Дерево разбора обрабатывается с целью установления его семантики (смысла) — например, привязка идентификаторов к их декларациям, типам, проверка совместимости, определение типов выражений и т. д. Результат обычно называется «промежуточным представлением/кодом», и может быть дополненным деревом разбора, новым деревом, абстрактным набором команд или чем-то ещё, удобным для дальнейшей обработки.
4. Оптимизация.
Внутреннее представление программы неоднократно преобразовывается с целью сокращения размера и времени исполнения программы.
5. Генерация кода.
Внутреннее представление преобразовывается в блоки команд процессора, которые преобразовываются в объектный код.
6. Сборка.
Компоновщик соединяет несколько объектных файлов в исполняемый файл или библиотеку.
7 917
IT образование в 2022 стало бесплатным!
Шпаргалки, справочники, статьи и гайды топовых вузов страны тут:
https://t.me/code_guru
7 917
Сортировка выбором
Идея сортировок выбором в том, что в неотсортированном подмассиве ищется локальный максимум(минимум), потом найденный максимум (минимум) меняется местами с последним (первым) элементом в подмассиве, и если в массиве остались неотсортированные подмассивы, то процедура повторяется.
Сортировка простым выбором представляет из себя грубый двойной перебор.
Сложность по времени:
Худшее время:
O(n^2)
Среднее время: O(n^2)
Лучшее время: O(n^2)
Затраты на память: O(1) вспомогательной, O(n) основной
Можно провести несколько модификаций и получим двухстороннюю сортировку выбором.
Похожая идея используется в сортировке перемешиванием. Проходя по неотсортированной части массива, мы кроме максимума также находим и минимум. Минимум ставим на первое место, максимум на последнее.
Может показаться, что это ускоряет алгоритм в 2 раза, но это не так, т.к. в этом случае кол-во сравнений увеличилось в два раза. Двойной выбор лишь незначительно увеличивает скорость алгоритма7 917
Канальный уровень модели OSI (2)
Data link layer предназначен для обмена данными между узлами, находящимися в том же сегменте локальной сети, путем передачи специальных блоков данных, которые называются кадрами (frame).
В процессе формирования кадров данные снабжаются служебной информацией (заголовком), необходимой для корректной доставки получателю, и, в соответствии с правилами доступа к среде передачи, отправляются на физический уровень.
На уровне условно выделяют следующие подуровни управления:
⁃ уровень управления логическим каналом (logical link control, LLC)
⁃ уровень доступа к среде (media access layer, MAC)
Устройствами второго уровня считаются мосты и коммутаторы.
7 917
Какого размера может быть кэш-память?
Чтобы кэш-память можно было полностью заполнить, ее размер должен быть кратен степени числа 2, по тем же причинам что и оперативная память. Это касается и кэш строк, поэтому например кэш-память размером в 14 байт, не удасться полностью заполнить кэш-строками по 4 байта
Размер кэша, о котором мы говорим, называется полезный размер кэша. Именно он и указывается в документации, то есть это размер без указания служебных данных, которые тоже будут храниться в кэш-памяти.
Поэтому полный размер кэша складывается из самих данных, которые записываются в него из оперативной памяти + различные служебные данные.
7 917
Сортировка расческой
Сортировка расческой — улучшенная версия сортировки пузырьком.
Проблема пузырьковой сортировки в том, что если в массиве в начале будет много больших элементов, то в ходе алгоритма будет очень много перестановок, которые тормозят скорость работы алгоритма.
Чтобы уменьшить их кол-во, можно перекидывать элементы не на соседнее место, а подальше. Но отправлять каждый большой элемент в конец массива очень самонадеянно, т.к. мы не знаем на сколько он большой по сравнению с другими, поэтому в сортировке расческой сравниваются элементы, которые находятся на каком-то расстоянии друг от друга.
Опытным путём программисты установили оптимальное расстояние между элементами — это длина массива, поделённая на 1,247
Сложность по времени:
Худшее время:
O(n^2)
Среднее время: O(n^2 / 2^p), где p - кол-во инкрементов
Лучшее время: O(n log n)
Затраты на память: O(1)7 917
Контрольные суммы
Распространенный способ быстро и эффективно обнаружить повреждение данных в современных системах.
Для вычисления простой контрольной суммы нужно лишь сложить байты блока данных, но, конечно, придумано много более изощренных контрольных сумм, в том числе циклический избыточный код (
CRC), контрольная сумма Флетчера и другие [MK09].
В компьютерных сетях контрольные суммы используются следующим образом. Отправитель вычисляет КС байтов сообщения и посылает ее вместе с самим сообщением. Получатель также вычисляет КС поступившего сообщения; если она совпадает с отправленной, то есть надежда, что данные не были повреждены во время передачи.
КС оцениваются по нескольким критериям. Самый важный – сила, или способность к обнаружению ошибок: приводит ли изменение данных к изменению контрольной суммы? Чем сильнее контрольная сумма, тем больше шансов, что изменение данных не останется незамеченным.
Еще один важный критерий – производительность: каковы затраты на вычисление контрольной суммы?
К сожалению, сила и производительность редко уживаются, т. е. высококачественную контрольную сумму труднее вычислить.7 917
Принципы построения современных ОС
1. Принцип модульности
Мы говорим о системных программных модулях, которые являются программными ресурсами и могут быть распределены между выполняющимися процессами. Этот принцип отражает технологические и эксплуатационные свойства системы.
2. Принцип параметрической настраиваемости
Возможность учета ОС параметров конфигурации ВС называется параметрической настраиваемостью. ОС должна быть способна распознавать как старые, так новые устройства и обеспечивать их работу.
3. Принцип функциональной избыточности
Принцип функциональной избыточности состоит во включении в состав ОС различных программных средств, выполняющих одну и ту же функцию, но которые в различных ситуациях работают с различной эффективностью.
4. Принцип функциональной избирательности
Принцип функциональной избирательности состоит в возможности учета целей, для которых используется система. Воплощение этого принципа позволяет в зависимости от области применения сгенерировать такой вариант системы, который был бы эффективен в данном конкретном применении.
5. Принцип абстракции и виртуализации
Использование интерфейсов, отделяющие друг от друга уровни абстракции, облегчает независимую разработку аппаратных и программных подсистем силами разных групп специалистов.
7 917
Как собрать данные с сайта в один клик? Для этого существуют специальные программы — парсеры. Создайте парсер за 3 дня на бесплатном онлайн-интенсиве по Python, который проводит Skillbox.
Подробная программа:✍️ https://clc.to/9Et_6g
Каждому зарегистрированному участнику вышлем на почту подборку скриптов на Python, которые пригодятся начинающему разработчику.
На интенсиве вы научитесь автоматически собирать данные с сайтов и работать с форматами данных JSON, HTML, XML, CSV. С нуля напишете программу, которая будет собирать для вас информацию с сайтов и уведомлять через Telegram. Узнаете о профессии Python-разработчика и карьерных перспективах.
Спикер — Михаил Овчинников. 15 лет работает в сфере IT — от стартапов до крупных компаний.
Всем, кто дойдёт до конца интенсива, подарим электронную книгу «Человек + машина» Пола Доэрти и Джеймса Уилсона. Участвуйте, задавайте вопросы и получите сертификат на 10 000 рублей на любой курс Skillbox.
Увидимся в прямом эфире с 22 по 24 августа в 21:00 по московскому времени!
7 917
Программный интерфейс
API (application program interface) - предназначен для программистов и служит для использования в разрабатываемых про- граммах функции ОС.
Для реализации API используется синхронное прерывание. Вызов из программы функции ядра ОС состоит в выполнении прерывания. Предварительно в регистры загружаются параметры и в определённый регистр код функции. При выполнении прерывания управление передается ядру ОС. Функция ядра, обрабатывающая прерывание, анализирует код функции и передает управление функции ОС, определяемой этим кодом.
7 917
Физический уровень модели OSI
Всего в модели сетевого взаимодействия выделяют 7 уровней, рассмотрим первый из них.
Физический уровень — нижний уровень модели OSI.
Описывает способы передачи бит (не пакетов данных) через физические среды линий связи (кабели), соединяющие сетевые устройства.
Битовый поток может быть сгруппирован в кодовые слова или символы и преобразован в физический сигнал.
Один из основных стандартов среди технологий физического уровня – Ethernet.
7 917
Многие топовые видеокурсы уже давно выложили на YouTube бесплатно.
Вот канал, где собирают все найденные – https://t.me/+WXGqXcJFtX4yNTQy
В нем есть материал по абсолютно всем языкам программирования — Не теряйте и подписывайтесь.
7 917
Криптография
В прошлом сохранение информации в тайне в значительной степени опиралось на принцип «безопасность через неясность», предполагающий сокрытие сообщения или отсутствие у противника ключей для его расшифровки.
В основе современной криптографии лежит математика. Мы предпочитаем использовать криптосистему, спроектированную таким образом, что, даже имея копию зашифрованного текста и зная, как именно он был зашифрован, злоумышленник все равно не сможет прочитать сообщение, не зная общего секретного ключа. Наличие этого ключа позволяет расшифровать сообщение и восстановить исходный текст
7 917
Быстрая сортировка
Ей уже 60 лет, но она до сих пор работает быстро.
За основу, была взята классическая сортировка пузырьком и преобразована таким образом:
1. на очередном шаге выбирается опорный элемент — им может быть любой элемент массива
2. Все остальные элементы массива сравниваются с опорным и те, которые меньше него, уставляться слева от него, а которые больше или равны — справа
3. Далее для двух получившихся блоков массива выполняется пункт 1 и 2.
Особенность алгоритма в том, что так как в пункте 3 мы разбиваем массив на два и для каждой части делаем то же самое, и так снова и снова, то это значит, что в нём используется рекурсия.
Сложность по времени:
Худшее время:
O(n^2)
Среднее время: O(n log n)
Лучшее время: O(n)
Затраты на память: O(n)7 917
👾 Этичный хакер - Уроки по хакингу. Канал c инструкциями по взлому, деанону, защите устройств и бесплатными курсами по информационной безопасности.
7 917
Квантовый компьютер — это сравнительно новая модель вычислений, основанная на квантовой механике.
Там, где в классических компьютерах используются биты, которые могут быть равны
0 или 1, в квантовых компьютерах применяются кубиты. Последние существуют в суперпозиции состояний: каждый бит равен 0 и 1 одновременно. Если байт выражает одно значение от 0 до 255, то квантовый байт выражает все 256 значений одновременно. Если прочитать кубиты, то они свернутся в одно состояние. Другими словами, вместо того, чтобы находиться во всех возможных состояниях сразу, они имеют ровно одно значение. При этом нет гарантии, что это значение будет правильным; алгоритм просто манипулирует кубитами так, что при их измерении они с большой вероятностью придут в правильное состояние.7 917
Плюсы и минусы рекурсивных функций
Плюсы:
1. Снижают время выполнения функции
Рекурсия, в сравнении с циклами, тратят меньше времени до завершении функции. Чем меньше строк кода у нас будет, тем быстрее функция будет обрабатывать вызовы внутри себя.
НО
Если функция плохо написана, то мы рискуем переполнить стек, что в конечном счете приведет к снижению скорости и программным ошибкам.
2. Легче отлаживать
Многие согласятся, что эта причина очень важна. Рекурсия проста в отладке из-за того, что она не содержит сложных и длинных конструкций.
Минусы:
3. Занимают много места
Занимают значительный объем памяти во время своего выполнения. При каждом вызове функции в стек будет добавляться новый элемент, который будет занимать место до тех пор, пока функция не завершит работу.
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
