ch
Feedback
Computer Science

Computer Science

前往频道在 Telegram

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

显示更多
7 922
订阅者
-124 小时
-57
-2930
帖子存档
Просто ли стать Java-разработчиком? Нет. Всем ли подойдет IT? Тоже нет. Стоит ли попробовать? Да. Если вы хотите стать востре
Просто ли стать Java-разработчиком? Нет. Всем ли подойдет IT? Тоже нет. Стоит ли попробовать? Да. Если вы хотите стать востребованным разработчиком, вам нужно не просто научиться писать код. А в первую очередь сформировать инженерное мышление. На этом построен процесс обучения на Хекслете. На профессии «Java-разработчик» вас ждет не только теория, но и много практики: ✔️ Сотни упражнений в браузере. ✔️ 5 проектов для портфолио на GitHub. ✔️ 150 тестовых заданий от наших партнёров. ✔️ Вебинары, сессии лайвкодинга с наставником 1-2 раза в неделю. Сделайте шаг в карьере в IT-специалиста прямо сейчас! Переходите по ссылке выше и начните обучение! 🎁 Пройдите первые 10 бесплатных уроков из профессии и получите дополнительно скидку 10%

Зачем нужны указатели? Указатели нужны для того, чтобы можно было напрямую работать с оперативной памятью. Указатели позволяют экономить выделение памяти: когда в функцию вместо переменной передаётся указатель, компьютер не создаёт её локальную копию, а обращается к ней напрямую. Второе применение указателей — динамическое управление памятью. Если нам нужно выделить в памяти некоторую область для хранения своих данных, но стандартные переменные нам не подходят, мы можем использовать указатель. В этом случае мы помещаем в него стартовый адрес ячейки и говорим, сколько байтов после него нужно использовать и что в них положить.

В avito.code — шоу для разработчиков — появилась серия роликов про Neovim. Инженер Авито Антон Губарев рассказывает о совмест
В avito.code — шоу для разработчиков — появилась серия роликов про Neovim. Инженер Авито Антон Губарев рассказывает о совместимости редактора с другими программами. Из нового выпуска вы узнаете, как делать запросы через cURL, не выходя из Neovim. Реклама. ООО «Авито Тех».

Что такое указатели в программировании? Кратко говоря — это ссылка на ячейку в оперативной памяти. Указатели считаются сложной темой, но на самом деле в указателях нет ничего сложного. Когда мы заводим новую переменную, компьютер выделяет для неё место в оперативной памяти. Количество этих ячеек зависит от типа данных, который хранится в этой переменной: обычно для int - 2 байта, float — 4, double— 8, для строки — столько же, сколько и символов и ещё 1 служебный байт. Но сколько бы байтов ни выделил компьютер для хранения, он выделяет эти байты подряд, друг за другом, и запоминает два момента: 1. Сколько байтов занимает переменная. 2. По какому адресу в памяти находится первый байт этой переменной. Если совсем упростить, то адрес в памяти — это порядковый номер ячейки, где хранится байт. Так вот, в указателях как раз хранятся адреса памяти, где начинаются разные переменные.

Что такое low-code? Лоу-код — это почти такая же зерокодовая платформа для программирования, но где можно в любой момент зайти в код и дописать что-то своё. При этом лоу-код необязательно будет таким же лёгким, как и конструктор. Слово low означает, что его нужно будет написать не очень много, но сам код может быть на любом языке. Кратко: ⁃ Это приложения на базе zero-code, в которых можно что-то дописать вручную. ⁃ Это нужно, чтобы расширить возможности конструкторов zero-code. ⁃ Дописанный код при этом необязательно будет простым. Он бывает вполне взрослым и сложным. ⁃ Если вы можете написать low-code, вероятно, вы сможете написать всё приложение с нуля.

Зеро-код — что это? В мире разработки есть концепция Zero Code — это когда программы, сервисы и всякая автоматизация делается не с помощью кода, а с помощью более наглядных и визуальных инструментов. Самое популярное — конструкторы сайтов. Мы уже привыкли, что половина сайтов в интернете сделана на «Тильде». Не нужно знать HTML, CSS и JavaScript, достаточно собирать сайты из готовых блоков. Главный плюс: сайты можно делать за минуты и часы, а не за дни и недели. Главный минус: ограничения по внешнему виду и структуре. Конструкторы имеют какие-то заданные шаблоны, в которых ты набираешь текст и вставляешь картинки. Чтобы вылезти из шаблона, нужно писать код. А мы хотели без кода.

Разница между шифрованием и кодированием Если кодирование нужно, чтобы сделать информацию понятной для всех, то шифрование работает наоборот — прячет данные от всех, у кого нет ключа расшифровки. Задача шифрования — превратить данные, которые могут прочитать все, в данные, которые может прочитать только тот, у кого есть специальное знание (ключ безопасности, сертификат, пароль или расшифровочная матрица). Если пароля нет, то данные внешне представляют из себя полную бессмыслицу. Шифрование используют: ⁃ госорганы, чтобы защитить персональные данные граждан; ⁃ банки, чтобы хранить информацию о клиентах и о переводах денег; ⁃ мессенджеры, чтобы защитить переписку; ⁃ сайты; ⁃ мобильные приложения; ⁃ и всё остальное, что связано с безопасностью или тайнами.

Кодирование Представление данных в каком-то виде, с которым удобно работать человеку или компьютеру. Кодирование нужно для того, чтобы все, кто хочет, могли получать, передавать и работать с данными так, как им хочется. Благодаря кодированию мы можем обмениваться данными между собой — мы просто кодируем их в понятном для всех виде. Для примера возьмём букву «б». Её можно произнести как звук — это значит, что мы закодировали эту букву в виде звуковой волны. Также эту букву можно написать прописью или в печатном виде. Всё это примеры кодирования буквы «б», удобные для человека. В компьютере буква «б» кодируется по-разному, в зависимости от выбранной кодировки внутри ОС. Кодирование — это то, как удобнее воспринимать информацию тем, кто ей пользуется.

В чём уникальность языка программирования LISP 1. Условные конструкции If/then/else впервые появились именно в языке Lisp. 2. Функции В этом языке функции находятся на том же уровне, что и строки или числа. 3. Рекурсия Несмотря на то, что она была известна гораздо раньше появления Lisp, впервые она была реализована именно в нём. 4. Переосмысление переменных Все переменные представляют собой указатели. 5. Сборка мусора Механизм эффективного автоматического контроля памяти, который стирает из неё ненужные объекты, впервые появился именно в Lisp-е. 6. Вся программа построена на основе выражений Стандартная Lisp-программа представляет собой деревья выражений, которые могут возвращать конкретные значения.

NAND Flash Memory NAND память была изобретена после NOR, и также названа в честь особой разметки данных Not AND – логическое Не-И. NAND память записывает и считывает данные с высокой скоростью, в режиме последовательного чтения, упорядочивая данные в небольшие блоки (страницы). Память NAND может считывать и записывать информацию постранично, однако не может обращаться к конкретному байту, как NOR. NAND обычно используют в твердотельных накопителях (SSD), аудио и видео проигрывателях, телевизионных приставках, цифровых камеры, мобильных телефонах (для хранения пользовательской информации) и других устройствах, в которых данные, как правило, записываются последовательно.

Файловая виртуализация В средах NAS каждое устройство представляется для пользователя в виде отдельного накопителя. Первоначально это было достаточно разумным решением. Но с ростом компаний неизбежно приходит время, когда емкости одного NAS становится недостаточно и файлы располагаются уже на нескольких NAS. Многие предприятия используют для этого распределенные файловые системы, работающие на нескольких NAS-устройствах. Существуют две реализации схемы: Пространство глобальных имен: в данном случае глобальная, или распределенная, файловая система устанавливается "поверх" нативных файловых систем NAS-устройств и предоставляет возможность монтировать их как единое устройство. Замещающая файловая система: вместо агрегирования файловых систем отдельных NAS-устройств в единое устройство, глобальная файловая система подменяет нативные файловые системы.

💻 Компьютерные сети - это основа, которую должен знать каждый IT-специалист. В Telegram появился канал, в котором можно изучить самое важное про компьютерные сети. 🌍 Network Admin - авторский блог о компьютерных сетях от действующего сетевого администратора.

NOR Flash Memory Память NOR, названная так в честь особой разметки данных Not OR – логическое Не-ИЛИ, является высокоскоростной памятью Flash. Память NOR предоставляет возможность высокоскоростного, случайного доступа к информации, и обладает способностью записывать и считывать данные в определенном месте без необходимости обращаться к памяти последовательно. В отличие от NAND памяти, память NOR позволяет обращаться к данным размером до одного байта. Технология NOR выигрывает в ситуациях, когда данные случайным образом записываются или читаются. Поэтому NOR чаще всего встраивают в сотовые телефоны (для хранения операционной системы) и планшеты, а также используется в компьютерах для хранения BIOS.

Интерфейсы доступа к кэшу Кольцевая шина Является связующим компонентов процессора: ядра, кэш, системный агент (он же северный мост) и графическое ядро. Состоит из четырех организованных колец: шина данных, шина запросов, шина мониторинга и шина подтверждения. Каждое кольцо способно передавать 32 байта данных за один такт. Mesh (сетка) Сетчатая шина. В ней сохранены достоинства и устранены недостатки кольцевой шины. Сегодня она применяется в серверных решениях Intel Infinity Fabric Система передачи и контроля данных. Состоит из двух конвейеров, один для управляющих сигналов, другой для транспортировки данных. С помощью данной шины связываются несколько чиплетов (чиплет/чипсет – маленький комплекс ядер и кэшей L1, L2 и L3), ОЗУ и интерфейсы ввода/вывода

Уровни кэша Кэш центрального процессора разделён на несколько уровней. В универсальном процессоре в настоящее время число уровней может достигать трёх: Первый уровень (L1) – самый быстрый, самый маленький по объему, входит в состав функциональных блоков ЦП. Обычно L1 разделён на два кэша — кэш команд и кэш данных. У каждого ядра процессора свой участок памяти Второй уровень (L2) – больше, чем L1, раньше реализовывался в виде отдельной микросхемы. Сегодня же L2 также является частью ядра ЦП. Как и L1, L2 является памятью раздельного пользования Третий уровень (L3) – самый большой, но самый медленный из-за того, приходится проходить все шины. Реализован в виде отдельной микросхемы. Также память L3 – общая для всех ядер. Используется для того, чтобы мы могли синхронизировать данные которые находятся на втором уровне между различными ядрами

Виртуализация на базе специализированного устройства Данные, связанные с виртуализацией, размещаются в специальном устройстве (иногда его называют виртуализатором), которое включается между хостами и подсистемами хранения. Различают 2 типа: Виртуализация in-band Управляется специальным устройством, виртуализатором, через который также проходит поток данных. 1. У нас сервер приложение, которое хочет обратиться к системе хранения данных и запрасить данные у виртуализатора 2. Виртуализатор интерпретирует этот запрос и физически находит необходимые данные. 3. Далее происходит обмен сообщениями Виртуализация out-of-band Виртуализатор стоит в стороне от потока данных. Обрабатывает и передаёт информацию только, где находятся необходимые для сервера файлы. 1. Сервер делает запрос 2. Виртуализатор подготавливает информацию и отправляет системе хранения данных. 3. Система хранения определяет физическое положение, отдаёт их Виртуализатору 4. Виртуализатор отвечает серверу, где и как достать данные

Компоненты, из которых состоит система с интерфейсом SAS Инициатор Устройство, которое порождает запросы на обслуживание для целевых устройств и получает подтверждения по мере исполнения запросов Целевые устройства Содержит логические блоки и целевые порты, которые осуществляют прием запросов на обслуживание, исполняет их; после того, как закончена обработка запроса, инициатору запроса отсылается подтверждение выполнения запроса. Подсистема доставки данных Является частью системы ввода-вывода, которая осуществляет передачу данных между инициаторами и целевыми устройствами. Расширители Устройства, входящие в состав подсистемы доставки данных и позволяют облегчить передачи данных между устройствами SAS. Подключение через расширитель является абсолютно прозрачным для целевых устройств

:vimtutor — используйте эту команду, чтобы постичь азы редактора NeoVim, или смотрите серию роликов от Антона Губарева, PaaS-
:vimtutor — используйте эту команду, чтобы постичь азы редактора NeoVim, или смотрите серию роликов от Антона Губарева, PaaS-инженера Авито. В коротких видео Антон рассказывает, как им управлять и как настраивать редактор, в котором можно запрограммировать любой плагин. Первый ролик уже в avito.code. Реклама. ООО «Авито Тех». LdtCKhYWQ

Виртуализация на базе специализированного устройства Данные, связанные с виртуализацией, размещаются в специальном устройстве (иногда его называют виртуализатором), которое включается между хостами и подсистемами хранения. Различают 2 типа: Виртуализация in-band Управляется специальным устройством, виртуализатором, через который также проходит поток данных. 1. У нас сервер приложение, которое хочет обратиться к системе хранения данных и запрасить данные у виртуализатора 2. Виртуализатор интерпретирует этот запрос и физически находит необходимые данные. 3. Далее происходит обмен сообщениями Виртуализация out-of-band Виртуализатор стоит в стороне от потока данных. Обрабатывает и передаёт информацию только, где находятся необходимые для сервера файлы. 1. Сервер делает запрос 2. Виртуализатор подготавливает информацию и отправляет системе хранения данных. 3. Система хранения определяет физическое положение, отдаёт их Виртуализатору 4. Виртуализатор отвечает серверу, где и как достать данные

Блоковая виртуализация Ограниченная масштабируемость и управляемость среды DAS заставляют компании переходить на сетевые архитектуры хранения. При этом увеличивается сложность систем хранения. В среде DAS серверы приложений могут размещать только тома, а при размещении томов возникают следующие ограничения: тома не могут покрывать несколько подсистем хранения каждое устройство хранения предназначено для работы со своим сервером, и другие серверы не могут пользоваться "излишками" чужой подсистемы хранения Виртуализация совместно с сетевым хранением помогает преодолеть оба этих ограничения: предусмотрено объединение емкости разных устройств хранения, соответственно, объем одного тома может превышать емкость одного устройства. разные серверы могут пользоваться свободными ресурсами хранения. Виртуализация помогает скрыть сложность структуры ресурсов хранения данных и в результате получить более простую среду хранения.