Как стать автором
Обновить
12
Карма
0
Рейтинг
Лёша Огоньков @leshaogonkov

Фронтенд разработчик

Как повысить эффективность Bash-скриптов

Время прочтения 10 мин
Просмотры 11K
Блог компании Southbridge Настройка Linux *Системное администрирование *Разработка под Linux *

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

Читать далее
Всего голосов 20: ↑15 и ↓5 +10
Комментарии 14

Как работают браузеры. Часть 2: парсинг и выполнение JS

Время прочтения 9 мин
Просмотры 17K
Блог компании KTS JavaScript *Браузеры
Перевод

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

В прошлой статье мы обсудили навигацию и получение данных. Сегодня поговорим о HTML- и CSS-парсинге и выполнении JavaScript.

Содержание:

1. HTML-парсинг:
— Парсинг
— Браузерные движки
— Токенизация
— Построение DOM
— Предварительные загрузчики и ускорение страницы

2. CSS-парсинг:
— Токенизация и построение CSSOM

3. Выполнение JavaScript:
— Движки JavaScript
— Компиляция
— Интерпретация
— Комплияция Just-In-Time
— Как обрабатывается код JavaScript

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 2

Проверяем, есть ли у нативной JavaScript‑функции манкипатч

Время прочтения 7 мин
Просмотры 4.5K
JavaScript *
Из песочницы
Перевод

Как можно понять, была ли переопределена нативная JavaScriptфункция? Никак — или не совсем надежно. Способы есть, но полностью доверять им нельзя.

Узнать способы
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 1

Как посчитать длину текста и не привлекать внимание санитаров

Время прочтения 10 мин
Просмотры 25K
Блог компании AvitoTech JavaScript *
Туториал
✏️ Технотекст 2022

Привет! Меня зовут Алексей Ивасюта, я фронтенд-разработчик в Авито в кластере Seller Experience. В этой статье я расскажу, как правильно рассчитать длину текста в Java Script. Эта статья будет одинаково полезна как начинающим разработчикам, так и весьма опытным. Благодаря ей вы поймете устройство Unicode и особенности его работы в JS.

Читать далее
Всего голосов 73: ↑72 и ↓1 +71
Комментарии 57

Ультимативный гайд по дизайн-токенам

Время прочтения 20 мин
Просмотры 15K
Блог компании Usetech Дизайн
Туториал

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

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

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

Меня зовут Женя, я руководитель UX-направления в компании Usetech. На досуге веду телеграм-канал «Мамкин Дизайнер», где рассказываю о вот таких штуках.

Я сам — дизайнер, но мне важно было понять, что такое дизайн-токены, как они работают, как компилируются из JSON и как помогают в работе.

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

Память в браузерах и в Node.js: ограничения, утечки и нестандартные оптимизации

Время прочтения 32 мин
Просмотры 27K
Блог компании Яндекс Разработка веб-сайтов *JavaScript *Интерфейсы *Node.JS *
✏️ Технотекст 2022

Интро: почему я написал эту статью


Меня зовут Виктор, я разрабатываю страницу результатов поиска Яндекса. Несмотря на внешнюю простоту, поисковая выдача — сложная штука: на каждый запрос генерируется своя уникальная страница, на которой в зависимости от запроса может присутствовать блок Картинок, Карты, Переводчик, видеоплеер и многие другие компоненты. Все они должны запускаться и работать в памяти обычных бюджетных телефонов, которые использует большинство наших пользователей. Браузерам должно хватать ресурсов, чтобы пользователь не видел вот такого:



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


Разрабатывая проект на JavaScript (TypeScript, ClojureScript или каком-то другом языке, транслируемом в JavaScript), мы привыкли создавать объекты, массивы, строки и вообще писать код, как будто память бесконечна. Это не так. Я расскажу о видах проблем с памятью, о том, какие ограничения мы часто забываем и как их можно преодолеть. В ответ браузеры и пользователи скажут вам спасибо.


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

Пожалуйста, прекратите писать shell-скрипты

Время прочтения 5 мин
Просмотры 69K
Блог компании OTUS Настройка Linux *
Перевод

Когда вы автоматизируете какую-либо задачу, например, упаковываете свое приложение для Docker, то часто сталкиваетесь с написанием shell-скриптов. У вас может быть bash-скрипт для управления процессом упаковки и другой скрипт в качестве точки входа в контейнер. По мере возрастающей сложности при упаковке меняется и ваш shell-скрипт.

Все работает хорошо.

И вот однажды shell-скрипт совершает что-то совсем неправильное.

Тогда вы осознаете свою ошибку: bash, и вообще shell-скрипты, в основном, по умолчанию не работают. Если с самого начала не проявить особую осторожность, любой shell-скрипт достигнув определенного уровня сложности почти гарантированно будет глючным... а доработка функций корректности будет довольно затруднительна.

Читать далее
Всего голосов 116: ↑92 и ↓24 +68
Комментарии 251

Как составлять CV для международных компаний

Время прочтения 4 мин
Просмотры 14K
IT-стандарты *IT-эмиграция Карьера в IT-индустрии

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

Но, прежде чем рассылать резюме и отклики на подобные вакансии важно привести свое СV в принятый в Европе и Америке вид.

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

Cron — лучшие практики

Время прочтения 9 мин
Просмотры 30K
Блог компании SkillFactory Настройка Linux **nix *Лайфхаки для гиков
Перевод

Планировщик задач cron(8) существует с 7 версии Unix, а его синтаксис crontab(5) знаком даже тем, кто нечасто сталкивается с системным администрированием Unix. Это стандартизированный, довольно гибкий, простой в настройке и надёжно работающий планировщик, которому пользователи и системные пакеты доверяют управление важными задачами. Материалом о лучших практиках работы с cron делимся к старту курса по Fullstack-разработке на Python.

Читать далее
Всего голосов 41: ↑38 и ↓3 +35
Комментарии 45

Создание красивых градиентов на CSS

Время прочтения 5 мин
Просмотры 17K
CSS *Работа с векторной графикой *Графический дизайн *Дизайн
Перевод
Вот линейный градиент на CSS, идущий от чисто жёлтого до чисто синего цвета:


Заметили, что в центре он становится бледным и грязным?

Это явление Эрик Кеннеди назвал «мёртвой зоной серого». Если вы тщательно не выбираете цвета для своих градиентов, то в ваших градиентах на CSS часто возникает такая обесцвеченная часть посередине.

Однако, как оказалось, можно полностью избавиться от мёртвой зоны серого. В этом посте я расскажу, почему она возникает, и о том, как можно использовать теорию цвета для создания насыщенных, ярких градиентов, «живых» по всей своей длине.
Читать дальше →
Всего голосов 67: ↑63 и ↓4 +59
Комментарии 30

UX-текст на языке Шекспира: заповеди, грехи и табу

Время прочтения 16 мин
Просмотры 12K
Блог компании Plesk Интерфейсы *Терминология IT Контент-маркетинг *

Изменив одно местоимение, можно на 90% увеличить показатель кликабельности (CTR) кнопки, которая приведет новых пользователей. Дописав одно предложение, можно увеличить количество оплаченных покупок и снизить нагрузку на саппорт. Поставив одну запятую, можно было бы сохранить 5 миллионов долларов. ОК, третий пример про договоры, но все равно показателен.


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


Исследование Nielsen Norman Group показало, что лаконичный, объективный (без маркетологического хвастовства) текст, который легко читается пользователем, увеличивает юзабилити сайта на 124%. Только текст. UX и навигацию не трогали.


В вашем продукте (сайте, программе, приложении и т.д.) есть английский текст, и вы хотите, чтобы он приносил вам выгоду, а не просто занимал место? Читайте статью дальше. Я расскажу, как писать по-английски нужно, и как не нужно.

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

Безопасный CSS, или как писать универсальные стили

Время прочтения 11 мин
Просмотры 28K
CSS *HTML *
Из песочницы
Перевод

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

Читать статью
Всего голосов 30: ↑28 и ↓2 +26
Комментарии 12

Как писать условия в JSX

Время прочтения 7 мин
Просмотры 15K
JavaScript *Программирование *HTML *ReactJS *TypeScript *
Перевод

Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в 🇩🇪 Германии. А еще я автор телеграм канала Хороший разработчик знает, где рассказываю обо всем, что обычно знает хороший разработчик.

Сегодня я хочу поговорить про React и JSX. Почти в каждом проекте мы пишем JSX шаблоны, которые рендерятся в зависимости от условий. Делаем ли мы это правильно? Это перевод оригинальной статьи.

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

Кибербезопасность для самых маленьких

Время прочтения 10 мин
Просмотры 26K
Настройка Linux *Информационная безопасность *PostgreSQL *Программирование *Nginx *
Туториал

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

Цель статьи - поделиться практиками, которые я применил для защиты данных при поднятии собственного VPS в публичной сети. Всегда, когда твой IP открыт всему Миру напоказ и доступен извне внутренних контуров сети - это означает, что любой прохожий может устроить тебе неприятности: похитить твои данные, завладеть твоим сервером и сломать твое замечательное приложение. Я буду приводить пример атаки, показывать, как ее можно заметить и после этого будем разбирать возможные способы защиты.

Защитить данные!
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 32

Эффектное программирование. Часть 1: итераторы и генераторы

Время прочтения 5 мин
Просмотры 10K
JavaScript *Программирование *
Из песочницы
Javascript на данный момент является самым популярным языком программирования по версиям многих площадок (например Github). Является ли при этом он самым продвинутым или самым любимым языком? В нём отсутствуют конструкции, которые для других языков являются неотъемлемыми частями: обширная стандартная библиотека, иммутабильность, макросы. Но в нём есть одна деталь, которая не получает, на мой взгляд, достаточно внимания — генераторы.

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

while (true) {
    const data = yield getNextChunk(); // вызов асинхронной логики
    const processed = processData(data);
    try {
        yield sendProcessedData(processed);
        showOkResult();
    } catch (err) {
        showError();
    }
}

Это первая, пилотная часть: Итераторы и Генераторы.
Часть 2
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 21

Стилизация старого доброго элемента button

Время прочтения 17 мин
Просмотры 139K
Блог компании RUVDS.com Разработка веб-сайтов *CSS *JavaScript *HTML *
Перевод
Кнопка — это один из тех элементов, которые чаще всего используются на веб-страницах. Тег <button></button> может быть применён для запуска некоего процесса вроде вывода данных, открытия модального окна, отправки формы и так далее. В материале, перевод которого мы публикуем, речь пойдёт о тонкостях стилизации элемента button и о том, как оформлять кнопки с учётом того, чтобы они хорошо работали бы в любых браузерах. Кроме того, тут будет рассмотрено большинство часто используемых стилей кнопок. Поговорим мы здесь и о некоторых сложностях, которые возникают при работе с кнопками.


Читать дальше →
Всего голосов 49: ↑49 и ↓0 +49
Комментарии 11

13 инструментов для обработки текста в командной оболочке

Время прочтения 17 мин
Просмотры 54K
Блог компании ITSumma Настройка Linux *Системное администрирование *Серверное администрирование *Софт
Туториал
Перевод
Здесь представлен фрагмент будущей книги «Основные инструменты и практики для начинающего разработчика программного обеспечения» Бальтазара Рубероля и Этьена Броду. Книга должна помочь образованию подрастающего поколения разработчиков. Она охватит такие темы, как освоение консоли, настройка и эффективная работа в командной оболочке, управление версиями кода с помощью git, основы SQL, инструменты вроде Make, jq и регулярные выражения, основы сетевого взаимодействия, а также лучшие практики разработки программного обеспечения и совместной работы. В настоящее время авторы упорно работают над этим проектом и приглашают всех поучаствовать в списке рассылки.

Содержание


Читать дальше →
Всего голосов 56: ↑53 и ↓3 +50
Комментарии 63

Интернационализация: как сделать веб доступным для всех

Время прочтения 13 мин
Просмотры 5.8K
Блог компании JUG Ru Group JavaScript *Программирование *
Ecma International, Technical Committee 39 или по-простому TC39 — это группа JavaScript-разработчиков, создателей реализаций технологий, академиков и других заинтересованных сторон, которые вместе с сообществом поддерживают и развивают JavaScript как платформу.

Участники TC39 обычно рассказывают что-то интересное, пользуясь своим глубоким пониманием JavaScript. Но кое-кому кажется, что они слишком далеко ушли от проблем простых разработчиков. Где разработчик языка, и где человек, который каждый день на практике пишет фронтенды?

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



Romulo Cintra — делегат TC39, работает в разработке и архитектуре уже более 10 лет, специализируется на вебе, мобильной разработке и облаках. В этом докладе из первых рук сопредседателя MessageFormat Working Group вы узнаете, какие варианты решения существующих проблем есть уже сейчас, и в каком виде их собираются решать посредством нового API в самом JavaScript.

Под катом полная текстовая расшифровка доклада Romulo и ссылка на видео. Если вы любите читать — в этой статье есть все, вы ничего не пропустите. Если же у вас есть время запустить видеозапись, то вас ждет около часа хорошей видеозаписи с интересными слайдами и понятным английским языком.

Далее повествование от лица спикера.
Всего голосов 27: ↑27 и ↓0 +27
Комментарии 1

Рекомендации по написанию чистого кода на JavaScript

Время прочтения 8 мин
Просмотры 31K
Блог компании RUVDS.com Разработка веб-сайтов *JavaScript *Совершенный код *
Перевод
Если вы заботитесь о самом коде, и о том, как он написан, а не заняты лишь тем, чтобы создавать работающие программы, это означает что вы стремитесь к тому, чтобы ваш код был чистым. Профессиональный разработчик пишет код не только в расчёте на компьютеры, но и в расчёте на себя самого, встретившего этот код в будущем, и в расчёте на других программистов. Код, который вы пишете, не исчезает навсегда в недрах компьютера. Он живёт, изменяется, и, если написан плохо, вполне может сильно расстроить того, кому придётся редактировать его после того, как вы его написали. Вполне возможно, что этим «кем-то» будете именно вы.



Исходя из этих идей, чистый код можно определить как код, написанный так, что он сам себя объясняет. Этот код без труда смогут понять люди, его легко будет модифицировать или расширять.
Читать дальше →
Всего голосов 59: ↑46 и ↓13 +33
Комментарии 14

Задержка EMS-отправления. Как получить компенсацию от «Почты России». Инструкция

Время прочтения 8 мин
Просмотры 35K
Законодательство в IT Лайфхаки для гиков
Из песочницы
Предыстория
История началось с того, что содержимое отправленной посылки – электросамокат доставили с повреждением контролера питания. Проверить такое технически сложное устройство оперативно невозможно. Курьер не будет ждать 4 часа. По регламенту у них на всё до 20 минут. Поэтому получатель подписал акт, что претензий не имеет. Видимых повреждений-то не было. Когда спустя 4 часа самокат не зарядился, затем в другом помещении от другой розетки не зарядился тоже, стало ясно, что устройство повредили во время доставки. Ремонт в сервисном центре оказался не гарантийным, т.е. платным.

В компенсации Почта отказала, т.к. «вы подписали акт, значит претензий не имеете». В суде я бы не смог документально доказать, что на момент отправки устройство было исправным. Честное слово, как известно, к делу не пришьёшь. Самокат, разумеется, изначально был рабочим. Поскольку мне не возместили ремонт, я решил вернуть деньги на другом основании. Из принципа. За нарушение сроков доставки. Подробная история в мотивированном решении суда. На основе полученного опыта пошагово рассказываю, как действовать грамотно, если попадёте в схожую ситуацию.

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

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность