Programmer Way | IT и фриланс
2.51K subscribers
118 photos
14 videos
4 files
248 links
Делиться моим путём до вершин IT индустрии!

Топовый чат: t.iss.one/best_of_it

Условия рекламы: tsykunov.com/price

Автор: @nikitakokos
Download Telegram
​​Улучшения для верстки №7.
Переменные в scss и их применение. Вещь достаточно специфичная, я сам в начале не понимал зачем это нужно, пока сам не попробовал

Синтаксис scss позволяет создать переменную благодаря знаку $, обычно для всех переменных на проекте я создаю отдельный файл(_vareibles.scss), куда и складываю все переменные

Применение. Обычно их используют только в 2 случаях: когда на сайте есть повторяющиеся стили(например цвета) и когда мы хотим изменить что-то в одном месте, а все расчеты под нас подстроятся(например мы задали переменной шрифт, а потом в body у нас будет этот шрифт по умолчанию или мы задали размер для контейнера, как в макете, а медиа запросы сами подстроятся под нас)

Это значительно упрощает работу, поэтому используйте переменные у себя в проектах, но не стоит все оборачивать в переменные, всё-таки нужно знать меру
​​Пишем заявку.
Прежде всего должен сказать, что умение писать заявки приходит с опытом, с каждым разом этот навык оттачивается до совершенства, но пока стоит придерживаться некоторых советов:

Не будь как все. Вы думаете заказчику нравиться читать 50 однотипных заявок на проект? Стоит себя выделить, но не переходить черту адекватности. Лучше не использовать шаблонные фразы вроде «Доброго времени суток!» подробнее тут

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

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

Но правильно подобранные слова не гарантируют вам 100% получить заказ, поэтому стоит оставаться людьми и не писать заказчикам в личку, с просьбами взять именно вас — это так не работает. Уважение к себе и заказчику прежде всего
+1 работа в портфолио.
Мой авакод наконец-то заработал, а это значит, что я сверстал wooder. И как мне кажется, моя верстка перешла на новый уровень

Основной сложностью было то, что этот макет сделан в стиле FullPage прокрутки, это было реально жестко так как надо следить не только за шириной устройства, но и за высотой, а последний блок пришлось вообще переделать, потому что там было 2 блока: о нас и футер, вообщем верстать обычные макеты это кайф

Я сейчас активно смотрю собесы, мы даже с другом попробовали провести друг другу один такой собес, мне реально понравилось, он меня подколол на области видимости var и там я тупанул :) Поэтому за это время я сильно подтянул нативный js, а затем прочту книгу по алгоритмам

Это мне очень сильно помогло в вёрстке этого макета, я самостоятельно сделал счётчик текущего слайдера, сделал меню, которое добавляет активный класс с фоном если станица не равна индексу 0. Поэтому я пришёл к очень важному выводу: практическое знание JavaScript выводит верстку на новый уровень
Макеты.
Не знаете что делать во время праздников? Предлагаю немного поверстать:) макеты легкие, для новичков и не только. Всех с праздниками! (думаю вас уже все поздравили)

Тип: лендинг и многостраничник 
Уровень: легкий

#макет
Итоги 2020.
Это последний пост на канале в этом году, хотя это особо не имеет значения. За этот год я узнал много нового:

Увидел IT с другой стороны, не ту, где тебе платят в вечнозеленых, а ту, где находятся точно такие же люди, где есть демпинг, где от джуна требуют то, что требовали от миддла каких-то пару лет назад

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

Попутно вёл свой телеграмм канал и искал свой стиль, так же создал свой первый сайт, который размещён в интернете, вообщем год был продуктивный

Надеюсь у вас все получилось в этом году и желаю, чтобы в следующем вы радовали себя новыми достижениями, с наступающим!
RandomBox.
Сайт на котором вы можете испытать свою удачу и выиграть случайный квадроцикл, введя специальный код, который можно скопировать в футере

Ширина полоски задается в специальном объекте и генерируется в самом js, хотел сделать какой-то генератор случайного подарка, с определенным шансом на выпадение, который зависит от ширины полоски 

Посмотреть можно тут, кстати, если ввести код «everyred», то каждый раз будет выпадать самый редкий подарок
MDN.
Пожалуй самая лучшая, структурированная документация по js. Очень часто пользуюсь, когда забыл или надо найти какой-то метод, проверено на личном опыте 

Здесь собрана подробная документация по всем современным веб-технологиям, в том числе по js. Подробнее о технологиях можно почитать тут

Возможно, многие уже знают про этот сервис, но для новичков хочу сказать: «Не бойтесь гуглить!» Я тоже очень часто что-то забываю и это нормально, мы все люди, кстати, о людях, если вы не нашли ответ на свой вопрос в гугле, лучше написать в один из тематических чатов или спросить совета у более скилового человека(если вы работаете в компании), а так заходите в чат, будет полезно
Звездный рейтинг. 
Часто используется в интернет магазинах, блогах, различных сайтах отелей или еды, в этом видео автор показывает, как сделать правильный рейтинг с отправкой на сервер через ajax. В макете, который сейчас верстаю, как раз используется такой рейтинг
​​Cdn.
Часто ли вам приходилось использовать cdn, чтобы подключать различные библиотеки на свой проект, но что это такое?

Если вкратце, то cdn — это сервера, разбросанные по всему миру и если ваш пользователь находиться очень далеко от вас, то файлы будут приходить с ближайшего cdn сервера(ориджин), чтобы минимизировать задержку. Это можно сделать даже с вашим сайтом, для более быстрой загрузки, иногда это могут спросить на собеседовании, поэтому вот статейка по cdn
​​ColorHunt.
Если не можете придумать сочетания цветов для своих проектов, то хочу порекомендовать это хранилище крутых сочетаний различных цветов. Можно использовать для своих pet проектов, так как надо уметь еще и подать свои навыки, ведь без хорошего UI не будет полноценного проекта

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

Сейчас я уже достаточно крепко ориентируюсь в js и его функционала мне начинает не хватать, у меня была мечта — сделать свой чат, надеюсь с третий попытки я это сделаю, но сначала надо освоить webpack, ведь писать на чистом css мне как-то надоело:)

Ещё сейчас осваиваю redux и по сути это всего пара концепций, которые позволяют удобно хранить состояние приложения и не толпиться все в одном месте, обязательно напишу пост о нем, а пока можете зайти в чат
​​Redux.
Есть такое понятие, как flux-архитектура, которая гласит, что UI вторичен по отношению к state.
Поэтому когда мы пишем приложение нам нужно организовать стейт-менеджмент, чтобы изменять состояние приложения и redux на данный момент является самым популярным решением

State — это некая истина и мы не можем изменить UI, не изменив state, такова концепция flux, даже если мы вводим в форму данные они не должны отрисовывается, пока не измениться сам state

Есть ещё много библиотек, для управления состоянием, например: MobX, ещё в чате писали про reatom ну и много других, у всех есть как плюсы, так и недостатки, поэтому лучше хорошо знать одну, чтобы быстрее перейти, ибо проблемы одни и те же, а решений много и все правильные. И каждый в праве изучать то, что ему нравится
​​Резюме.
В первую очередь нужно писать от себя, с заботой о читателе, пусть там уже будет вся нужная информация о вас, которая может понадобиться работодателю, указывайте все ваши соц сети и контакты, для того же удобства — я мог бы этого не писать, но много людей отсылают просто шаблонное резюме, в котором просто поменяли навыки и контакты, если вы junior, то обязательно стоит указать опыт работы, даже если он маленький, будь то работа на фрилансе или свои pet проекты. Отличным плюсом будет вклад в openSource проекты. Ну и конечно крепкое портфолио, которое демонстрирует ваши навыки

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

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

Тогда можно вообще не читать книги? — спросите вы, и я вам отвечу: «Конечно же нет!» Все преподаватели на курсах получали информацию от своих менторов, а те, в свою очередь, учились по книгам, поэтому новичкам так сложно понять, что говорят на курсах, ведь это получается поломанный телефон: ментор объяснил, но его словарный запас был мельче, чем у автора книги, ученик из-за этого недопонял материал и начал обучать других

Я лишь хочу сказать, что не стоит читать книги по синтаксису какого нибудь языка, ведь они быстро устаревают и проще пройти какой-то курс, но уже с хорошей базой, полученной из книг, чтобы не было искажений. Алгоритмы, концепции программирования(API, ООП, FLUX, DRY и тд) — это базис, на котором держаться все языки, поэтому стоит на этой недельке почитать книгу по алгоритмам:)
​​Drag & Drop.
Создание drag and drop с использованием современного синтаксиса ES6 и немножечко reduce. Я нашёл англоязычный урок, но даже для тех, кто не знает английский все должно быть более-менее понятно. Советую почаще смотреть англоязычные туториалы, чтобы подтянуть произношение и не говорить php как пхп, ну это я уже утрирую
​​SVG анимация.
Большая статья, в которой разобраны все аспекты анимации векторной графики. Автор рассказывает про 2 типа svg анимации: через CSS и с помощью SMIL анимации (на самом деле это SVG анимация, которая базируется на SMIL и расширяет его функционал). SMIL стоит использовать тогда, когда нужно сделать сложную анимацию, а возможностей CSS не хватает( следите за поддержкой браузеров)
​​Сложный JavaScript.
Бесплатный курс по прокачанному js, будет полезно как новичкам, так и опытным разработчикам, сам часто заглядываю, чтобы повторить, ведь все не запомнишь. Я в этом уже не раз убедился…

И да, все проходит с практикой, но фундаментальные вещи тоже часто забываются. Особенно если надо что-то объяснить, а люди не могут и двух слов связать. Эти вещи скорее всего спросят у вас, если вы будете устраиваться в компанию, так что советую повторить
​​LinkedIn.
Соц сеть для поиска работы, контактов или полезных знакомств. Решил тоже завести для себя, ведь чем раньше я это сделаю, тем больше это поможет в дальнейшем (так же как и с гитхабом)

Когда у вас есть хороший профиль в linkedIn-е, вам больше не нужно мониторить hh.ru или какой-то другой сайт по поиску работы, ведь HR-ы будут находить вас и писать именно в LinkedIn-е. Поэтому стоит заводить свой профиль уже сейчас, предлагаю так же подписаться на меня, взамен сделаю тоже самое. Будем вместе прокачиваться, ну и делиться опытом, удачи :)
​​MoscowJs.
Если у вас есть пару свободных часов, и вы хотите с пользой отдохнуть, то советую посмотреть 2 онлайн-конференции:
Собеседование глазами кандидата и Собеседование глазами компании. Вообщем желаю узнать что-то новое, и просто весело провести время

Вообще отдыхать с пользой это, как по мне, отдельный навык, который стоит прокачивать. Полезнее будет отдыхать, обучаясь, смотря какой-то курс или плавая в бассейне, чем сидеть на диване и скроллить бесконечную ленту в инстаграме
​​Cookies.
Когда вы заходите не любой сайт, браузер создаёт специальный файл, который называется cookie. Этот файл всегда передаётся вместе с запросом на сервер и с каждым ответом приходит обратно в браузер, изменять cookie может как браузер, так и сервер. Чаще всего их используют, когда надо сделать авторизацию на сайте, cookie, в этом случае, служат для идентификации пользователя

Хорошо, но тогда почему нельзя просто залезть в чужие куки и посмотреть пароль? Дело в том, что сервер заранее кодирует важные данные и просто так не получиться залезть в DevTools и посмотреть там пароль, потому что только сервер может его раскодировать 

Каждая кука имеет определённое время жизни, оно может отличаться в зависимости от сервера и когда время жизни истечёт кука соответсвенно удалиться, но если поставить галочку «запомнить меня» при регистрации, то время жизни куки увеличиться и вам не придётся постоянно авторизовываться

Если немного подзабыли про куки, то можно послушать небольшой ликбез:
​​Rest API.
У каждой программы есть свой интерфейс, через который осуществляется работа с данной программой. Это нужно для сокрытия лишних деталей, о который пользователю лучше не догадываться. И по сути, любая библиотека — это та же программа, в которой есть свои объекты, интерфейсом которых является то, какие методы и свойства у него доступны из вне

Сервер является программой, интерфейсом(API) которого является набор url адресов, но просто знать адреса, чтобы отправить запрос, будет недостаточно, надо еще знать тип запроса, параметры, которые нужно передать и response, который вернет нам сервер

Rest API — это некая рекомендация/договоренность для упорядочивания запросов на сервер, правила, по которым стоит взаимодействовать с сервером, в Rest API используются такие CRUD методы: get(получить данные), post(отправить данные), put,patch(обновить данные) и delete соответсвенно удалить

Подробнее можно посмотреть в видео ниже: