Глава 1. Окно багов
Гора Джирисан, вершина Чхон Ван.
На вершину Чхон Ван поднялся один человек.
*вздох* *вздох*
Пот стекал по лицу мужчины, и он тяжело дышал.
"Я чертовски устал"
Имя этого человека было Ли Ёнхо.
Ёнхо стремился на вершину Чхон Ван, чтобы начать новую жизнь перед тем, как начнется учеба.
Это было летом. 2-й семестр 4-го года обучения начнется в ближайшее время. И скоро опять начнется ад, называемый занятостью.
«Это, действительно, начнется сейчас»
Ёнхо пробормотал, глядя на облака внизу. Белые облака были повсюду, и, казалось, их можно потрогать.
«У меня точно получится»
Пообещал он себе и сказал это еще раз. Он хотел, чтобы его родители жили в роскоши и покупали еду, не глядя на цену. И для всего этого требовался его успех.
«Я смогу это сделать! Сделаем же это! Лучший программист в мире!»
Дело было на рассвете.
Солнце поднималось над горизонтом. В окрестностях Чхон Ван едва ли были люди. Ёнхо смотрел на облака на склоне горы.
«Интересно, будет ли дождь…»
Серые облака устремлялись к нему. И где-то далеко был слышен гром.
«Похоже, мне лучше спуститься побыстрее»
Беспокойство проступало на лице Ёнхо. Сейчас он находился на вершине горы Джирисан. Это было не то расстояние, которое можно пройти за один или два часа. Он попадет в затруднительное положение, если пойдет дождь, пока он спускается.
"Надо быстрей спуститься"
Ёнхо начал быстро спускаться с вершины.
*Грохот *
Гром стал громче, как только он спустился.
*Вспышка*
Вдалеке сверкнула молния. Вспышка ослепляла Ёнхо.
«Прогноз погоды не обещал сегодня дождь»
Он точно проверил погоду перед восхождением. Однако дождевые облака на небе ясно показали ему, что прогноз погоды был неправ.
«Как всегда, нельзя доверять синоптикам»
Ёнхо ускорил шаги, пеняя на прогноз погоды.
* Грохот *
Грохот все приближался. Звук был громким и становился более пугающими. Гром бушевал, как будто преследуя Ёнхо, спускающегося вниз.
* Бах *
Внезапно молния ударила прямо в голову Ёнхо. Его взгляд стал пустым, а руки и ноги задрожали, как у эпилептика.
«Я… Я так много еще не сделал…»
Его сознание отключилось, как компьютер, выключенный из сети.
* Шлёп*
Здоровый парень рухнул посредине тихой горной дороги. Дождевые облака начали рассеиваться.
………….
"Мистер Ли Ёнхо? Мистер Ли Ёнхо, вы очнулись? "
«......»
«Мистер Ли Ёнхо?»
Палата больницы. Врач в белой одежде, говорящий с ним, выглядит мелькающим светом в глазах Ёнхо.
«Мистер Ли Ёнхо, моргните, если вы очнулись»
Ёнхо моргнул, повинуясь словам врача.
«Это больница. Вы были найдены лежащим на горной дороге»
После слов врача, казалось, его сознание немного прояснилось, и глаза могли немного сфокусироваться.
«Где-нибудь болит?»
«... Нет», - слабо ответил Ёнхо доктору.
«Вам нужно отдохнуть еще немного, так что лучше, если вы остаетесь в больнице еще на один день»
Ёнхо кивнул словам врача и сразу же заснул. Спустя долгое время Ёнхо снова открыл глаза.
«Вот это мне не повезло…»
Он посмотрел на свой телефон после пробуждения. Он положил его в сумку, прежде чем начался дождь. К счастью, ничего не пропало.
«Посмотрим»
Ёнхо включил телефон.
1. java.lang.NullPointerException
2. Sliding Menu Error
3. DrawLayout Function Problem
……
«Ого, что это?»
Ёнхо уронил телефон на кровать. Он потряс головой, взял телефон и посмотрел на экран.
1. java.lang.NullPointerException
2. Sliding Menu Error
3. DrawLayout Function Problem
В правом верхнем углу он видел знакомые строки. Они были знакомы ему, но их не должно быть видно. Удивленный, он посмотрел на доктора.
«Доктор! Доктор!»
Белые занавески, окружающие кровать, раздвинулись, и вошла медсестра.
«Да. Что случилось?»
«Я… Я думаю, что вижу что-то»
«Что?»
«Посмотрите сюда, на экран»
Ёнхо повернул телефон к ней. Заставка на экране была такой же, как на любом телефоне.
«Что не так?»
«Вы не видите слова?»
«Слова?»
Медсестра посмотрела на него с выражением «что за чушь ты несешь?». Она не понимала, о чем он говорит.
«Да. Слова»
Слова парили там даже во время разговора с медсестрой. Это было похоже на голограмму.
«Иногда у пациентов бывают галлюцинации из-за большого шока. После того, как немного отдохнете, станет получше», - сказала медсестра, успокаивая его.
«П…правда?»
«Конечно. Не переживайте»
"Мне не кажется, что дело в этом…" - пробормотал Ёнхо, находя это странным. Вряд ли это пройдет через один-два дня.
«Сначала просто успокойтесь и скажите мне, если симптомы повторятся через какое-то время»
«Хорошо…» - ответил Ёнхо тихим голосом. Строки не исчезли даже после того, как медсестра ушла.
«Уф ... Что, черт возьми, происходит ...»
Он сидел неподвижно, глядя на экран телефона. Значок сообщения загорелся красным. Друзья связались с ним.
«Посмотрим на эти сообщения»
Он нажал на сообщение, и новые слова начали появляться перед его глазами.
«Что ... Какого черта?»
Даже не проверяя сообщения, он смотрел на голограмму, пока появлялось различное содержание.
Название: NullPointerException
Подробнее: NullPointerException происходит на линии 1025 в SendMessageActivity.class. Происхождение ошибки из-за ссылки на объект без значения.
Решение: Создать Message Object в строке 1025.
«Что, что это …»
Похоже, что там описывалась ошибка в программе, и был способ решить эту проблему. Будучи старшекурсником информатиком, Ёнхо понял его смысл.
"Кажется, это значит, что есть ошибка в приложении сообщений"
Он изучал Indroid, его ОС (операционная система, если ты еще не знал). Это не делало приложение сложнее, но он знал, что был NullPointerException и что нужно делать.
«Почему…Почему я вижу все это?»
Он не понимал, но реальность была прямо перед ним. Он видел эти ошибки и решения приложения, как будто видел галлюцинацию.
«Надо поспать. После сна станет лучше»
Ёнхо попытался отрешиться от реальности, он положил телефон и закрыл глаза. И слова исчезли, как будто их там никогда не было...
Глава 2. Окно багов (2)
«……»
На следующее утро слова все еще парили, не исчезая.
«Д-доктор!»
Ёнхо со страхом взглянул на врача. Пришла снова та же медсестра.
«Что случилось, сэр?»
«Я, я снова вижу то же, что и вчера. Кажется, у меня галлюцинации»
«Пожалуйста, подождите минуту»
Медсестра ушла, и к нему пришел врач с растрепанными волосами. Выглядело так, будто он недавно проснулся.
«Д-доктор, я вижу странные слова»
«Какие слова вы видите?»
«Ну... Например, ошибки в программе»
«Ошибки в программе?»
«Эм, то есть ошибки, которые есть в программе, можно увидеть в моих глазах...»
Видя, что Ёнхо говорит глупости, в которые сам не верит, доктор схватил его за руку и сказал: «Эмм... Сэр»
«Да...»
«Когда вы получаете большой шок, возможны такие ситуации, когда видишь вещи, как эти. После выписки следите за своим состоянием около недели, и если не будет никаких изменений, приходите снова»
Те же слова доктор сказал медсестре. Ёнхо был на грани помешательства. Но так как это был совет профессионала, он не должен был сомневаться в этом.
«……»
«Возможно, они скоро исчезнут»
«... Я понимаю», - слабо ответил Ёнхо врачу. Затем он снова взял смартфон.
Ошибка уведомления до сих пор парила в верхнем правом углу, как бы говоря ему поймать её.
Окно багов.
Так он назвал таинственный экран. Он сделал несколько открытий в автобусе по пути в Сеул.
Во-первых, сосредоточившись на предупреждении об ошибке около 3 секунд, он мог увидеть подробности.
Во-вторых, окно показывает не только синтаксические ошибки, но также логические ошибки и ошибки функции.
«Это все реально? Удивительно...»
Он сильно сомневался. Будет ли смартфон работать правильно, если следовать этим решениям.
«Пойду домой и попробую»
Он быстрей зашагал к своему дому.
***
Гэ По Дон (*Находится в районе Каннам в Сеуле)
Это место, где он жил. Из-за облупленной краски и треснувшего бетона, оно выглядело так, будто было построено в 1980-х.
«Нам пришлось уехать и отсюда»
150 миллионов вон (≈130, 000 долларов США) за 15 Пён (≈50 кв.м.), и половина из этого долг. Открыв дверь, он никого не увидел внутри, так как родители ушли на работу.
«Это хорошо...»
Его отец был уволен из центра администрирования, и теперь он работал охранником в здании. Его мать была официанткой в ресторане. Все это было для оплаты его обучения. Они много ожидали от него, так как он был их единственным ребенком. Но он не смог оправдать эти ожидания.
Университет Сон Мин.
Университет находился в Сеуле, но многие люди не знали о нем. Ёнхо пытался написать CSAT на отлично (* CSAT (College Scholastic Ability Test) - стандартный тест, принятый в Южной Корее, результаты которого нужны для поступления), но результаты тестирования оказались не такими высокими, как он ожидал. Он немного интересовался математикой и информатикой, поэтому решил поступить в один такой колледж.
«Сначала помоюсь».
От него сильно пахло потом, потому что он не мылся несколько дней.
Сразу после душа он сел за компьютер.
«Если это действительно устранит ошибки...»
Устранение ошибок без отладки (процесс нахождения и устранения ошибок)? Это способность, которую бы хотели все программисты в мире. Более половины разработки программы - это отладка.
«Надо убедиться, что это правда»
Он открыл Eclipse (программная платформа с открытым исходным кодом, написанная на языке Java) и сделал новый файл класса. Затем он специально изменил исходный код так, чтобы возникла ошибка.
Исключение в поток «main» java.lang.NullPointerException
в Main <init><Main.java:28>
Консольное окно в Eclipse показало протокол ошибок. И тут же несколько слов появилось перед Ёнхо.
-java.lang.NullPointerException
Через 3 секунды слова изменились и показались подробности.
Название: NullPointerException
Подробности: NullPoiinterException происходит на линии 28 Main.class. Происхождение ошибки из-за ссылки на объект без значения.
Решение: Пожалуйста, создайте Main2 Class, который является ссылкой в строке 28
«Вау, это правда!»
Решение было абсолютно верным. Ёнхо специально не создал Main2 Class, создав ошибку. И окно багов совершенно точно это определило.
* звук открывающейся двери *
Ёнхо услышал звук открывающейся двери, и его рот раскрылся от удивления.
«Ёнхо, ты вернулся?»
«М-мама?»
«Да. Поездка прошла хорошо?»
«Ну, да, я думаю».
«Что ты сейчас делал?»
«Я занимался».
«Занимался?» - cпросила мама Ёнхо с подозрением.
«Да, правда».
Университет Сон Мин был одним из университетов низкого уровня в Сеуле. И он был №30 в рейтинге.
«Я понимаю, ты как выпускник должен усердно учиться».
Его средний балл до сих пор был 3.5 (из 4.5). Это не высокий, но и не низкий балл. Однако, учитывая рейтинг университета, он определенно не высокий.
«Ты что-нибудь ел?»
«Да».
«Откуда у тебя деньги, чтобы есть вне дома...»
«……»
«Я слышала, что сейчас уровень занятости среди молодых мужчин низкий... Ты уверен, что найдешь работу?»
«Я понимаю».
«Только не говори так».
«……»
Он хвастался, что получает стипендию, но не получил её ни разу за все 4 года. Ему было нечего возразить, он вернулся в свою комнату и закрыл дверь.
***
Кан Сонгю.
Он был бывшим президентом SUC (Software Union Circle - кружок союза разработчиков).
«Хэй, сколько лет сколько зим»
«Хён, как дела?» (*Хён - в Корее это обращение младшего к старшему среди мужчин)
«Ну, так себе. Как на Джирисане?»
«Хорошо».
Но Сонгю не смотрел на Ёнхо. Он даже не повернулся, а продолжал смотреть в монитор. Ёнхо подошел к нему и посмотрел на экран.
«Что ты делаешь?»
«О, я пытался создать приложение»
«Приложение?»
Eclipce все еще был открыт. Это был экран разработки Indroid, с которым он уже имел дело.
«Да, хён, я получил подработку»
«O...»
На факультете Сонгю был лучшим. До такой степени, что старшие, уже получившие высшее образование, искали его. Может быть поэтому ему часто предлагали работу на неполный рабочий день.
«Но эта вещь просто показывает ошибки», - говорил Сонгю, прогоняя приложение в Eclipse.
«NullPoint на линии 107?»
«О? Как ты это узнал?»
В этот момент по спине Ёнхо пробежал холодок.
«А..! Я заглянул сзади»
На самом деле он сказал это, посмотрев на окно багов. Оно показало ему тип ошибки, а также место, где они произошли в подробностях.
«Правда? Во всяком случае я не знаю, почему он содержит значение null. Когда это происходит, я хочу сломать клаву».
Сменив тему, он заговорил спокойнее.
«Ну, это же ты, хён, я уверен, ты с этим быстро разберешься»
«Я застрял на этом на 2 часа. После всего этого хвастовства с подработками», -пожаловался Сонгю.
«Тогда, хён, давай я сделаю это? С тебя ужин сегодня вечером».
«Правда? Ты хочешь?»
«Предоставь это мне»
«Ладно, (говорит на английском языке), если ты решить эту проблему, я накормлю тебя ужином. Я пока пойду проветрюсь».
«Не торопись, я сделаю всё к тому времени».
«Хорошо»
Было уже понятно, что окно багов работает. Но до сих пор у него оставались подозрения. Чтобы окончательно во всем убедиться, он должен проверить разные ситуации.
Глава 3. Окно багов (3)
Вызванные: java.lang.NullPointerException
Indroid.content.ContextWrapper.getResources(ContextWrapper.java:81)
com.nail.launcher.Loading. <init>(Loading.java:107)</init>
«Линия 107?»
Ёнхо снова прогнал приложение. Смотря на уведомление в правом верхнем углу около 3 секунд, он открыл подробности.
Название: NullPointerException
Детали: Текущая ошибка происходит из-за строки
String [] mTitle = getResources().getStringArray(R.array.app_title)
Эта ошибка возникает, когда ссылаются на значение null.
Решение: Метод getResources() создает объект из SDK Indroid, когда выполняется метод onCreate(). Его нельзя использовать до метода onCreate.
«Итак, все должно заработать, если я поставлю метод getResources() после метода onCreate»
После перемещения getResources() ошибка NullPointerExceptionerror исчезла. Сонгю вошел, как только Ёнхо закончил изменения кода.
«Хэй, оно заработало?»
«Я думаю, да»
«Дай посмотрю»
Сонгю сел и запустил программу.
«О? Реально работает!»
«Видишь»?
Сонгю, запустив программу на подключенном смартфоне, посмотрел на Ёнхо.
«Вау ~! Я думаю, у тебя есть способности»
«Ха-ха, ну, это все благодаря тебе»
Ёнхо часто писал программы для подработки вместе с Сонгю. И он изучал разработку приложений для Indroid, пока делал это.
«Теперь ты можешь сказать, что учился у меня».
Сонгю легко щелкнул Ёнхо по лбу, сделав горделивое лицо.
«Тогда... Может, ты поможешь мне найти подработку?»
Это была реальная причина, из-за которой он искал Сонгю. Даже несмотря на то, что его родители платят за обучение, он должен был платить за проживание самостоятельно.
2-й семестр 4-го года обучения.
Он хотел заработать деньги на написании программ, так как это могло помочь ему в учебе.
«Ну, тогда давай сначала пообедаем. И там поговорим».
Может быть потому, что Сонгю заработает много на этом, он повел Ёнхо в барбекю-ресторан, вместо здания студенческого союза. (Кафетерий колледжа обычно находится в здании студенческого союза).
* шипение *
Барбекю из свиной грудинки выглядело вкусно.
«Ты думал, где искать работу?»
«Ну, сейчас я готовлюсь к TOEIC и пишу резюме». *(TOEIC (Test of English for International Communication) - стандартизированный экзамен для проверки владения английским для не носителей, работающих в международной организации)
«Тогда почему ты ищешь подработку?»
«Ну, подготовка не бесплатная... Ты же знаешь все это, не так ли?»
«Ну, я думаю, что это правда»
Всем нужны деньги. От школ TOEIC до групп для написания характеристики к резюме.
Некоторые люди даже делают пластику, чтобы соответствовать критериям компаний. Если хочешь тратить деньги, есть бесчисленное множество способов сделать это.
«Есть что-нибудь интересное на примете?»
«Давай посмотрим...»
«Работа с тобой поможет мне больше, чем работа в мини-маркете, ты не думаешь?»
«Сейчас есть много предложений для разработки приложений».
«Ты же знаешь мои способности, мы не можем сделать это вместе?»
«Есть кое-что подходящее для тебя...»
«Я сделаю это!» - крикнул Ёнхо, даже не дослушав до конца. Еще одна подработка добавляет еще одну строчку в резюме.
«Ну что ж, ты хочешь быть моим помощником? Я не смогу тебе много платить»
Ёнхо был взволнован, услышав слова Сонгю. Нельзя было заниматься подработкой с Сонгю, поскольку просто не было мест (Так как все хотят получить это место, и оно обычно занято). Зарабатывая деньги и одновременно учась, он бы убил сразу двух зайцев.
«Это здорово!»
«Я делаю это только потому, что ты, кажется, не прохлаждался все это время. Ты понимаешь?»
«Да, конечно! Хён!»
«Что ж, давай сначала поедим и обсудим детали».
Той ночью.
* Бам * (громко хлопнула дверь)
Ёнхо пошел в гостиную. Его отец только что пришел домой.
«Привет, пап»
Было видно, что он был сильно пьян, от него несло алкоголем. Его пьяное лицо было в морщинах. На его голове среди черных волос виднелись седые пряди.
«Сын, ты был дома...?»
Он шатался, идя к кровати. Наконец, Ёнхо мог вернуться в свою комнату. Однако ему не удалось. Его мать говорила с отцом в комнате.
«Ты получил зарплату в этом месяце?»
«Это... Они не дают мне ничего, потому что они сказали, что управляющая компания скоро поменяется»
* Вздох * «Чем мы будем платить в этом месяце?»
«Твоих денег не хватит?»
«Нужно оплатить обучение Ёнхо. И еще задолженность за дом»
Ёнхо молча пошел обратно в свою комнату в середине разговора.
***
Проснувшись, Ёнхо поспешил в колледж. Сонгю уже был в клубе.
«Ты выглядишь усталым».
«Не выспался сегодня».
«Здоровье - это самое главное».
«Я понимаю».
«Что я говорил тебе?»
«7/10 программирования - это выносливость».
«Да, поэтому тренируй своё тело как следует».
После этого Сонгю пошел в главный корпус. В этот раз было приложение для чата.
«В этот раз запрос на приложения для чата».
«Чат? Тогда тебе будет нужен сервер для него».
«Да, нужен»
«Как вы собираетесь создать его?»
«Я попробую использовать КСМ (Koogle Cloud Message)»
«……»
(*КСМ - сервис доставки мгновенных сообщений, предоставляемый Koogle).
“Он принимает сообщение и помещает его как Chat Bubble на экране телефона. Оно уведомляет, что КСМ получил сообщения, по мере того, как они структурированы в справочном руководстве».
«Тогда что я должен сделать?»
«Ты можешь создать сервер. Возможно, тебе не нужно много файлов классов. Тебе только нужно получить запрос от клиента и просто перенести его. У меня уже есть наработки, так что тебе нужно только исправить некоторые строки».
«Тогда как насчет оплаты...?»
Ёнхо был обеспокоен тем, что он будет получать немного за такую небольшую работу.
«Общая сумма составляет 1 500 000 Вон (≈86 600 рублей). Мне 900,000 (≈51 950 рублей) и тебе 600,000 (≈34 650 рублей), согласен?»
Это было, в общем-то, не плохо. Ёнхо подумал, что хорошо, что он спросил у Сонгю про подработку.
«Согласен. Какой дедлайн?»
«Срок 2 недели, но думаю, что мы управимся за одну».
600 000 Won(≈34 650 рублей) было очень хорошо для недельной работы. Ёнхо взволнованно спросил Сонгю: «Но это действительно можно сделать так быстро?»
Сонгю ответил так, будто это было обычным делом.
«Ну... Нам необходимо только создать чат. И мы можем, вероятно, найти исходные коды в Интернете»
«Вау! Мне действительно интересно, почему ты ходишь в этот колледж».
«Я никогда не интересовался учебой».
«Правда?»
По мнению Ёнхо, никто не учился так же усердно, как Кан Сонгю.
«Корейский, английский, математика, обществознание, науки. Мне неинтересно ничего из этого».
(* Примечание : эти 5 предметов включены в тест CSAT)
«Оу...»
«Это проблема. Мне не интересно ничего, кроме компьютерных исследований».
«Проблема?»
«Чтобы стать продвинутым техническим специалистом, требуются математические навыки, но я ненавижу это... Так что я занимаюсь подработками как эта каждый день».
«Что такого неправильного в этом образе жизни?»
«Ты, может ты слышал о кодерах?»
«Кодеры?»
Глава 4. Окно багов (4)
«Кодер - этот тот, кто только пишет код в соответствии со спецификациями, заданными техническими специалистами более высокого уровня».
«Разве они не программисты?»
«Ты узнаешь, если присоединишься к ним».
После окончания разговора Сонгю быстро сел за компьютер. Ёнхо сел рядом с ним.
«Хён, я могу просто использовать Tomcat (тип сервера), верно?»
«Да, нет проблем».
«Вы собираетесь создать DB(database - база данных - БД) тоже?»
«Да, мне понадобится около 5 таблиц».
«Какими будет адрес и учетная запись для БД?»
«Погоди немного».
Они работали вместе не первый раз, поэтому ритм их работы совпадал. Они были похожи на две шестерни, которые хорошо взаимодействовали.
«Я могу просто переделать и использовать API (интерфейс программирования приложений, вид соглашения между клиентом и сервером) существующего документа, да?»
«Да, давайте сделаем это так».
Если Сонгю превзошел способности обычных студентов, то Ёнхо имел необычные навыки. Хотя это лишь небольшой проект, но он хорошо понимал, какой должна быть законченная программа. Всё это благодаря работе с Сонгю.
«Посмотрим на окно багов».
Уточнив задание, Ёнхо посмотрел на окно багов. Это был только начальный этап, но уже можно было увидеть одну или две ошибки.
***
Работа шла гладко.
«Хён, вот так будет хорошо, правда?»
«Да, нормально».
«Тогда я проверю его на Scalaphone».
«Ок, сделай».
Само приложение Indroid может работать на различных телефонах. Так что когда они начали работать, они нацелились на несколько терминалов. Если не будет ошибок на этих нескольких терминалах, то на других телефонах оно точно запустится. Ёнхо загрузил программу в телефон и запустил её.
– Программа завершена из-за неизвестной ошибки.
«Что за черт? ANR(Application Not Responding - приложение не отвечает)?»
«Почему это произошло?»
«Да, это странно. На других телефонах оно просто отлично работает».
Ёнхо сделал вид, что он не знал причину ANR, но, на самом деле, он уже узнал с помощью окна багов.
Конфликт версии ОС.
Проблема была с версией ОС Indroid . Версия OС Scalaphone слишком устарела для поддержки новейших UI (пользовательский интерфейс: в основном, окно программы).
Ёнхо некоторое время притворялся, что ищет что-то в Интернете, и спросил Сонгю, как будто он просто что-то вспомнил.
«Хён, ты случайно не использовал последнюю версию интерфейса? Иногда ошибка возникает, когда старая версия ОС Indroid не поддерживает новый интерфейс».
«Правда?»
Сонгю искал в Интернете протокол ошибок соединения между Eclipse и Scalaphone. Услышав слова Ёнхо, он перестал искать, откатил последнюю версию Action Bar UI и прогнал программу снова.
«Это действительно работает... вау, кажется, я снова потратил бы несколько часов, если бы не ты».
«Ты бы и сам быстро разобрался, хён».
«Но как ты узнал, даже не посмотрев на него?»
«Я вспомнил, что делал нечто похожее когда-то».
«О, ты стал действительно более способным».
«Скоро ты будешь поражен еще больше».
Даже сам Ёнхо был удивлен, что он на самом деле устранил ошибку. В первый раз он думал, что это было совпадение. Во второй раз он засомневался. В третий раз он был уверен, что это правда. Он больше не думал сходить к психологу.
«В этот раз я бы поразил его еще больше».
Окно багов.
Он снова был удивлен из-за функций окна багов.
Сонгю и Ёнхо стояли возле офиса в Комплексе Gasan Digital (*Gasan Digital Complex - торговый район с магазинами одежды).
*Дин-дон*
Они нажали на звонок, и работница, открыв дверь, поприветствовала их.
«Что вы хотели?»
«А, мы – программисты для чат-приложения».
«Входите».
Сонгю нашел свою подработку на сайте аутсорсинга, даже несмотря на то, что он мог найти работу, используя свои связи. Будучи только студентом колледжа, он установил невысокую цену за свои услуги, возможно, из-за этого, он смог легко найти работу. В этот раз работа тоже была найдена на сайте. Войдя, они увидели офис размером около 20 Пён (≈66 кв.м.), где работало около 5-ти человек.
«Вот как».
Следуя за женщиной, они увидели человека лет сорока, сидящим в окружении мониторов. Это был директор, который предложил эту работу.
«Добрый день, г-н Директор».
«Рад вас видеть, а рядом с вами...»
«Мой знакомый с того же факультета»
Директор говорил кратко. Ёнхо напрягся. Когда Сонгю представил его, он поклонился.
«Добрый день, сэр.»
Пока они разговаривали, женщина принесла два стула.
«Пожалуйста, присаживайтесь».
Директор приступил к главному, как только они сели.
«Я проверил APK (Application Package: Загрузочный файл для программ андроида), который Вы прислали мне», - после представления продолжил он.
«На моем телефоне выходит ошибка».
«Ошибка? Сэр?»
«Да, приложение даже не запустилось».
Директор дал свой телефон. Сонгю попытался запустить чат-приложение, которое было установлено в нем.
– Программа завершена из-за неизвестной ошибки.
Это было ANR. Директор, победоносно повысив голос, сказал:
«Видишь»? Оно не работает».
«……»
«За это я не могу заплатить тебе».
Директор попытался изобразить невежество. Если он действительно хотел, чтобы оно работало, он должен был сказать им об обнаруженной ошибке сразу же. Однако, оставив всё так, было похоже на то, что он не хочет платить.
«Что?»
«Это ошибка, как я могу вам заплатить? Вы не думаете?»
«Оно прекрасно работает на моем телефоне. Пожалуйста, проверьте».
Сонгю передал президенту свой телефон. Но директор даже не притронулся к нему.
«Что из того, что оно работает на твоем?»
«……»
«Я ведь сказал, что оно не работает на моем телефоне? Не то чтобы я не хочу платить вам».
«Вы должны были рассказать нам, как только обнаружили ошибку. Тогда мы могли бы устранить её и прислать приложение снова».
«Я тоже только сегодня узнал об этом».
Кан Сонгю закусил губу.
«Директор».
«Почему? Вы, возможно, думаете, что я делаю это, потому что я хочу лишить вас этой небольшой суммы? Это просто нонсенс».
Сонгю сильно сжал кулаки, услышав слова директора. Ёнхо положил свою руку на кулак Сонгю.
«Хён, разве это не та же ошибка, как в прошлый раз?»
Ёнхо знал, что именно происходило в телефоне директора с помощью окна багов.
Проверив, он убедился, что это снова был конфликт из-за версии ОС.
«Оу! Конфликт версии ОС в этом Scalaphone?»
Кулак, который схватил Ёнхо, начал разжиматься.
«Да, мы должны проверить версию ОС».
ID продукта телефона директора был таким же, как у Scalaphone, в котором обнаружилась ошибка. Ёнхо зашел в меню настроек. Версия ОС была еще старее, чем на Scalaphone.
«Директор, это не проблема нашей программы».
«Что?»
«Это не ошибка в программе, а проблемы самого телефона».
«Что за ерунду ты говоришь? То есть он работает на некоторых, но не будет работать на других?»
Сонгю потерял дар речи. По правде говоря, он не разбирался в разработке приложений на Indroid. Сонгю достал договор из сумки.
И с громким звуком * БАМ * положил его на стол.
«Более того, договор определяет терминал и ОС, необходимые для работы с приложением. Телефон директора не соответствует спецификации».
«Не поддерживает? Что за глупости ты говоришь?»
«Здесь, взгляните», - указал Сонгю на место в договоре. Там был список телефонов, в которых приложение должно работать. Scalaphone в списке не было.
«Так вы говорите, что я должен заплатить вам, даже если он не работает?»
Директор фыркнул. Сонгю устал от упрямства президента.
«Ничего не знаю. Это не работает, я не буду платить».
Председатель сказал с «убейте меня, но я не дам вам денег» выражением. Программа и источник уже был в руках компании. Ему было нечего терять.
«Таким образом, Вы нарушаете договор, сэр?»
«Если вам не нравится, то обращайтесь в суд».
«……»
Лицо Сонгю начало краснеть. Ёнхо, в свою очередь, не мог больше это терпеть и встал.
Но вдруг кто-то пинком открыл дверь в конференц-зал.
*бах*
Глава 5. Окно багов (5)
«Директор О!»
С лохматой бородой и толстым животом, в черном костюме, плотно прилегающем к телу... С первого взгляда можно было сказать, что он мог применить грубую силу.
«Знаете что? Я чувствую себя сейчас очень плохо».
За ним стояли люди, выглядящие как его подчиненные. Сотрудники офиса от страха прятали глаза. Когда человек вошел, директор начал заикаться.
«Д... Директор, что вы делаете здесь, сэр?»
Человек, который вошел, пнув дверь офиса, начал подходить к Директору О со спины. Затем он схватил Директора О за плечи и сильно их сжал.
«Приложение для клуба, которое я просил. У меня реально проблемы из-за Вас, вы знаете?»
«Что... Что вы имеете в виду?»
«Я даже разрекламировал, что в нём можно бронировать номера. Но оно НЕ РАБОТАЕТ НАХРЕН! ТЫ СУКИН СЫН!»
«Ты!» (кричит)
Из-за того, что мужчина схватил Директора слишком сильно, он просто упал. Его лицо стало красным, как помидор, от боли он закусил губу.
«Оно не работает, не работает, ясно? Наш босс установил его и даже лично позвонил мне, ты сукин сын!»
«С-сначала давайте посмотрим, какие возникают ошибки. Тогда мы р-решим это сразу».
«Манчхи, принеси телефон». (*здесь Манчхи - это имя)
«Да, сэр!»
«Захвати с собой Манчхи (*здесь Манчхи - молоток). Если он всё не исправит, я просто уничтожу его вместе с телефоном. (* игра слов... Манчхи приносит Манчхи)
Человек по имени Манчхи взял телефон и положил его на стол. И поставил кулак, размером с молот, рядом с ним. Ёнхо был настолько удивлен, что все еще стоял и не мог произнести ни слова.
Директор О трясущимися, как у эпилептика, руками взял телефон. Он запустил приложение.
– Программа завершена из-за неизвестной ошибки.
Приложение даже не запускалось.
«Гл... Главный разработчик Кан!»
Директор О поспешно позвал работника.
Главный разработчик Кан, который как раз собирался выйти под предлогом сходить в туалет, развернулся.
«И... Иди сюда, быстро!
Человек, чья рука лежала на плече Директора О, махнул Главному разработчику Кану.
* дрожь *
Рука Главного разработчика Кана, держащая клавиатуру, дрожала.
«Осталось 8 минут».
Рука Директора О была распластана на столе, как лягушка. Один из мафии сжал его запястья, поэтому он не мог двинуться. Рядом с ним стоял человек с молотком.
«7 минут, вы устранили ошибку?»
Пот струился по лбу Главного разработчика. Возможно, из-за пота, заливающего его глаза, он продолжал вытирать глаза.
«Вы держали меня за дурака. Вот почему просто нельзя доверять этим ублюдкам. Вы продали мне мусор, который не работает? Если вы не исправите это или Главный разработчик Кан, или любой другой, я переломаю вам руки».
После этих слов руки Главного разработчика Кана задрожали еще сильнее. Вряд ли он мог печатать в таком состоянии. Директор О сказал, видя это:
«Так...Так не пойдет. Просто...Я просто отдам обе руки».
Директор О положил правую руку на левую. Но он не мог ничего сделать из-за дрожи.
«Вау, как душещипательно. Вот дерьмо, ты слышал, что надо делать?»
Однако Главный разработчик Кан был не в состоянии решить проблему. Более того, казалось, ему срочно нужна врачебная помощь.
Холодный пот выступил у Сонгю и Ёнхо, находившихся, к несчастью, так же в этой комнате в такой опасной ситуации. Ёнхо, который все еще стоял, тихо сел.
Они видели, какая ситуация назревает из всего их разговора.
«И правда выглядит так, как будто его руки сломают».
Пару минут назад он пытался надуть их двоих, но теперь он выглядел жалким. Более того, он выглядел неплохо, прикрывая своих подчиненных. Но подобные мысли были забыты из-за насилия мафии.
«Что... Что вы имеете в виду?»
При таком раскладе скоро он увидит разбрызгивающуюся повсюду кровь. И нет никакой гарантии, что его это не затронет. Он заглянул в телефон на столе.
«Посмотрим на окно багов».
«Конфликт версии ОС»
Это была та же самая проблема. Операционная система была настолько старой, что ему стало интересно, когда он был куплен. Однако парень, зовущийся Главным разработчиком Каном, не мог решить проблему из-за нервозности и страха.
Время истекало, в то время как в голове Ёнхо роились противоречивые мысли.
*Бах*
Человек-молоток ударил в пол. На полу осталась выбоина.
«Дерьмо, это чертовски утомительно. «Осталось 5 минут».
Может быть, решившись именно из-за этих слов, Ёнхо встал и подошел к Главному разработчику Кану.
«Что ты? Куда ты, б**дь, пошел?
«Я... Я помощник программиста и могу всё исправить».
«Серьезно?» Исправь это быстрее, чем чем рука твоего директора пострадает».
Человек-молоток мягко поставил молоток на руку директора, как бы показывая, что это не преувеличение. Может быть, из-за веса молота, лицо Директора О исказилось.
«Г... Главный разработчик Кан, пожалуйста, уступите место».
Ёнхо сел рядом с ним и подвинул компьютер. Глядя на экран, он понял, что Главный разработчик Кан не сделал ничего. Даже когда Ёнхо подвинул компьютер, он не шелохнулся.
После подтверждения исходного кода Ёнхо поправил программу в соответствии с решением в окне багов. Это не заняло даже 5-ти минут.
Подправив код, он нажал кнопку тестирования в Eclipse. В консольном окне появлялись протокол за протоколом, и приложение было загружено в телефон.
Построение завершено успешно.
После последнего протокола приложение запустилось на телефоне, на экране появился черный логотип.
«Прямо сейчас».
Это было название приложения.
«Если я увижу тебя снова, это все закончится как сейчас, ясно?»
«Да...»
«В следующий раз поработаем должным образом, правда?»
«Д-да, конечно».
Мужчина ударил директора лицом об стол и покинул конференц-зал. Помещение выглядело, как будто здесь бушевал шторм.
После ухода мафии Ёнхо потребовал деньги.
«Пожалуйста, отдайте нам деньги».
«В... Возьмите».
Директор взял конверт с деньгами и бросил его на стол. Когда Ёнхо и Сонгю встали, он тихо сказал:
«С... Спасибо».
«Подайте на меня в суд» выражение лица исчезло. Вместо этого там сидел несчастный пожилой человек.
Как только они покинули офис, Сонгю сказал Ёнхо.
«Тьфу... Ты хорошо справился, Ёнхо».
«Это было не сложно».
«Ты реально нечто. Теперь я думаю о тебе по-другому».
«Это было не сложно, правда».
«Здесь 800 000 Won(*≈45 712 рублей)»
Сонгю вытащил эти деньги из конверта и отдал Ёнхо. Он заработал 800,000 вон за 2 недели.
«Хён, я должен был получить только 600.000 Won(*≈34 284 рубля)...»
«По сравнению с тем, что ты сделали сегодня, даже 800,000 не достаточно. Просто возьми их, мне до сих пор страшно».
«Спасибо, хён».
Ёнхо не стал отказываться. Чем больше денег, тем лучше.
«Ты сейчас домой?»
«Да. Я думаю, мне тоже нужно отдохнуть».
«Ясно. Будь осторожен по пути домой».
«Хён, спасибо, правда. Ты тоже будь осторожен».
Ёнхо и Сонгю разошлись; сердце Ёнхо бешено стучало.
***
На лестнице в доме.
Ёнхо замер на лестнице между 4-м и 5-м этажом.
«Дорогой... Ты в порядке?»
«Все нормально, да».
«Ты не спал все эти дни».
«Я действительно сделал это?»
«Что произойдет, если ты, в конечном итоге, упадешь в обморок? Я заработаю денег, поэтому, может, тебе отдохнуть пару дней? Тебе не заплатят в любом случае».
«Мне нужно идти. Что произойдет, если мне перестанут платить зарплату?»
«Дорогой...»
Квартира была старой, поэтому звукоизоляция была плохой. Ёнхо не мог войти в дом, и он, стесняясь, стоял перед ним.
«О, боги...»
Он сжал конверт с деньгами в кармане.
800,000 вон.
Это было и не много, и не мало.
Но он, конечно, не мог кормить семью из 3-х человек в течение месяца. Ёнхо не мог войти в его дом, ему был стыдно.
«Куда бы пойти сейчас...»
Он не мог показаться родителям сейчас. Из-за чувства вины на сердце было тяжело.
Ёнхо тихо спустился вниз по лестнице.
Глава 6. Регистрация на курсы (1)
В клубной комнате для членов клуба стоял лакулаку (*типа пляжного лежака с матрасом). На нем лежал Ёнхо. Студентка, которая только что вошла, начала жаловаться, увидев Ёнхо.
«Что это такое, почему сонбэ (*в Корее так называют старшего независимо от пола) снова спит здесь?»
«Это в его стиле».
«Какого черта он спит здесь, если живет в Каннаме?»
(* Каннам - район в Корее в Сеуле, своего рода русская Рублёвка)
«Су... Сумин, не говори так».
«Это же правда, не так ли? Он из благополучной семьи».
Джи Сумин.
Как одна из немногих девушек на факультете информатики, она, можно сказать, была лучшей и в учебе, и по внешности. Самая красивая девушка. Другими словами, Королева в инженерном колледже Сон Мин. Высокая, с большими глазами и правильными изгибами тела... Она была безупречной.
«Сумин, нельзя такое говорить прямо в лицо».
«Какой сонбэ, это просто биндэ (постельный клоп)». (*игра слов)
«Эй!»
«У него даже есть прозвище - клоп Юн».
«Эй, прекращай, ты его разбудишь. Давай уйдем».
Но Ёнхо уже не спал, когда вошла Сумин.
«Почему ЭТА здесь, сейчас же выходные?» (он называет её «эта»)
Ёнхо знал Сумин. Она не уважает старших и не обращается к сонбэ как положено. Ей было свойственно невежество.
«Проваливай, просто проваливай».
Ёнхо хотел, чтобы Чхве Хеджин ушла вместе с Сумин. Но этому было не суждено сбыться. Подойдя к лежаку и схватив одеяло, которым укрывался Ёнхо, Сумин сказала:
«Сонбэ, это твой дом? Не собираешься вставать?»
*тянет*
Однако Ёнхо не растерялся. Он сильно схватил одеяло, заметив намерения Сумин.
«О? Не хочешь уходить?»
«……»
«ПОДНИМАЙСЯ, ЧЕРТ ПОДЕРИ!»
Если бы Ёнхо внес немного денег с подработки или заботился о своих хубэ (*обращение к младшим в Корее), она бы относилась к нему по-другому. Сонгю делал вклад с каждой подработки. Но Ёнхо не сделал этого ни разу.
«ПОДНИМАЙ СВОЮ ЧЕРТОВУ ЗАДНИЦУ!»
Сумин дернула одеяло со всей силы.
«Я уже понял! Просто вали», - сказал Ёнхо, открыв глаза. Но Сумин была беспощадна. Она продолжала тянуть одеяло.
«Ты должен был встать, когда я говорила по-хорошему!»
*Бам* (падение на пол)
Ёнхо первым отпустил одеяло. Сумин не удержалась и грохнулась на попу.
«Кья!» (Крик)
Но это крикнула Хеджин, стоявшая позади неё. Ёнхо был в одних трусах, и через них было видно треугольную выпуклость.
Кан Сонгю, который появился из ниоткуда, сдерживал Сумин.
«Сумин, достаточно».
«Сонбэ, этот...этот ублюдок просто...»
«Нельзя называть сонбэ ублюдком...»
«Даже за такое!»
Сумин свирепо смотрела на Ёнхо, как будто её ложно обвинили. Ёнхо, натянув штаны, посмотрел на неё и сказал:
«Кто тебе разрешил забирать моё одеяло?»
«Этот извращенец!»
Покрасневшая Сумин зло смотрела на Ёнхо. Сонгю сдерживая её, сказал:
«Сначала успокойся. Во всяком случае, девушки, я позвал вас потому, что...»
Сонгю пояснил, что есть подработка - нужно мониторить сервер во время периода записи на курс. Куратор сказал им, что если они успешно пройдут испытание, это будет стимулом. Сонгю позвал Сумин и Хеджин, чтобы рассказать им об этом.
«Хён, я могу тоже сделать это?»
В отличие от Сумин, которую позвал Сонгю, Ёнхо не звали. Но он хотел принять участие в этом. Ему нужно заработать денег любыми способами до начала семестра.
«Иди в ж**у, это не для тебя, так что не встревай», - сказала хладнокровно Сумин. Но Сонгю ответил, как будто это было очевидно:
«Я уже сказал профессору, что ты будешь это делать. Я позвал Сумин и Хеджин сюда, чтобы спросить, хотят ли они участвовать в этом или нет».
«О...Спасибо, хён».
Ёнхо оперся спиной на стул.
«Сонбэ, если он будет участвовать, то я отказываюсь».
«Точно?»
«Да. Работать с этим извращенцем... Я ненавижу его».
«Эта работа - хорошая возможность, ты понимаешь? Профессор сказал, что это будет хорошая практика, если тебе удастся закончить эту работу.
После слов Сонгю Хеджин согласилась.
«С... Сонбэ, я сделаю это».
«Хеджин!»
«Сумин, хорошо подумай. Это хорошая возможность. Я думаю, раз профессор сказал, что это будет хорошо для трудоустройства...»
«Стоп».
Сонгю остановил Хеджин.
«Итак, вы согласны или нет?»
«……»
Видя колебания Сумин, Хёджин пыталась убедить её.
«Мы уже на последнем курсе. Это последний шанс для профессоров нам помочь».
«Я сказал стоп, Хеджин. Это не то, что вы думаете».
Реакция Сонгю успокоила Хеджин.
«Кстати, участвуешь ты или нет, но я не буду убирать Ёнхо».
Сумин надулась из-за решительных слов Сонгю. Как всегда. Сонгю был на стороне Ёнхо. Сумин знала это очень хорошо.
«Что вы собираетесь делать? Профессор сказал выбрать вас, потому что вы хорошо учитесь. Если вы еще не хотите сделать это, то у меня нет выбора».
«Давай же Сумин, это хорошая возможность».
Сумин колебалась и грызла ногти. Наконец, она заговорила.
«Тогда, пожалуйста, сделайте это так, чтобы этот извращенец не сидел рядом со мной».
«Хорошо, скажу профессору, что вы согласны, ок?»
«Да».
После разговора с девочками Сонгю позвал Ёнхо пообедать.
«Эй, почему ты спал в одних трусах в клубной комнате, зная, что может произойти?»
«Ты думаешь, я этого хотел? Просто было слишком жарко, и...»
«И Сумин тоже, она не могла просто сказать тебе?»
«Несмотря на то, что я живу в Каннаме, наш дом сдается в аренду, а половина из этого долг. Чтобы его выплатить, я должен вернуть студенческий кредит после выпуска.
«……»
«Это тяжело».
«Верно...»
Ёнхо потягивал кофе из банки и глядел на людей, проходящих мимо, сидя на скамейке возле здания студенческого союза.
«Но спасибо за все, хён.»
Вероятно, в списке имен куратора SUC (*кружок союза разработчиков) не было Ёнхо. И это Сонгю вписал его. Ёнхо не нужно было спрашивать его, чтобы узнать об этом.
«Если ты так благодарен, тогда работай усердно. Если ты будешь усердно работать и хорошо станешь жить в будущем, угости меня разок».
После слов Сонгю Ёнхо подумал про себя:
«Я отплачу тебе чем-то большим, чем просто еда».
Глава 7. Регистрация на курсы (2)
На подработку было выделено 2 недели. Перед этим работник аутсорсинговой компании запланировал встречу, чтобы объяснить им план курса системы управления. Ёнхо и остальные посмотрели на работника, который находился в офисе поддержки студентов.
«Добрый день, сэр».
«Ах, да. Я слышал, что вы придете».
Сонгю, как представитель, поприветствовал его. Работник, в свою очередь, поприветствовал их. Небольшое раздражение можно было увидеть на его лице.
Под глазами были темные круги. Он выглядел очень усталым.
«Проходите сюда».
Работник повел их в конференц-зал.
Объяснение длилось около часа. От структуры оборудования системы управления до программного обеспечения, установленного в каждом из них... Время шло быстро.
«Итак, по сути, система в целом состоит из одного БД-сервера и двух серверов приложений?»
«Да, вы правы. Существует дополнительный сервер для резервного копирования».
«Где можно увидеть исходный код?»
«В конце презентации я собрал информацию о доступе к DB (DataBase: Программа, которая управляет данными на предприятиях) и SVN (Subversion: Средство управления версией источника программы). Учетная запись администратора сервера и все остальное, так что вы можете посмотреть здесь».