37 ошибок верстальщиков. Не делай так!

Привет! Ошибки допускают все, даже опытные верстальщики. И часто эти ошибки не поддаются никакому объяснению - они просто есть. То класс не так написан, то в сафари все поехало…В общем, в этом видео я хотел бы рассмотреть аж 37 подобных случаев, ошибок, которые не нужно допускать.
В этом видео я не смеюсь над теми, кто их совершает, да даже сам некоторые до сих пор совершаю. Я хочу лишь донести то, что это действительно ошибки, и как их исправить. Поехали!

Содержание:
00:00 - Вступление и критерии верстки
01:30 - Названия классов транслитом
02:38 - Названия классов не по назначению
03:44 - Названия классов верные, но теги - нет
04:40 - Большая длина названий классов
05:28 - Большая вложенность классов
06:40 - Проблема именования в БЭМ - элемент элемента
08:08 - Проблема именования в БЭМ - модификаторы
09:08 - Неверная табуляция кода
10:08 - Неправильная семантика в html
11:00 - Большая вложенность в html
12:26 - Неверное использование заголовков
14:22 - Использование тегов там, где их использовать нельзя
15:52 - Неверное использование ссылок и кнопок
17:48 - Декоративные элементы в html
18:48 - Декоративные изображения в html
19:44 - Проблема переполнения на сайте
21:26 - Не соблюдается базовая доступность
21:53 - Кириллица в названиях классов, картинок и т.д.
23:18 - Использование id для стилизации
24:15 - Бездумное использование br
25:36 - Использование инлайн-стилей
26:15 - Неверное использование абсолютного позиционирования
28:02 - Организация отступов в верстке
29:25 - Использование фиксированной высоты
30:35 - Следите за наследованием шрифтов
31:45 - Ошибки в стилизации textarea
33:52 - cursor: pointer и hover для интерактивных элементов
34:38 - Удаление outline без альтернативы
35:46 - Сброс и нормализация стилей
36:29 - Фоновые изображения и фоновый цвет
37:27 - Дробные пиксели
38:14 - анимация через left вместо transform
39:16 - Большое количество медиа-запросов
40:09 - Использование !important
41:22 - Неверный подход к верстке
42:20 - Несоответствие кодстайлу
43:03 - Кроссбраузерность
43:24 - Проблемы адаптива
44:02 - Заключение

Subscribe : https://www.youtube.com/channel/UCxJyCit95jsb-JLE3kXnq1Q

#web-development

What is GEEK

Buddha Community

37 ошибок верстальщиков. Не делай так!

37 ошибок верстальщиков. Не делай так!

Привет! Ошибки допускают все, даже опытные верстальщики. И часто эти ошибки не поддаются никакому объяснению - они просто есть. То класс не так написан, то в сафари все поехало…В общем, в этом видео я хотел бы рассмотреть аж 37 подобных случаев, ошибок, которые не нужно допускать.
В этом видео я не смеюсь над теми, кто их совершает, да даже сам некоторые до сих пор совершаю. Я хочу лишь донести то, что это действительно ошибки, и как их исправить. Поехали!

Содержание:
00:00 - Вступление и критерии верстки
01:30 - Названия классов транслитом
02:38 - Названия классов не по назначению
03:44 - Названия классов верные, но теги - нет
04:40 - Большая длина названий классов
05:28 - Большая вложенность классов
06:40 - Проблема именования в БЭМ - элемент элемента
08:08 - Проблема именования в БЭМ - модификаторы
09:08 - Неверная табуляция кода
10:08 - Неправильная семантика в html
11:00 - Большая вложенность в html
12:26 - Неверное использование заголовков
14:22 - Использование тегов там, где их использовать нельзя
15:52 - Неверное использование ссылок и кнопок
17:48 - Декоративные элементы в html
18:48 - Декоративные изображения в html
19:44 - Проблема переполнения на сайте
21:26 - Не соблюдается базовая доступность
21:53 - Кириллица в названиях классов, картинок и т.д.
23:18 - Использование id для стилизации
24:15 - Бездумное использование br
25:36 - Использование инлайн-стилей
26:15 - Неверное использование абсолютного позиционирования
28:02 - Организация отступов в верстке
29:25 - Использование фиксированной высоты
30:35 - Следите за наследованием шрифтов
31:45 - Ошибки в стилизации textarea
33:52 - cursor: pointer и hover для интерактивных элементов
34:38 - Удаление outline без альтернативы
35:46 - Сброс и нормализация стилей
36:29 - Фоновые изображения и фоновый цвет
37:27 - Дробные пиксели
38:14 - анимация через left вместо transform
39:16 - Большое количество медиа-запросов
40:09 - Использование !important
41:22 - Неверный подход к верстке
42:20 - Несоответствие кодстайлу
43:03 - Кроссбраузерность
43:24 - Проблемы адаптива
44:02 - Заключение

Subscribe : https://www.youtube.com/channel/UCxJyCit95jsb-JLE3kXnq1Q

#web-development

Duong Tran

Duong Tran

1630959000

Hiển Thị Dữ Liệu Người Dùng Ra View (READ) với ReactJS

Trong video #37, chúng ta đã cùng nhau viết API lấy thông tin tất cả người dúng phía Node.js Server. Trong video này, chúng ta sẽ kết hợp API này với React để hiển thị thông tin người dùng vào một table.
👉 Đây là video 02 trong serires học nhanh CRUD với ReactJS


🧠 Nội dung video:
0:00 Giới thiệu 
0:20 Review bài học trước
1:15 Cách tìm tài liệu
4:15 Nội dung bài học
8:48 Sửa component chính
14:50 Tạo table
22:00 Gọi API
28:15 Sử dụng query param với GET
30:45 Tạo biến lưu state
39:40 Dùng Fragment
52:50 Review các files thay đổi

 #reactjs 

Kole  Haag

Kole Haag

1603962000

Страх и ненависть DevOps-специалиста: что не так с профессией в России

DevOps is an interdisciplinary set of tools that enables continuous development. The professions associated with this methodology are recognized as one of the highest paid. HeadHunter offers more than 1,400 vacancies in Moscow with a specified salary ranging from 100,000 to 425,000 rubles.

However, in Russia a DevOps specialist is a profession that raises questions: there is no independent research expertise of the industry. Alexey Shevchenko, Lead DevOps Engineer at Skillbox Online University, spoke about the Russian reality in the market and the problems of domestic DevOps.

Alexey Shevchenko, Lead DevOps Engineer, Skillbox Online University

What a DevOps engineer does

To begin with, a little history: the term Development Operations, or “operations within development”, was first used by IT consultant Patrick Debois ten years ago. It is a methodology that aims to create digital products more efficiently. DevOps bridges the gap between IT professionals and helps create a product on the pipeline. The methodology uses a whole range of development tools, software engineering, product management and other specialties.

In some ways, DevOps is similar to another family of methods widely used in the industry - agile. Just in case: agile - flexible approaches to a project that reject rigid frameworks and take into account the constantly changing conditions of the external and internal environment. The purpose of these two methodologies is similar: they are needed to make business processes more transparent and efficient, and the final product is of better quality. DevOps is also called the “big brother” of agile. Knowing the factors that lead to long development times and a systematic approach are two prerequisites that enable DevOps to make production continuous and fast.

November 10, Online, Free

The pursuit of a popular methodology

Despite the fashion for DevOps and the attempt by a large number of Russian companies to introduce philosophy into their IT processes, not everyone needs it. Teams that aren’t directly involved in digital product creation don’t need DevOps either. These areas include companies without a direct relationship between revenue and the level of user satisfaction from an IT product. DevOps isn’t good for small businesses either. To introduce a methodology, you need a well-built corporate culture and internal processes. From an economic standpoint, DevOps can often do more harm than good to these companies.

However, the arms race between companies leads to the fact that managers forget about the factors affecting business. In the end, companies can lose both the established system of interaction between employees, and impressive budgets, and potential customers.

However, for large IT companies, financial and commercial enterprises, large industries, the integration of a DevOps culture will bring benefits. For example, in 2017, Alfa-Bank reported that DevOps helped speed up development by 60 times.

Burnout: DevOps employee instead of the whole team

In large companies, DevOps solves a bunch of problems with stability, scaling, workload, and the transition to production. It is difficult for one specialist to cope with such a volume of tasks, so DevOps methods should be applied by an entire department of professionals. In a good scenario, this team includes people with different skills: engineers, process and product managers, system administrators, and so on.

But the usual domestic reality is the hiring of one engineer or a former system administrator, who takes over the DevOps integration. As a rule, the work of not the most competent managers who want instant transformation leads to this state of affairs. A whole mountain of tasks falls on the new employee - single-handedly preparing the environment, setting up servers and databases, laying cables, tracking errors.

As a result, the specialist simply burns out literally after a month of work, and DevOps is not implemented. Everyone remains in the red - companies are disappointed in the methodology and return to the old processes, and the specialist leaves for another position.

#статьи #devops

Оценка мобильных проектов: Как не напугать клиента и не вылететь в трубу

Более 7 лет Максим регулярно занимается оценкой трудоемкости проектов по разработке мобильных приложений и верифицирует оценки коллег. За это время были, разумеется, как успешные случаи, так и провальные. Анализируя и то и другое, Максим постепенно пришел к пониманию того какие факторы наиболее важно учитывать при выполнении оценок, какие ошибки мы наиболее часто совершаем, и как эти ошибки влияют на конечный результат. В докладе спикер хочет поделиться накопленным опытом и убрать с вашего пути некоторые «грабли», чтобы добраться до цели, т.е. объективной и качественной оценки проекта, быстро и безболезненно.

#mobile-apps #developer #programming

Autumn  Blick

Autumn Blick

1602779100

Day 37 — Merge Intervals

Out of Free Stories? Here is my Friend Link.

Introduction🛹

Hey Guys, Today is day 37 of the challenge that I took. Wherein I will be solving every day for 100 days the programming questions that have been asked in previous interviews.

You have a bonus at the end if you keep reading. You can find out the companies that have asked these questions in real interviews.

All these problems are taken from the following e-book. 🎓

This is completely free 🆓 if you have an amazon kindle subscription.

This** e-book contains 100 coding problems** that have been asked in top tech interview questions. It also has a guide to **solving **all the problems in 200+ ways. These problems I assure you has been asked in previous interviews.

You have to decide whether you want to go** unprepared **for a tech interview or go ahead and **quick search for this guide **to solve the 100 problems.

Begin Your ascent to greatness🚀

Note :_ this e-book only contains the __links _to the__solutions.

Day 37 — Merge Intervals 🏁

AIM🏹

Given a collection of intervals, **merge **all overlapping intervals.

Example🕶

Input: [[1,3],[2,6],[8,10],[15,18]]
Output: [[1,6],[8,10],[15,18]]
Explanation: Since intervals [1,3] and [2,6] overlaps, merge them into [1,6].

Code👇

class Solution {
	    public int[][] merge(int[][] intervals) {
	         if (intervals.length == 0) {
	            return new int[0][0];
	        }

	        Arrays.sort(intervals, (i1, i2) -> i1[0] - i2[0]);
	        List<int[]> list = new ArrayList<>();
	        list.add(new int[] {intervals[0][0], intervals[0][1]});
	        for (int i = 1; i < intervals.length; i++) {
	            int[] lastItem = list.get(list.size() - 1);

	            if (intervals[i][0] > lastItem[1]) {
	                list.add(new int[] {intervals[i][0], intervals[i][1]});
	            } else if (intervals[i][1] > lastItem[1]) {
	                list.remove(list.size()-1);
	                list.add(new int[] {lastItem[0], intervals[i][1]});
	            }
	        }

	        int ans[][]= new int[list.size()][2];

	        for(int i=0; i< list.size(); i++)
	        {

	            int arr[] = list.get(i);
	            ans[i][0] = arr[0];
	            ans[i][1] = arr[1];

	        }
	        // int ans[] = new in[2][2];
	        return ans;
	    }
	}

#interview #programming #coding #software-development #java