IT Верстальщик
1.27K subscribers
50 photos
1 video
239 links
Авторский блог про веб-разработку

Подборки сервисов, статей и новостей в мире front-end и back-end

Для рекламы: @devtgram
Download Telegram
​​Граница между front-end и back-end?

1. Создание UI/UX, разметки, стилизации и логики фронта - это фронт-эндер.
2. JS и архитектура фронт-приложения.
3. Чтобы правильно создать архитектуру, нужно понимать все возможные интерфейсы взаимодействия с бэком. Затем, оформить их для обмена данными с бэком.
4. Для этого - нужно знать: какие протоколы обмена данными с сервером предоставляет браузер, какие используются форматы передачи данных, логика функционирования общения с бэком: "запрос-ответ" (в разных режимах: запрос/поток, синхронно/асинхронно, и т.д.) и как их все вместе правильно использовать.

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

Отмечу отдельно, это не значит что нужно с головой падать, пытаться стать фулстеком. знать всё и тп. Нет, я имею ввиду что понимание работы бекенда, а значит и умение делать некоторые вещи, должны будут и прийдут при активной работе и роста вас как специалиста. Это же касается тех же софт скилз и менеджерских умений.
​​70 вопросов по JavaScript для подготовки к собеседованию
​​Требования к современной верстке:

1. Media queries; знание mobile first верстки;
2. Адаптивная и кроссбраузерная (да в 2к20 иногда приходится поддерживать IE, к тому же в Mozilla и Safari все может выглядить иначе) верстка;
3. Flex box;
4. CSS grids;
5. SASS/SCSS/PostCSS (и плагины к нему);
6. Шаблонизаторы ( pug, nunjucks) и сборщик Gulp;
7. Знание современных HTML тэгов;
8. Базовые знание JQuery и отличные знания и понимание "ванильного" JS и ES6+ Javascript стандартов;
9. Паттерны верстки;
10. Понимание и использование на практике Bootstrap сетки и самого CSS фреймворка.
​​Как происходит процесс верстки на React?

Верстка в реакте по определению связана с компонентом неразрывно, если наверстать что-то в html то потом переделывать под реакт - столько же работы если не больше.

есть несколько вариантов:
1. создание UI - библиотеки компонентов, из которых уже разработчики строят что им нужно. Это требует грамотного подхода, но если сделано как надо - то весьма удобно. Разработчик в идеале вообще ни одного html тега не пишет - везде просто компоненты из библиотеки. на элементы и на лэйаутинг. Ответственный за библиотеку уже там внутри пишет стили, верстку, обновляет под дизайн и так далее.
2. каждый разработчик создавая компонент сразу продумывает и полностью создает верстку для него.
3. разработчики пилят что-то работающее но выглядящее как мечта кубизма, потом это отдается верстальщику, который уже стизилует, поправляет теги, делает чтобы было хорошо-красиво.

во всех вариантах тот кто отвечает за верстку должен конечно знать JSX и хотя бы базовое представление о том как компоненты рендерятся в DOM-дерево.
​​JavaScript тесты от learn.javascript.ru

На странице вы можете протестировать свои знания JavaScript, выбрав один из тестов.

- Язык JavaScript(Только сам JavaScript, без браузерных и иных расширений)
- DOM, работа со страницей(Элементы, их содержимое, координаты, обработчики событий)
​​Отправка файлов с сайта на почту | SMTP скрипт

PHP скрипт для отправки файлов с формы обратной связи, будет полезен при задаче отправить фотографии, скрипт удобный и легко настраивается, более подробно можете изучить посмотрев урок.
​​Что учить для создания мини CRM системы

Должно быть реализовано на любимом фреймворке
Backend часть
1. Авторизация в CRM системе
1.1 Поля для входа на форме (Email, пароль)
2. Модуль для отображения пользователей системы
2.0 Отображение списка пользователей
2.1 Возможность выставление прав пользователям, список (Администратор, менеджер)
2.2 Поля пользователя (email, пароль, статус)2.3 Удаление и редактирование пользователей
2.4 Смена статуса пользователям, Активный или неактивный
2.5 Редактировать список может только пользователи с правами администратор
3. Раздел отображение заявок
3.1 Вывод списка заявок
3.2 Поля у заявки (Имя клиента, Наименование заявки, наименование товар, телефон, время создания заявки, статус, комментарий, цена)
3.3 Смена статуса заявки (Принята, отказана, брак)
4. Раздел истории изменения заявок
4.1 Каким пользователям были изменены поля у заявки (Имя клиента, Наименование заявки, наименование товара, телефон, время подачи заявки, статус, комментарий, цена)
5. Добавить возможность выгрузки в CSV списка заявок, поля в CSV (Наименование заявки, товар, цена, телефон)

Frontend часть

1. Создать простую форму для отправки заявки
1.1 Поля формы (Имя клиента, телефон, комментарий, товар)
1.2 Список товаров (яблоки, апельсины, мандарины)
​​Для чего используются модули и пространства имен в TypeScript?

Зачем нужны Module и Namespace:

TypeScript появился еще до того, как в JavaScript, на котором он основан, появились какие либо модули, не то что нативные, даже эмуляций вроде commonjs или amd тогда еще не было. В те времена было в норме просто обернуть содержимое файла в замыкание, а потом либо просто подгрузить все файлы через тэг script либо просто соединить эти файлы в один. Наружу же высвечивалась одна единственная переменная, содержащая все публичное апи такого модуля, ее ложили или в глобальный объект или в другую такую-же переменную.
Конструкции module и namespace позволяют упростить создание таких переменных, избавив разработчика от написания однотипного кода. В этом плане они по сути делают одно и то же.
Сейчас это не рекомендованное использование, и стандартный плагин typescript к eslint с настройками по умолчанию запрещает эти конструкции.

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

module позволяют объявить виртуальные модули, о типах которых typescript не знает, например потому что они генерируются сборщиками вроде webpack. Яркий пример тут это css-модули или картинки, которые можно импортировать благодаря webpack, но typescript ничего не знает о их типах, поэтому нужно объявить их в глобальных декларациях
​​Когда использовать ООП?

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

ООП – это управление сложностью/декомпозиция.
если вы делаете разовую маленькую задачу, заморачиваться им нет смысла.
​​Почему верстка на div — не всегда хорошо?

Если все верстать дивами, то в крупном проекте можно потеряться.

Попробуйте использовать несколько из основных HTML5 Tag's такие как:
- header = шапка сайта
- main = оболочка для контента сайта
- footer = футер сайта
-- section = секция отдельных блоков
-- и т.д это тип основные

Дивы стандартные блоки, которые используются там, где нет возможности применить семантические теги. В любых иных случаях должны быть применены семантические теги. Это необходимо для поисковиков и для читабельности вашего кода. Таков стандарт html 5. Если вы не хотите соответствовать современным общепринятым стандартам, вы можете верстать хоть таблицами, но будте готовы к понижению позиций своего ресурса в поисковой выдаче, так же вряд ли кому то в дальнейшем понравится сопровождать ваш код.
IT Верстальщик pinned «​​Подборка интересных материалов для новых подписчиков. Актуально ли изучение Front-end? Python или PHP: Что лучше для верстальщика? Vue или Jquery? ​​Что учить Grid или Bootstrap? ​​Как изучать верстку c переходом на front-end? ​​Что требуется знать…»
​​Шпаргалка Wordpress #1

Ссылка на каталог: <?php echo bloginfo('template_url'); ?>

Шаблон для создания страницы:

<?php
/*
Template Name: lorem
*/
 ?>

Ссылка на изображение:

style="background-image: url('<?php echo bloginfo('template_url'); ?>/img/wallpaper.jpeg');"

Вывод статей: 

 <?php

$args = array(
 'numberposts' => 7,
 'category_name' => 'post',
 'orderby' => 'date',
 'order' => 'DESC',
 'include' => array(),
 'exclude' => array(),
 'meta_key' => '',
 'meta_value' => '',
 'post_type' => 'post',
 'suppress_filters' => true,
);


$posts = get_posts( $args );

foreach ($posts as $post){ setup_postdata($post);
 ?>

Контент


      <?php
   }

   wp_reset_postdata();

      ?>
​​Как закреплять основы javascript на практике?

1. Попытайтесь писать код без постоянно открытой документации или вообще оффлайн. Только Вы и Javascript

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

2. Берите большие проекты на GitHub, пытайтесь вникнуть в них, конечно сразу получатся не будет.
​​Практика построения объектов

Необходимые знания:

Базовая компьютерная грамотность, базовые знания HTML и CSS, знакомство с основами JavaScript (see First steps and Building blocks) и основами OOJS (Introduction to objects)

Цель:

Получение некоторой практики в использовании объектов и объектно-ориентированных методов в реальном мире
​​SEO продвижение SPA приложений?

Во Vue, хорошо с этим справляется Nuxt.js, но как же другие?

Все поисковики уже индексируют страницы после исполнения JS-скриптов.
Т.е. не важно, что у Вас в SPA и как формируется контент скриптами: все текстовые строки - будут проиндексированы корректно.
Единственное, что важно: если у Вас будет несколько страниц в SPA (для прямого перехода сразу в нужное место внутри SPA через URL) - Вам необходимо это явно указывать:

1. через hash-тэги (в конце URL SPA: /SPA/#!/category/subcategory/....),
2. HTML5-History
3. meta rel ="canonical"
для корректности индексации нескольких виртуальных страниц поисковыми системами.
​​JavaScript Используется только в Frontend?

Возможности JavaScript:

1. Бэкенд на Node.js - довольно популярная ниша сегодня
2. Игрострой - на JavaScript можно управлять контентом в Canvas - чтобы рисовать графику и игры
3. Приложения для PC - Electron
4. Приложения для Android/IOS - React Native
5. В игрострое Unity, Unreal Engine и др. поддерживают JS

Очень активно сегодня используется, например, в Serverless разработке, skill для ассистентов, чатботах.

У JS высокая скорость распространения, так что спрогнозировать насколько он еще распространиться невозможно. Но и на данный момент, он достаточно сильно распространен.
​​JS тесты: Собеседование по JavaScript

Прохождение тестов позволит вам лучше подготовиться или найти пробелы в своих знаниях.
​​Что лучше для серьезной CRM: Vue или React?

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

Как по мне React это что-то для лендингов. Что бы делать какое-то более серьезное приложение - не годится. А vue очень хорошо для больших проектов. Сыроват не vue, сыроваты библиотеки под него, вроде того же bootstrap.

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

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

Про Vue писать много не буду. Если он раньше догонял в силу молодости, то сейчас уже обгоняет старичков, комьюнити растет, появляется множество компонентов
П.С. Сам я во Vue.js
​​JavaScript без верстки

Часто сталкиваетесь с рутиной верстки сайта? Если думали дальше развиваться в JS, попробуйте другие направления в языке:

1) Node.js
2) React-native, nativescript, titanium - для мобильный приложений, там есть подобие html/css, но все же только подобие.
3) https://github.com/kusti8/proton-native - для десктопа без html/css, но с реактом и что-то значительно более нишевое.
4) Ну, или идите в разработку SPA, там минимум верстки.
​​Шпаргалка Woocommerce #1

Вывод товаров Woocommerce

<?php echo do_shortcode('[recent_products] '); ?>


Вывод корзины через шорткод

[woocommerce_cart]

Ссылка для добавления товара в корзину WooCommerce

<a href="/cart/?add-to-cart=<?php the_ID(); ?>">Добавить в корзину</a>

[product] — когда нужно вывести какой-то определённый товар

[product id="122"]