Неделя создателей 4
Добро пожаловать в мой блог об обучении программированию в Makers Academy. Если вы пропустили последний пост, вы можете найти его здесь. Если вы жаждете большего, вот следующий.
Название взято из цитаты Джины Трапани.
Все предупреждали нас, что это будет одна из самых тяжелых недель в Makers.
Предстояло узнать чертовски много нового, и в конце недели я впервые почувствовал настоящий стресс. Как будто поток контента пролетел мимо моих глаз, прежде чем я успел его осознать.
Проект выходного дня прошел на удивление гладко (несмотря на отсутствие некоторых функций), и я был удивлен, насколько многое из того, что я пытался выучить, прижилось. Думаю, в будущем я буду более выносливым.
Менеджер закладок
На этой неделе перед нами стояла задача создать веб-приложение, которое позволило бы пользователям сохранять свои любимые веб-сайты, помечать их, просматривать и сортировать по тегам. Мы также стремились реализовать функциональность, позволяющую пользователям регистрироваться, входить и выходить из системы, а также зашифровывать свои пароли и позже проверять их.
Это было сложно. Когда вы регистрируетесь на веб-сайте, ваши данные хранятся на серверах этой компании (или чьих-либо серверах они используют — скорее всего, AWS) в базе данных. Затем, когда вы вернетесь на сайт, чтобы войти в систему, введенная вами информация сопоставляется с информацией в их базе данных, чтобы получить ваши данные.
Мы использовали DataMapper для автоматизации этого процесса, так что после настройки базы данных мне нужно было только указать на нее в своем коде, чтобы передать информацию. Однако на самом деле вы не видите, как база данных растет за счет таблиц и строк. В результате все кажется очень абстрактным.
Еще одним сложным моментом была реализация возможности сортировки ссылок по их тегу. Связать мою таблицу ссылок с нашей таблицей тегов через другую таблицу «соединений» с их идентификатором, и запрограммировать мой код Ruby для доступа к нужной информации было непросто, все в значительной степени полагались на пошаговые руководства.
Как только наши программы начали «дышать», мы научились развертывать их в Интернете с помощью Heroku. Увидеть свою работу в Интернете в первый раз было очень приятно, и я получил много положительных эмоций.
Крутые советы по коди
Рой показал мне этот отличный шрифт для программирования. Он называется FiraCode. Он отлично читается и выглядит великолепно. В качестве бонуса поддерживаются лигатуры, что очень радует.
Чтобы лигатуры заработали, вам понадобится ночная сборка iTerm2 (гораздо более крутая версия терминала для Mac).
Я также изучил несколько очень полезных команд терминала, которые облегчают мне жизнь:
- cmd + r: очищает экран терминала, но (в отличие от cmd + k) не избавляется от него, поэтому вы все равно можете прокрутить вверх и посмотреть, что вы делали.
- ctrl + a/e: движение к началу/концу строки
- ctrl + k: удалить все после курсора
И, наконец, плагин Vim SplitJoin. Мне еще предстоит оценить, насколько это полезно на самом деле, но выглядит отлично.
Смотреть! 1000 куч какашек:
Вызов выходного дня
На этой неделе нас попросили сделать клон Twitter, который позволил бы пользователям публиковать сообщения в общедоступном потоке.
Нам пришлось добавить всю функциональность базы данных из менеджера закладок, чтобы хранить данные пользователей и шифровать их пароли, а также сохранять их сообщения для просмотра другими пользователями.
Вот мои работы на тему вязания:
Несмотря на мои неоперившиеся навыки работы с HTML и CSS, я очень доволен общим ощущением от сайта. Дизайн — это то, что меня действительно интересует, и я рад узнать больше. Это действительно классное чувство — наблюдать, как ваши проекты оживают на ваших глазах в результате всех этих небольших изменений, и я думаю, что тех, кто не является разработчиком, удивит, как много еще предстоит сделать (обратите внимание на мою красиво округлую форму). углы блин!).
Будучи кодером-дальтоником, я всегда использую программное обеспечение для проверки правильности выбора. Как только я остановился на фоновом изображении, я использовал расширение Eye Dropper Chrome, чтобы получить шестнадцатеричные цветовые коды для клубков шерсти внизу. Затем я воспользовался Adobe Color, чтобы подобрать гармоничную цветовую палитру. Настоятельно рекомендуемые инструменты, даже если у вас есть все ваши фоторецепторы.
Есть вещи, на которые у меня не было времени. Я действительно хотел применить эффект «Размытие по Гауссу» к прозрачному блоку за моими сообщениями, который бы размывал изображение за ним, но оставлял сообщения нетронутыми. Тем не менее, повторные попытки просто оставили меня с расплывчатыми кончиками вязания, в результате чего я стала слепой и дальтоником. Во-вторых, мои шрифты не отображаются во всех браузерах. Мне очень нравится мой выбор «Futura» в главном заголовке, поэтому я очень хочу найти способ сделать так, чтобы это работало для Safari и т. д.
В одном из моих файлов представлений спрятан грязный секрет. Чтобы мои подсказки отображались в обратном порядке, с самыми новыми первыми, мне пришлось перевернуть свой HTML-список. Вместо редактирования кода Ruby я повернул родительский блок, а затем повернул дочерний контент внутри него в противоположном направлении. Это сработало, но это был дерьмовый хак, и теперь я должен ссылаться на свое нижнее поле как на верхнее поле и наоборот. Я уверен, что это то, за что вас наказывают в будущем.
Что касается серверной части, мне все еще нужно убедиться, что пользователи могут отправлять подсказки только после того, как они вошли в систему и хотели бы, чтобы их имена пользователей отображались под отправленными подсказками. Надеюсь, будет время разобраться с этим на сеансе рефакторинга в понедельник.
Теперь мы развертываем наши приложения с Heroku, а это означает, что вы действительно можете посетить Knitter здесь, хотя ссылка обречена на смерть довольно скоро (Heroku предоставляет бесплатный хостинг только в течение ограниченного времени).
И вот репо на Github.
«Расслабление»
Я реализовал свое намерение начать слушать подкасты по программированию в поездках на работу и обнаружил, что мне все понравилось.
Ссылка ниже для части II эпизода, который я слушал в четверг вечером. Интервью давала Джина Трапани, создательница Лайфхакера, ставшая разработчиком. Теперь она нанимает других разработчиков и может рассказать несколько действительно интересных вещей о том, как добиться успеха в мире технологий.
Одним из выводов было то, что компании действительно просматривают ваши сообщения о коммитах на Github. Теперь я определенно начну больше заботиться о своих — больше никаких «я что-то сделал».
Мне также понравилось, как она рассказала о своем отношении к процессу обучения разработчика: борьба за решение проблем является частью сделки, и на нее следует смотреть положительно. Нужно так многому научиться, что вы никогда не «доберетесь туда». Всегда появляется новое программное обеспечение и лучший способ ведения дел. Очень соответствует образовательной философии Makers.
Что я узнал:
- Vim, наконец, чувствует себя естественно, и, как неожиданный побочный эффект, моя слепая печать улучшает нагрузки.
- Как использовать bind.pry. Я чувствую, что разбираюсь в отладке намного лучше, чем неделю назад.
- Как использовать postgreSQL для реляционных баз данных.
- Развертывание веб-сайтов с помощью Heroku.
- Как сделать хумус своими руками.
Материалы, которые еще не нажали пока:
- Узнайте больше о CSS. Мне все еще не нравится большинство вещей, которые я вижу на StackOverflow. Я еще не ниндзя CSS Google.
- Многое из этой базы данных кажется мне непонятным. Я не чувствую себя комфортно с SQL, хотя я не знаю, какую часть языка мне действительно нужно знать на практике, а какую часть я позабочусь о взаимодействии с ORM (например, DataMapper).
- Тем не менее, мне тоже не нравится DataMapper. Определение отношений «один ко многим» и «многие ко многим» — навык, который мне понадобится.
СЕГОДНЯШНИЙ ДЖЕМ
Я ждал этого альбома целую вечность, и в пятницу он наконец пришел. Сочная штука.
Если вы читаете дальше тапира, скорее всего, вы читаете все целиком. Если вам понравилось, пожалуйста, нажмите на маленькое сердце ниже. Это поможет другим найти это и получить от этого удовольствие.