Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение

Что будет, если у программиста появится хобби кулинария

Время на прочтение12 мин
Количество просмотров13K

Начну издалека, то есть с самого начала. Готовить сам для себя я умел и раньше (до описываемых событий): сварить суп, борщ, пожарить яичницу, картошку - нет проблем. Но готовить что-то конкретно и целенаправленно, да еще и получать от этого удовольствие, мне в голову не приходило. Как-то ползал я по ютубу, пересматривал любимые мультики и попался мне пиксаровский "Рататуй", а в рекомендациях после него выпали ссылки на теоретический ролик про рататуй И. Лазерсона с канала ТВЕда, как сейчас помню. Посмотрел один ролик, другой и понеслась. Лазерсон отличный пропагандист "мужской кулинарии", у него есть настолько завлекательные ролики, после просмотра которых любой мужик, до этого даже не имевший мыслей про кухню, побежит готовить вприпрыжку, я уверен на сто процентов. Ну вот и я втянулся, начал с капустных салатов, потом собственно рататуй (классический, а не Confit Byaldi из мультика), потом различные блюда с курицей и пошло-поехало. Пересмотрел кучу теоретических Лазерсоновских роликов, потом его же кухни народов мира, классические рецепты, потом начал перелезать на других кулинарных блогеров (Обломова, Емельяненко и др.), короче закончилось это тем, что у меня появилась бумажка, на которую я скрупулезно выписывал названия рецептов, которые в будущем хочу готовить, безотносительно каких-то конкретных кулинарных видосов и блогеров (большая часть от Лазерсона конечно, уж так вышло, потому что он среди меня стал первым "кулинарным гуру").

Читать далее
Всего голосов 13: ↑12 и ↓1+16
Комментарии157

Как спарсить любой сайт?

Время на прочтение6 мин
Количество просмотров200K

Меня зовут Даниил Охлопков, и я расскажу про свой подход к написанию скриптов, извлекающих данные из интернета: с чего начать, куда смотреть и что использовать.

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

Узнать как
Всего голосов 64: ↑55 и ↓9+60
Комментарии89

Шпаргалка по JS-методам для работы с DOM

Время на прочтение18 мин
Количество просмотров73K

image


Основные источники



Введение


JavaScript предоставляет множество методов для работы с Document Object Model или сокращенно DOM (объектной моделью документа): одни из них являются более полезными, чем другие; одни используются часто, другие почти никогда; одни являются относительно новыми, другие признаны устаревшими.


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


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


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


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

Читать дальше →
Всего голосов 25: ↑24 и ↓1+33
Комментарии1

Полное визуальное руководство/шпаргалка по CSS Grid

Время на прочтение7 мин
Количество просмотров363K

Сегодня мы с вами рассмотрим свойства CSS Grid (далее также — Грид), позволяющие создавать адаптивные или отзывчивые макеты веб-страниц. Я постараюсь кратко, но полно объяснить, как работает каждое свойство.


Что такое CSS Grid?



Грид — это макет для сайта (его схема, проект).


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


Вот простой пример макета сайта, созданного с помощью Грида.

Читать дальше →
Всего голосов 34: ↑33 и ↓1+39
Комментарии4

Что можно положить в тег <head>

Время на прочтение14 мин
Количество просмотров31K

Рекомендуемый минимум

Ниже приведены основные элементы для любого веб-документа (веб-сайта/приложения):

meta charset — определяет кодировку веб-сайта, стандартом является utf-8.

meta name="viewport" — настройки viewport, связанные с мобильной отзывчивостью

width=device-width — физическая ширина устройства (отлично подходит для мобильных устройств!)

initial-scale=1 — начальный масштаб, 1 означает отсутствие масштабирования

Элементы

Допустимые элементы <head> включают meta, link, title, style, script, noscript и base.

Эти элементы предоставляют информацию о том, как документ должен восприниматься и отображаться веб-технологиями, например, браузерами, поисковыми системами, ботами и так далее.

Читать далее
Всего голосов 35: ↑35 и ↓0+35
Комментарии23

Пишем простейший GitHub Action на TypeScript

Время на прочтение8 мин
Количество просмотров13K

Недавно я решил немного привести в порядок несколько своих .NET pet-проектов на GitHub, настроить для них нормальный CI/CD через GitHub Actions и вынести всё в отдельный репозиторий, чтобы все скрипты лежали в одном месте. Для этого пришлось как следует изучить документацию, примеры и существующие GitHub Actions, выложенные в Marketplace.

В данной статье я решил собрать самую основную информацию, которая нужна для того, чтобы написать простейший GitHub Action с использованием TypeScript.

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии8

React Server-Side Rendering (SSR) — руководство новичка

Время на прочтение24 мин
Количество просмотров102K

В этом уроке мы поговорим о серверном рендеринге (SSR), его преимуществах и подводных камнях. Затем мы создадим мини React проект и express сервер (Node.js), чтобы продемонстрировать, как можно достичь SSR.

Читать далее
Всего голосов 7: ↑6 и ↓1+8
Комментарии3

