uz
Feedback
Computer Science

Computer Science

Kanalga Telegram’da o‘tish

По всем вопросам: @altmainf Уважаемый менеджер: @altaiface

Ko'proq ko'rsatish
7 917
Obunachilar
-124 soatlar
-77 kunlar
-3230 kunlar
Postlar arxiv
Машинный код и язык ассемблера считаются языками программирования низкого уровня, поскольку абстракция между написанной командой и фактически выполняемым кодом практически отсутствует, а компилятор или интерпретатор не требуется. Код, написанный на низкоуровневом языке, может быть очень эффективным, но, как правило, непереносимым, поскольку приспособлен для конкретного семейства процессоров.

По-хорошему, безопасный сайт не позволит вам восстановить утерянный пароль, поскольку никогда его не сохраняет. Вместо этого он объединяет пароль с так называемой солью (уникальной для каждого пользователя секретной строкой), хеширует полученное значение и сохраняет хешированное значение. Таким образом, даже если база данных паролей будет скомпрометирована, злоумышленнику все равно придется взламывать каждый пароль по отдельности.

Оперативное запоминающее устройство – быстродействующее оперативное запоминающее устройство. В ОЗУ хранится вся информация, необходимая для работы компьютера в данный момент времени. После выключения питания информация, содержащаяся в ОЗУ, пропадает. Информацию ОЗУ можно не только считывать, но и записывать. Скорость работы ОЗУ прямо влияет на производительность всей компьютерной системы в целом. Физически ОЗУ выполняется в виде отдельных модулей, которые устанавливаются в специальные разъемы (слоты) материнской платы. Решение многих задач требует памяти большой емкости для хранения необходимого количества информации. Поэтому ЭВМ обычно помимо ОЗУ емкостью в несколько тысяч или десятков тысяч слов содержит ПЗУ, способное хранить миллионы машинных слов.

Этапы процесса компиляции: 1. Предварительная проверка. Исходная программа обрабатывается путём подстановки имеющихся макросов и заголовочных файлов. 2. Лексический и синтаксический анализ. Программа преобразовывается в цепочку лексем, а затем во внутреннее представление в виде дерева. 3. Семантический анализ. Дерево разбора обрабатывается с целью установления его семантики (смысла) — например, привязка идентификаторов к их декларациям, типам, проверка совместимости, определение типов выражений и т. д. Результат обычно называется «промежуточным представлением/кодом», и может быть дополненным деревом разбора, новым деревом, абстрактным набором команд или чем-то ещё, удобным для дальнейшей обработки. 4. Оптимизация. Внутреннее представление программы неоднократно преобразовывается с целью сокращения размера и времени исполнения программы. 5. Генерация кода. Внутреннее представление преобразовывается в блоки команд процессора, которые преобразовываются в объектный код. 6. Сборка. Компоновщик соединяет несколько объектных файлов в исполняемый файл или библиотеку.

IT образование в 2022 стало бесплатным!  Шпаргалки, справочники, статьи и гайды топовых вузов страны тут: https://t.me/code_guru

Сортировка выбором Идея сортировок выбором в том, что в неотсортированном подмассиве ищется локальный максимум(минимум), потом найденный максимум (минимум) меняется местами с последним (первым) элементом в подмассиве, и если в массиве остались неотсортированные подмассивы, то процедура повторяется. Сортировка простым выбором представляет из себя грубый двойной перебор.  Сложность по времени: Худшее время: O(n^2) Среднее время: O(n^2) Лучшее время: O(n^2) Затраты на память: O(1) вспомогательной, O(n) основной Можно провести несколько модификаций и получим двухстороннюю сортировку выбором.  Похожая идея используется в сортировке перемешиванием. Проходя по неотсортированной части массива, мы кроме максимума также находим и минимум. Минимум ставим на первое место, максимум на последнее.  Может показаться, что это ускоряет алгоритм в 2 раза, но это не так, т.к. в этом случае кол-во сравнений увеличилось в два раза. Двойной выбор лишь незначительно увеличивает скорость алгоритма

Канальный уровень модели OSI (2) Data link layer предназначен для обмена данными между узлами, находящимися в том же сегменте локальной сети, путем передачи специальных блоков данных, которые называются кадрами (frame). В процессе формирования кадров данные снабжаются служебной информацией (заголовком), необходимой для корректной доставки получателю, и, в соответствии с правилами доступа к среде передачи, отправляются на физический уровень. На уровне условно выделяют следующие подуровни управления: ⁃ уровень управления логическим каналом (logical link control, LLC) ⁃ уровень доступа к среде (media access layer, MAC) Устройствами второго уровня считаются мосты и коммутаторы.

Какого размера может быть кэш-память? Чтобы кэш-память можно было полностью заполнить, ее размер должен быть кратен степени числа 2, по тем же причинам что и оперативная память. Это касается и кэш строк, поэтому например кэш-память размером в 14 байт, не удасться полностью заполнить кэш-строками по 4 байта Размер кэша, о котором мы говорим, называется полезный размер кэша. Именно он и указывается в документации, то есть это размер без указания служебных данных, которые тоже будут храниться в кэш-памяти. Поэтому полный размер кэша складывается из самих данных, которые записываются в него из оперативной памяти + различные служебные данные.

Сортировка расческой Сортировка расческой — улучшенная версия сортировки пузырьком.  Проблема пузырьковой сортировки в том, что если в массиве в начале будет много больших элементов, то в ходе алгоритма будет очень много перестановок, которые тормозят скорость работы алгоритма. Чтобы уменьшить их кол-во, можно перекидывать элементы не на соседнее место, а подальше. Но отправлять каждый большой элемент в конец массива очень самонадеянно, т.к. мы не знаем на сколько он большой по сравнению с другими, поэтому в сортировке расческой сравниваются элементы, которые находятся на каком-то расстоянии друг от друга. Опытным путём программисты установили оптимальное расстояние между элементами — это длина массива, поделённая на 1,247 Сложность по времени: Худшее время: O(n^2) Среднее время: O(n^2 / 2^p), где p - кол-во инкрементов Лучшее время: O(n log n) Затраты на память: O(1)

Контрольные суммы  Распространенный способ быстро и эффективно обнаружить повреждение данных в современных системах. Для вычисления простой контрольной суммы нужно лишь сложить байты блока данных, но, конечно, придумано много более изощренных контрольных сумм, в том числе циклический избыточный код (CRC), контрольная сумма Флетчера и другие [MK09]. В компьютерных сетях контрольные суммы используются следующим образом. Отправитель вычисляет КС байтов сообщения и посылает ее вместе с самим сообщением. Получатель также вычисляет КС поступившего сообщения; если она совпадает с отправленной, то есть надежда, что данные не были повреждены во время передачи. КС оцениваются по нескольким критериям. Самый важный – сила, или способность к обнаружению ошибок: приводит ли изменение данных к изменению контрольной суммы? Чем сильнее контрольная сумма, тем больше шансов, что изменение данных не останется незамеченным. Еще один важный критерий – производительность: каковы затраты на вычисление контрольной суммы? К сожалению, сила и производительность редко уживаются, т. е. высококачественную контрольную сумму труднее вычислить.

Принципы построения современных ОС   1. Принцип модульности Мы говорим о системных программных модулях, которые являются программными ресурсами и могут быть распределены между выполняющимися процессами. Этот принцип отражает технологические и эксплуатационные свойства системы.   2. Принцип параметрической настраиваемости  Возможность учета ОС параметров конфигурации ВС называется параметрической настраиваемостью. ОС должна быть способна распознавать как старые, так новые устройства и обеспечивать их работу.   3. Принцип функциональной избыточности Принцип функциональной избыточности состоит во включении в состав ОС различных программных средств, выполняющих одну и ту же функцию, но которые в различных ситуациях работают с различной эффективностью.   4. Принцип функциональной избирательности  Принцип функциональной избирательности состоит в возможности учета целей, для которых используется система. Воплощение этого принципа позволяет в зависимости от области применения сгенерировать такой вариант системы, который был бы эффективен в данном конкретном применении.   5. Принцип абстракции и виртуализации  Использование интерфейсов, отделяющие друг от друга уровни абстракции, облегчает независимую разработку аппаратных и программных подсистем силами разных групп специалистов.

Как собрать данные с сайта в один клик? Для этого существуют специальные программы — парсеры. Создайте парсер за 3 дня на бес
Как собрать данные с сайта в один клик? Для этого существуют специальные программы — парсеры. Создайте парсер за 3 дня на бесплатном онлайн-интенсиве по Python, который проводит Skillbox. Подробная программа:✍️ https://clc.to/9Et_6g Каждому зарегистрированному участнику вышлем на почту подборку скриптов на Python, которые пригодятся начинающему разработчику. На интенсиве вы научитесь автоматически собирать данные с сайтов и работать с форматами данных JSON, HTML, XML, CSV. С нуля напишете программу, которая будет собирать для вас информацию с сайтов и уведомлять через Telegram. Узнаете о профессии Python-разработчика и карьерных перспективах. Спикер — Михаил Овчинников. 15 лет работает в сфере IT — от стартапов до крупных компаний. Всем, кто дойдёт до конца интенсива, подарим электронную книгу «Человек + машина» Пола Доэрти и Джеймса Уилсона. Участвуйте, задавайте вопросы и получите сертификат на 10 000 рублей на любой курс Skillbox. Увидимся в прямом эфире с 22 по 24 августа в 21:00 по московскому времени!

Программный интерфейс  API (application program interface) - предназначен для программистов и служит для использования в разрабатываемых про- граммах функции ОС.  Для реализации API используется синхронное прерывание. Вызов из программы функции ядра ОС состоит в выполнении прерывания. Предварительно в регистры загружаются параметры и в определённый регистр код функции. При выполнении прерывания управление передается ядру ОС. Функция ядра, обрабатывающая прерывание, анализирует код функции и передает управление функции ОС, определяемой этим кодом.

Физический уровень модели OSI Всего в модели сетевого взаимодействия выделяют 7 уровней, рассмотрим первый из них. Физический уровень — нижний уровень модели OSI. Описывает способы передачи бит (не пакетов данных) через физические среды линий связи (кабели), соединяющие сетевые устройства. Битовый поток может быть сгруппирован в кодовые слова или символы и преобразован в физический сигнал. Один из основных стандартов среди технологий физического уровня – Ethernet.

Многие топовые видеокурсы уже давно выложили на YouTube бесплатно. Вот канал, где собирают все найденные – https://t.me/+WXGq
Многие топовые видеокурсы уже давно выложили на YouTube бесплатно.  Вот канал, где собирают все найденные – https://t.me/+WXGqXcJFtX4yNTQy В нем есть материал по абсолютно всем языкам программирования — Не теряйте и подписывайтесь.

Криптография В прошлом сохранение информации в тайне в значительной степени опиралось на принцип «безопасность через неясность», предполагающий сокрытие сообщения или отсутствие у противника ключей для его расшифровки. В основе современной криптографии лежит математика. Мы предпочитаем использовать криптосистему, спроектированную таким образом, что, даже имея копию зашифрованного текста и зная, как именно он был зашифрован, злоумышленник все равно не сможет прочитать сообщение, не зная общего секретного ключа. Наличие этого ключа позволяет расшифровать сообщение и восстановить исходный текст

Быстрая сортировка Ей уже 60 лет, но она до сих пор работает быстро. За основу, была взята классическая сортировка пузырьком и преобразована таким образом:  1. на очередном шаге выбирается опорный элемент — им может быть любой элемент массива  2. Все остальные элементы массива сравниваются с опорным и те, которые меньше него, уставляться слева от него, а которые больше или равны — справа  3. Далее для двух получившихся блоков массива выполняется пункт 1 и 2. Особенность алгоритма в том, что так как в пункте 3 мы разбиваем массив на два и для каждой части делаем то же самое, и так снова и снова, то это значит, что в нём используется рекурсия. Сложность по времени: Худшее время: O(n^2) Среднее время: O(n log n) Лучшее время: O(n) Затраты на память: O(n)

👾 Этичный хакер - Уроки по хакингу. Канал c инструкциями по взлому, деанону, защите устройств и бесплатными курсами по информационной безопасности.

Квантовый компьютер — это сравнительно новая модель вычислений, основанная на квантовой механике. Там, где в классических компьютерах используются биты, которые могут быть равны 0 или 1, в квантовых компьютерах применяются кубиты. Последние существуют в суперпозиции состояний: каждый бит равен 0 и 1 одновременно. Если байт выражает одно значение от 0 до 255, то квантовый байт выражает все 256 значений одновременно. Если прочитать кубиты, то они свернутся в одно состояние. Другими словами, вместо того, чтобы находиться во всех возможных состояниях сразу, они имеют ровно одно значение. При этом нет гарантии, что это значение будет правильным; алгоритм просто манипулирует кубитами так, что при их измерении они с большой вероятностью придут в правильное состояние.

Плюсы и минусы рекурсивных функций Плюсы:  1. Снижают время выполнения функции Рекурсия, в сравнении с циклами, тратят меньше времени до завершении функции. Чем меньше строк кода у нас будет, тем быстрее функция будет обрабатывать вызовы внутри себя. НО Если функция плохо написана, то мы рискуем переполнить стек, что в конечном счете приведет к снижению скорости и программным ошибкам.  2. Легче отлаживать Многие согласятся, что эта причина очень важна. Рекурсия проста в отладке из-за того, что она не содержит сложных и длинных конструкций. Минусы:  3. Занимают много места Занимают значительный объем памяти во время своего выполнения. При каждом вызове функции в стек будет добавляться новый элемент, который будет занимать место до тех пор, пока функция не завершит работу.