• Главная
  • О сайте
    • С нуля до работы photo

      С нуля до работы

      Блог о продвижении новичка к профессии программиста

    • Подробнее
    • Email
    • Twitter
    • Facebook
    • LinkedIn
    • Github
  • Посты
    • Все посты
    • Все теги
  • RSS
  • Проекты

Неделя #31. Или уже 32? Хотя нет, 30. Да ну их, эти недели!

Вс, 10 Декабря 2017

Время прочтения ~6 минут

Привет, дорогие читатели! Я все еще тут, на связи с вами и никуда не делся :) Как обычно, немного затягиваю с публикацией нового поста, хотя, впрочем, этим уже все равно никого не удивить. Но что поделать, если недели реально мало и не хватает вообще ни на что? Приходится тянуть и ждать, когда будет хотя-бы что-то, чем можно было бы похвастаться. Ну или до тех пор, когда задержка уже действительно превышает все мыслимые сроки. Кстати, сейчас, прямо перед публикацией проверил, сколько на самом деле прошло времени с момента появления этого блога. Вышло 208/7 ≈ 29.7 недель, хотя я предполагал, что на самом деле должно было быть уже намного больше. В общем, что-то я вконец запутался со всеми этими неделями и теперь подумываю: может быть вообще перестать вести им счет, тем более, что один только взгляд на их немалое количество уже ввергает меня в панику и подрывает уверенность в собственном успехе.

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

  1. Прочитал недавно законченный Андреем Мелиховым из Яндекса перевод учебника Node Hero от RisingStack. Честно говоря, сам учебник мне не сильно понравился. Конечно же, не в обиду переводчику: он, безусловно, проделал большой труд и респект ему за это, но вот именно сама книга, на мой взгляд, оставляет желать лучшего. Во-первых, относительно небольшой объем, в который попытались впихнуть всего, да побольше. В результате получилось так, что авторы буквально промчались по всем темам, не раскрыв в достаточной мере ни одну из них. Ну и во-вторых, сама подача материала тоже так себе. Опять же, видно, что автор ставит своей целью не научить читателя, а скорее показать, дать беглый обзор различных аспектов построения приложения на Node.js, ну а дальше уже разбирайся как знаешь, гугл в помощь! В общем, если вы привыкли во всем разбираться самостоятельно и вам нужен просто общий взгляд на то, как выглядит весь процесс создания сайта на ноде, то наверно, эта книга вам подойдет. Но для того, чтобы действительно погрузиться в каждую из тем, придется выбирать книги потолще и поглубже (кстати, может быть посоветуете что-нибудь такое по JavaScript вообще и по Node.js в частности?).
  2. Курс по Node.js с Udemy (тот, который с 10-ю проектами) не забросил, я обязательно к нему вернусь, но на этой неделе руки не доходили, поскольку все основное время занимался своим собственным проектом — календарем, о котором писал в прошлый раз. Как я и рассчитывал, все не пошло гладко и для того, чтобы в полной мере реализовать все, что я задумал, мне понадобится выучить еще много новых вещей. Со стороны бэкенда это, конечно-же, базы данных, за которые я до сих пор так толком и не взялся (почему???). Пока что я решил, что вернусь к этому аспекту немного позже, после того, как пройду еще пару проектов их вышеупомянутого курса и немного разберусь что там к чему и как это работает. А пока что вплотную занялся теми частями своего сайта, которые должны обрабатываться и отображаться в самом браузере. До сих пор большинство из того, что я учил, имело отношение в основном к бэкенду, а мое знакомство с фронтендовыми технологиями ограничивалось только базовыми знаниями HTML и немного CSS. Конечно же, при таком раскладе сильно не разгуляешься и если я действительно хочу уметь строить сайты от и до, мне нужно хорошо знать как бэк, так и фронт. Поэтому всю прошедшую недель в основном занимался тем, что восполнял свои пробелы в этой области.
  3. Узнал, наконец, что это за зверь такой: jQuery и для чего он нужен. Подключил его в свой проект и использовал некоторые методы из этой библиотеки. Например, по моей задумке, пользователь, если захочет, может добавить в календарь свои собственные жизненные периоды, которые окрашивают соответствующие отрезки времени в разные цвета и таким образом, можно наглядно увидеть какую часть жизни занял тот или иной период. Для этого нужно, чтобы по клику на нужную кнопку в форме динамически добавлялись соответствующие новые поля, причем сколько угодно раз. (Ну и наоборот, должна присутствовать возможность в случае чего отменить свое действие и убрать ненужные дополнительные поля). Кроме того, не все введенные пользователем значения могут быть корректны, например, начальная дата не может быть позже конечной и мне нужно каким-то образом обработать ввод в реальном времени и, в случае чего, указать пользователю на ошибку. Думаю, для профессионала такие вещи — сущий пустяк, но в моем случае пришлось изрядно попотеть, пока не удалось реализовать нечто подобное. Особенно, учитывая, что до этого слово DOM я встречал только в перечне курсов на Хекслете. Вот тут-то мне и пришел на помощь jQuery с уже готовыми методами, позволяющими быстро находить на странице, добавлять и удалять требуемые элементы, изменять классы, стили и аттрибуты у этих элементов и все такое прочее. Конечно, это было лишь поверхностное знакомство и в любом случае, при возможности надо будет разобраться во всем этом поглубже.
  4. Первоначально, я реализовал сам календарь при помощи таблицы, и в принципе, все выглядело именно так, как мне и было нужно, но внезапно осознав, что на дворе конец 2017 года, а Flexbox и CSS Grid Layout победоносно шествуют по планете, я решил, что почему бы и не попробовать что-нибудь из этого самому? Взял, да и переписал свой календарик с таблиц на гриды. Опять же, пришлось немного попотеть, но в целом все получилось даже лучше, чем было раньше, поэтому я остался доволен своей работой. Конечно, я уверен, что я по любому там чего-то намудрил и то же самое можно было сделать гораздо проще, но если учитывать, что это мое первое знакомство с технологией, то в общем-то не все так уж и плохо. А так это или нет — судить вам. Только учтите, что все это еще далеко не конечный вариант и все еще будет 10 раз доработано и переработано, само приложение тоже еще совершенно не готово, особенно серверная его часть, там еще работы непочатый край. Пока что могу похвалиться только самим календарем и теми самыми динамическими формами (тут ссылка на подключенный к странице скрипт).
  5. Понял, что уже очень давно не слушал никаких подкастов, поэтому решил исправить это досадное недоразумение и снова стал слушать их во время работы. Начал, конечно же, со своих любимых Веб-стандартов, которых за это время успело выйти уже где-то выпусков 20. Сначала прослушаю их ну а потом проверим, что там еще нового и интересного выпустили в эфир. Кстати, буквально сегодня ночью, во время работы, случайно наткнулся на еще один интересный авторский подкаст под названием “Будет сделано!”. Сам автор определяет его как “подкаст про личную эффективность”, но на самом деле он охватывает довольно обширный спектр тем, совсем не обязательно связанных напрямую с личной эффективностью. Каждый выпуск - это интервью с каким-нибудь ярким и успешным в своей области деятельности человеком, который делится собственным опытом и знаниями касаемо самых разнообразных тем, таких, как здоровый образ жизни и питание, успешность в делах и эффективность, постановка целей и выработка привычек, мотивация, осознанность, различные другие психологические и физиологические аспекты человеческой жизни. В общем, хотя здесь и нет ни слова о программировании, лично мне подкаст очень понравился и поэтому я также считаю нужным поделиться этой находкой с остальными. Возможно, кому-то из вас эта информация также будет полезной.

В общем, как-то так. Как я и обещал, не буду сильно много расписывать, а лучше потрачу больше времени на учебу и на практику. Если у вас будут какие-то замечания или комментарии по поводу всего, что я здесь писал — буду очень рад. Желаю всем удачи и, как обычно, увидимся на следующей неделе! (ну или когда-то там :)

Неделя #30. Пост боли Упс! Что-то пошло не так...


практикаnode.jsфронтендjQueryCSS Grid Layout Share Tweet +1