Debug_Yourself – Telegram
Debug_Yourself
669 subscribers
87 photos
3 videos
7 files
80 links
Рассказываю про свой путь становления программистом.
Делюсь информацией, которую изучаю, проектами, которые делаю, шишками, которые набиваю. Также иногда проскакивает диванная философия.

Админ - @arutemu_su
Download Telegram
Мне всегда было интересно, при помощи каких хобби люди отдыхают, особенно прогеры?

Бывает, если есть какая-то задача, которая вызывает интерес или бросает вызов, то могу просидеть несколько дней напролет. Но если вообще ни на что больше не отвлекаться, то чувствую выгорание. Особенно, если задача не решается.

Поэтому в конце лета я заимел еще одно хобби – это кожное ремесло. Подумал, что поделюсь своими работами и мыслями, почему это крутое хобби, с вами.

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

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

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

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

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

Можете сами сравнить (1 и 2 пикчи - новый лого в разных градиентах, 3 - старый лого). Над чем была проведена работа? Во-первых, стоило убрать острые линии и углы и логотип перестал быть агрессивным. Возможно, за несколько месяцев мы стали добрее, а вместе с тем и наш лого.

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

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

Впереди еще много работы, а именно:
• перенести новое лого на эмблемы для чая и наклейки для посылок
• Обновить чайного бота, написанного на JS. Исходники, кстати, вы можете найти тут.
• Сделать наконец полноценный инет магазин вместе с админкой до прихода новой поставки чая из Китая.

Плывите против течения и становитесь драконами. Спасибо, что читаете!
Какой градиент смотрится лаконичнее?
Anonymous Poll
52%
Зелено-желтый
32%
Желто-красный
17%
Оба
Обновил своего телеграм бота. Хотя по факту просто лого заменил и кое-что в коде подправил по мелочи.

Как же хорошо, что бот сам парсит весь товар с ценами и описанием из вк. Вчера я поменял цены на некоторые товары и мне не пришлось париться над тем, чтобы менять всю инфу в боте. Пока что для этого достаточно просто перезапустить его. Напомню, что он просто запускается через менеджер процессов pm2 на digital ocean серваке.

Фишка в том, что всем пользователям, которые не закончили сессию, бот предложит ввести команду start, тем самым получив актуальную инфу о товарах. Быть может кто-то учиться писать ботов и ему будут интересны мои исходники.

Спасибо, что читаете!
Вечером ушедшей пятницы я отважился пройти собеседование на позицию джуна по фронтэнду в одну небольшую студию.

Если вам интересен процесс, то ниже опишу вопросы и атмосферу, которая царила в тот вечер. Надоумил меня на это, кстати, один из подписчиков канала, за что ему огромное спасибо.

В общем и целом все прошло хорошо. Договорились на 9 вечера собраться в дискорде. Я предварительно выпил красного чая, чтобы мозги лучше соображали, повторил некоторые моменты по JS, пробежался еще раз по документации реакта и был готов к жесткому бою.

Однако по факту в беседе царила легкость. Думаю, что там парни моего возраста, поэтому никакого дискомфорта не возникло. Сначала была пару вопросов по HTML и CSS, на которые я ответил, что никогда особо не вдавался в подробности. То есть я сказал, что знаю про общие принципы, что есть теги, их атрибуты, как менять свойства при помощи css, но если спросить меня, к примеру, как сделать что-то хитровыебанное, то я скорее всего просто погуглю.

Потом зашел разговор о реакте. Был разговор про компоненты, про виртуальный DOM, про значимость key в списках, а также хуки. Сюда же можно добавить вопрос о том, что из себя представляют веб-сокеты.

В целом, вопросов было, наверное, не так много. Половину собеседования я просто рассказывал, что вообще делал. Упомянул про чайного бота, про чайный парсер. Но тут, конечно, большой для меня минус в том, что конкретно фронтэндерского проекта в моем рукаве не было.

Получается, что у меня уже сформировались какие-то теоретические знания, но они не подкреплены практикой. Собственно, поэтому мне сказали, что в теории могут взять меня как стажера на +- 2 недели. А там уже на джуна с ЗП.

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

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

Спасибо, что читаете!
За пиалой чая меня посетила интересная мысль. Обычно принято считать, что подлинная красота скрывается от нашего взора. Надо быть чутким и иметь определенную долю усердия, чтобы обнаружить ее. Однако думается мне, что сегодня мы проживаем век, когда не красота прячется от нас, а мы прячем от нее свой взор.

Быть может красота никогда и не пряталась на самом деле? Ведь мы сами выдвигаем к ней требования, которые всегда претерпевали изменения. Просто сейчас, в эпоху информационного чревоугодия, эти требования как нельзя примитивны. То, что проще, динамичнее, с яркой обложкой и как можно короче - вот что склонно привлекать внимание в наши дни. Требующее же времени и терпения чаще остается незамеченным. Незамеченным по инициативе наблюдателя, ибо такова его воля - прятать свой взор.
Друзья! Очень хочется уже сесть, покодить и поделиться с вами проектами, но последнюю неделю я целиком и полностью занят своим хобби – чайным делом.

Мне пришла новая поставка чая, и я решил очень ответственно подойти к вопросу оформления товара в свой магазинчик. Сначала я закупил оборудование для фотосета чаев и посуды, после чего мы несколько дней спали по 4-5 часов, чтобы сделать качественные фотографии. Днями же я в фш сидел и обрабатывал их, чтобы получить результат близкий к совершенству.

Что я хочу сказать? Во-первых, мне будет приятно, если вы оцените проделанную работу. Весь процесс ведения своего дела (можно сказать, что бизнеса) я описываю на втором канале @tea_votary. Во-вторых, скоро я закончу основную работу с чаем и смогу снова вернуться к проге. Помимо сайта и crm надо будет обновить бота для телеги, чтобы была возможность удобно просматривать каталог товаров.

В общем, впереди много интересного. Спасибо всем, кто читает и следит за мной, самурайский вам поклон.
С течением времени само время обесценится.

Если говорить о бесценных ресурсах, то первым посетит ум время. Как писал один самурай: «время забирает, льется сквозь пальцы, тратится впустую. И даже когда используется с максимальным кпд - исчезает безвозвратно».

Думается мне, что время пугает из-за своей непокорности. Хотя людская натура упорно обесценивает его, прозябая и тая от пламени безделья и нытья, мы все же подчинены ему. Мы есть заложники в длани циферблата. Но как знать, быть может, в будущем найдется способ перерезать цепи и покорить одну из самых властных стихий. Прогресс открыл нам много как хороших, так и плохих дверей.

Имея такую власть, есть все шансы моментально обесценить как время, так и саму жизнь. И, возможно, истинный страх должен заключаться не в подчинении, а в обладании. Открытие ядерной энергии – чем не хороший пример?
Больше месяца я скитался по цифровым просторам, ведомый желанием найти хорошую вакансию. По итогу на глаза попалась любопытная должность, где сразу было выложено тестовое задание, что, по моему мнению, является грамотным подходом.

Так как я был не ограничен в сроках, да и параллельно много иных дел навалилось, выполнял задание около двух недель. Работа еще не закончена (не все требования задания удовлетворены), однако функциональная составляющая в принципе готова.

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

На картинке показана схема, которую предложили авторы задания. Этой схемы я и придерживался. Результат можно оценить на нижней гифке. В целом считаю, что получил очень большой и необходимый опыт в работе с реактом.
This media is not supported in your browser
VIEW IN TELEGRAM
В приложении можно вводить адрес (присутствуют подсказки), который при нажатии на Enter добавится в общий список, а также отобразится на карте. Несколько таких адресов образуют единый маршрут. Сама карта интерактивная - все метки можно передвигать и их координаты реактивно меняются.

Также список состоит из drag ’n’ drop адресов, которые можно спокойно передвигать, изменяя порядок. Маршрут будет перестраиваться также реактивно. При клике на адрес он окажется в центре карты.

В целом, это все. Есть необходимость поработать с некоторыми нюансами (адекватное отображение в мобильной версии), а также добавить unit тесты. Если смогу, то уже на этой неделе закончу все и отправлю, а там уже останется только ждать.
Что касается моего последнего проекта «редактор маршрутов», очень хочется снять два полноценных видео: в одном я бы хотел рассказать о том, как происходит процесс решения тестового задания и трудоустройства в целом с точки зрения джуна-самоучки; во втором же я бы углубился непосредственно в техническую составляющую и показал от А до Я как можно написать такой проект.

Как знать, быть может до конца года я найду время и сделаю это. А пока что поделюсь с вами тем, что можно использовать для реализации такого проекта:

1. React. Можно также Vue или Angular (что там еще есть), однако в моем случае в задании был указан именно реакт.

2. Стэйтменеджер (опционально). На данный момент я не использовал подобное так как изначально хотел поработать именно с контекстом реакта. Не могу судить на сколько удачно это у меня получилось. Надеюсь, когда буду показывать задание на собесе, там мне пояснят за это.

3. Если в качестве карт вы решили работать с яндексом, то React-yandex-maps. Довольно неплохая вещь (по сути обертка) для работы с yandex api. Стоит отметить, что для запросов потребуется личный api-ключ, который можно без проблем получить у яндекса в кабинете разработчика.

4. Material-ui. Позволяет довольно просто и эффективно набросать макет, предоставляя набор готовых реакт-компонентов.

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

Мои последние посты были посвящены тестовому заданию и устройству на работу. Напомню - надо было сделать редактор маршрутов. В общем-то, вы можете теперь повзаимодействовать с приложением тут, а сам код выложен в репозитории.

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

Отправив задание, я знал, что косяки есть. И я был готов к тому, чтобы побеседовать и услышать критику. Но максимум, который я получил - это отказ по почте с указанием на некоторые огрехи, с которыми я в целом могу согласиться, но для джуна они не являются критическими. Главным же их аргументом выступил тот факт, что я не выполнил одно из требований. И вот тут кроется самое интересное.

Если вы повзаимодействуйте с моим приложением, то увидите, что в поле вбивается нужный адрес и при нажатии enter этот адрес добавляется на карту, а также в список адресов. Так можно добавлять несколько адресов, между ними прокладывается прямолинейный маршрут; адрес точки можно интерактивно менять как и последовательность адресов в целом. И вроде бы все логично, ведь ИМХО мы, пользователи, привыкли пользоваться картами именно так - вбиваешь адреса, между ними строится маршрут.

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

Только перечитав задание несколько раз я уловил это требование, но блядь насколько же оно не логичное. Еще более не логичным является то, что в теоретических вопросах тебя спрашивают про то, что такое «хорошее» приложение с точки зрения клиента, ожидая упоминания про хорошие UI/UX, а на практике за хороший UX «дают по рукам».

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

Вся эта процедура практически сразу стала меня смущать, так как зайдя к ним на сайт, я просто не смог найти раздел с вакансиями. То есть они ищут кандидата, но на какую позицию не пишут.

В конце концов я выразил личные пожелания относительно позиции фронэндера с перспективой фулстэка и прикрепил резюме. Важно, что я четко упомянул JS и React, да и сам парень когда первый раз написал мне, акцентировал внимание на том, что им нужен реакт.

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