Читаем Кодер Ли Ёнхо полностью

Он по опыту знал, что лучше всего это лечится, когда ты прекращаешь постоянно думать о таких вещах.

Когда он действительно погрузился в работу, разработка программы пошла вперёд быстрыми темпами.

С кодами других, кроме Люции, у Ёнхо не было почти никаких проблем - там мало что приходилось отвечать.

К тому же, когда дело касалось программирования, Ёнхо мог делать это с закрытыми глазами. Он работал очень быстро, словно опытный автор, который пишет десятую по счёту книгу.

Это было несравнимо с тем, каким Ёнхо был раньше.

«Я тоже многому научился».

Когда он делал первые шаги в программировании, ему приходилось обращаться к интернету после каждой линии кода.

Он осмеливался продолжить только тогда, когда удостоверивался, что использовал нужную функцию именно так как надо.

Но сейчас всё изменилось.

Он программировал быстро и легко, словно бегущая по равнине река.

«Если я буду продолжать в том же темпе, то я закончу раньше, чем наступит дедлайн».

Основной причиной столь быстрого прогресса являлось Окно Багов. Если в программе был баг, он мог сразу же найти его и исправить.

Ёнхо был благодарен тому, что эта способность у него есть.

«Спасибо».

Откусив кусочек от плитки шоколада Godiva, Ёнхо продолжил работать. Нельзя сказать, чтобы разработка приложения уже подошла к концу.

Ёнхо отвечал за сервер.

Веб порталы, которые мы используем, называются серверами. Человек, который получает к нему доступ, называется клиентом, а сервер, это портал, к которому клиент получает доступ.

Точнее говоря, веб порталы называются веб серверами.

В играх они имеют названия игровых серверов.

Есть ещё сервера для общения.

В общем, перед или после слова сервер всегда есть определяющее слово, которое и помогает понять, для чего он предназначен.

Их можно классифицировать по их использованию, потому что программное обеспечение устанавливается именно в зависимости от цели.

Для сервера обработки транзакций необходимо обеспечить безопасность и поддержку сетей, а также он должен поддерживать протокол передачи данных HTTP.

Из всего многообразия Ёнхо работал над сервером для обработки изображений ИПП (интерфейс программирования приложений).

Если пользователь сделает фотографии и загрузит фотографии на сервер, который Ёнхо сделал, то он изменит вышеозначенные фотографии необходимым образом, а после уже вернёт пользователю результат.

Самым важным для таких серверов являлась производительность.

«Было бы лучше, если бы нам удалось немного уменьшить размер».

На Дэбан как раз и отвечал за саму обработку изображений. Ёнхо работал над тем, чтобы увеличить пропускную способность сервера, чтобы тот мог выдерживать большее количество пользователей.

Сервера компании уже и так посещало больше, чем 70 миллионов пользователей в день.

У них были свои методы управления серверами, но Ёнхо планировал пойти необычным путём.

«Мне нужно снизить нагрузку таким образом, чтобы объём работы, для которого требуются 100 серверов, работали только на 10».

Такие цели ставил себе Ёнхо. Если просто следовать традиционным путём, то никакого прогресса не будет.

На начальных этапах своего развития он мог развиваться только исходными методами. Он развивался, следуя методам, которыми пользовались Ан Бёнхуно, Сон Сокхо, Джефф Дан и многие другие люди.

Также он прибегал к помощи Окна Багов бесчисленное число раз.

Сейчас же он хотел не подражать, а творить.

Поэтому он поставил перед собой следующую цель - повысить производительность серверов компании в десять раз.

Однако не только сам сервер был проблемой.

«Время тоже немало значит в сети».

Изображение будет передаваться по интернету. В виду того, что изображения весят больше текстовых файлов, значит необходимо учитывать время передачи.

Если бы их загружали только один или два человека, то это бы не имело значения. Но 70 миллионов человек - это немало. Если один отправит 10Кб изображений, то в общей сложности они будут весить больше 600 Гб.

Один фильм в среднем весит 2 Гб. Ёнхо пытался придумать способ загрузить на сервер 300 фильмов.

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

Это было самой большой проблемой, с которой столкнулся Ёнхо во время программирования. Асинхронная обработка значит, что загрузка может идти не по порядку.

Изначально, если пользователь A отправляет данные, сервер не сможет выполнять другие операции, пока не обработает данные, отправленные пользователем A.

Но благодаря асинхронной обработке сервер может получать данные от пользователя B и обрабатывать их, в процессе обработки информации, полученной от пользователя А.

Скорость возрастает, как и вероятность повреждения данных. Уровень сложности программирования тоже рос, но стоящая перед Ёнхо проблема была не в этом.

Ему нужно было уменьшить размер изображения, которое передаётся по сети. Есть уменьшить размер, то и время процесса обработки в сети тоже, следовательно, сократится.

Значит и объём информации, проходящий через сервер, тоже станет меньше.

«Как бы мне это сделать...»

Перейти на страницу:

Похожие книги