Server-Side Rendering с нуля до профи

Время на прочтение12 мин
Количество просмотров120K


  • В данной статье мы разберем влияние SSR на SEO оптимизацию приложения.
  • Пройдем с вами путь по переносу обычного React приложения на SSR.
  • Разберем обработку асинхронных операций в SSR приложениях.
  • Посмотрим, как делать SSR в приложениях с Redux Saga.
  • Настроим Webpack 5 для работы с SSR приложением.
  • А также рассмотрим тонкости работы SSR: Генерация HTML Meta Tags, Dynamic Imports, работа с LocalStorage, debugging и прочее.
Читать дальше →
Всего голосов 8: ↑6 и ↓2+8
Комментарии7

Кастомизация профиля GitHub: Readme

Время на прочтение1 мин
Количество просмотров22K


Летом 2020 года на GitHub появилась возможность добавить Readme для своего профиля. Эта новость как-то обошла стороной Habr, поэтому сделаю небольшой обзор данной фичи.
Читать дальше →
Всего голосов 27: ↑24 и ↓3+29
Комментарии10

Монорепозитории NX и Lerna, или Туда и обратно

Время на прочтение12 мин
Количество просмотров15K

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

В скриптах деплоймента (или в моем случае еще и в настройках GitLab репозитория), нужно сформировать токены/ключи доступов к докер реджистри, кубернетесу, разным кластерам и т.д. И если у вас пару сервисов, то это не проблема, но если сервисов 15-20, то это весьма болезненный процесс. Особенно, когда настройки кластера меняются и нужно эти изменения вносить во все репозитории.

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

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

И вот мы решили использовать монорепозиторий, но с чего начать и как все организовать?

Поехали!
Всего голосов 3: ↑3 и ↓0+3
Комментарии4

Путешествие в мир Linux и Git

Время на прочтение9 мин
Количество просмотров31K
Во время пандемии я, честно говоря, не собиралась изучать Linux, не думала, что умение работать в этой ОС сделает меня продуктивнее. Но, как оказалось, Linux-навыки, и правда, помогают мне быстрее справляться с делами. Всё началось с того, что мне посоветовали «взглянуть на Linux». Я тогда подумала, что делать мне, всё равно, нечего, да ещё и сентябрьский выпуск #IBelieveinDoing оказался как раз о Linux.

Я почувствовала, что всё у меня получится, и отправилась в путешествие по миру Linux. В том выпуске #IBelieveinDoing были уроки не только по Linux, но и по Git. Между этими системами можно провести некоторые параллели. Linux — это опенсорсная ОС, которой пользуются программисты, а Git — это система управления версиями, которую применяют для отслеживания изменений в исходном коде при разработке программ. Надо отметить, что изучение Linux и Git оказалось весьма увлекательным занятием. Но Git — довольно сложная система, поэтому и освоить её основы было тяжелее, чем основы Linux.



В этом материале я хочу поделиться с вами тем, что узнала, осваивая Linux и Git.
Читать дальше →
Всего голосов 46: ↑28 и ↓18+25
Комментарии34

Эффективное тестирование верстки

Время на прочтение15 мин
Количество просмотров28K
Тестировать полезно. Тесты позволяют в автоматическом режиме безопасно рефакторить код и гарантируют его работу. Тесты – это живая документация: если информация в Wiki или в Confluence может устареть, то тесты всегда актуальны. Также многие крутые практики связаны с тестированием. Например, самотестирующийся код или разработка через тестирование (TDD), когда тесты пишутся перед кодом, а некоторые практики DevOps и Extreme Programming применимы только в условиях хорошего покрытия проекта тестами.



Но написать простые тесты, которые будут помогать в написании кода и не срывать дедлайны, задача сложная. Она становится ещё сложнее, если учесть, что нам приходится тестировать вёрстку. Это не два JSON сравнить: здесь не работают простые подходы «вызову функцию, проверю результат» — тестирование UI сложнее. Как эффективно и правильно тестировать верстку и писать для неё тесты, чтобы они были полезны, а дедлайны не горели, расскажет Максим Соснов (crazymax11), ведущий разработчик в СКБ Контур.
Всего голосов 21: ↑21 и ↓0+21
Комментарии15

SASS: Оптимизируем media screen

Время на прочтение5 мин
Количество просмотров43K
Приветствую!

Примерно месяц назад я написал статью, в которой выдвинул идею об оптимизации @media screen. Идея заключается в том, чтобы иметь возможность писать значения для всех экранов в одну строку. Более подробно можете почитать по ссылке. Большинство комментариев — это критика относительно реализации, к сожалению идей никто не подкинул. Но если посмотреть с другой стороны, из каждой критики можно вытащить идею, поэтому опираясь на мнение читателей, я поставил себе цель написать миксин, который:

  • легко читается (максимально повторяющий синтаксис sass/scss/css);
  • легко поддерживать (чтобы через год ты понимал, что там написано);
  • гибкий (поддержка максимального количества описаний @media);

Давайте посмотрим, что у меня вышло (репозиторий Github)!
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии20
2

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность