TechRocks
12.9K subscribers
768 photos
15 videos
1 file
2.08K links
Официальный телеграм-канал сайта techrocks.ru

По вопросам рекламы: @aldrson


РКН: https://clck.ru/3R3tTP
Download Telegram
Парное программирование: когда оно полезно, а когда — нет

Знать, как происходит парное программирование, — мало. Нужно разбираться, в каких ситуациях оно поможет ускорить процесс разработки, а в каких — замедлит.

Читать статью
👍7
Как правильно задавать z-index в CSS

#css

z-index не имеет единиц измерения. Результат зависит лишь от величины индекса относительно других таких индексов. Обычно эти значения разбросаны по всему проекту, что зачастую приводит к интересным последствиям. Рассказываем, как можно упорядочить z-индексы.

Читать статью
👍1
6 библиотек JavaScript для создания PDF

#javascript

Обзоры нескольких JS-библиотек для генерации PDF. Они помогут вам подобрать подходящую библиотеку для вашего следующего приложения.

Читать статью
Нативный HTML-элемент dialog и его возможности

#webdev

Все основные браузеры теперь поддерживают элемент dialog. Зачем добавлять этот HTML-элемент? Подобный функционал, особенно в части захвата фокуса, имеет юзерленд-код — код, который разработчики пишут для заполнения пробелов в браузере. Что ж, браузерные движки отреагировали на это, добавив эту функциональность непосредственно в браузер.

Читать статью
Как писать комментарии к JavaScript-коду

#javascript

Написание комментариев имеет решающее значение для читаемости кода, удобства сопровождения и совместной работы разработчиков. Комментарии в JS выступают в роли заметок, они объясняют функции и логику или предоставляют контекст.

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

Читать статью
Docker Compose Watch: попрощайтесь с томами Docker!

#tools

Вы когда-нибудь пытались использовать тома Docker для горячей замены (hot-reloading) в своем веб-приложении? Если вы получили такой же ужасный опыт, как и я, вам понравится новейшая функция, которую только что выпустил Docker: docker-compose watch!

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

Читать статью
2👍1
Управление GitHub-репозиториями: best practices

#tools

Для DevOps-инженера управление GitHub-репозиториями имеет не меньшее значение, чем содержащийся в них код. Хорошо поддерживаемые GitHub-репозитории создают основу для эффективной совместной работы и оптимизированных рабочих процессов. В этой статье мы рассмотрим 10 советов по эффективному управлению репозиториями на GitHub.

Читать статью
Разделение состояния между окнами без сервера

#webdev

Недавно в социальных сетях появилась гифка с удивительным произведением искусства, созданным Бьорном Стаалом.

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

По сути, нужно разделить состояние между несколькими окнами, что, на мой взгляд, является одним из самых крутых аспектов проекта Бьорна!

Не найдя хорошей статьи или руководства по этой теме, я решил поделиться с вами своими находками.

Давайте попробуем создать упрощенный проект на основе работы Бьорна!

Читать статью
🔥8👏1
Топ-10 книг для начинающих разработчиков

Привет, друзья! Мы заметили, что для начинающих программистов часто публикуют статьи с подборками книг по разным языкам. Например, «Лучшие книги для питонистов» или «Топ-10 книг для начинающих JavaScript-разработчиков». А вот подборок книг, которые будут полезны или интересны новичкам всех мастей, гораздо меньше. В нашей статье вы найдете именно такую подборку книг.

Читать статью
👍5
Асинхронные итераторы в JavaScript

#javascript

Некоторое время назад я опубликовал на своем Medium статью, в которой рассказал о протоколе Iterator и его пользовательском интерфейсе. Однако в дополнение к таким API, как Promise.finally, ECMAScript 2018 принес нам еще один способ работы с итераторами. Это асинхронные итераторы.

Читать статью
Как я обучаю использованию Git

#git

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

Моя цель — не научить вас пользоваться Git, а поделиться своим подходом к обучению Git, чтобы другие люди, которые будут учить начинающих, могли вдохновиться.

Читать статью
👍41
Проверка пользовательского ввода в Python

#python

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

Читать статью
🔥1😁1
Используйте не запрещающие, а разрешающие CSS-селекторы

#css

Небольшая заметка о том, что лучше использовать селекторы, включающие какие-то правила, а не отключающие их.

Читать статью
Отладка кода при создании собственных проектов

Ах, радость кодинга! Вы работаете над своим проектом, и вдруг — бац! — обнаруживаете ошибку. Это все равно что уткнуться в стену в лабиринте.

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

Читать статью
👎2😁1
9 проверенных IT-курсов на Udemy

Чтобы успешно развиваться и осваивать ИТ-профессии, требуется постоянное обучение. Но есть проблема выбора – на рынке существует очень большое предложение курсов и для новичков, и для опытных специалистов.

В дайджесте на vc.ru и Medium Сергей Филатов, руководитель отдела продуктовой аналитики в QIC digital hub, подобрал курсы Udemy для разных целей и уровня подготовки в области data science, machine learning и бизнес-аналитики.
👍2
Как при помощи JavaScript определить, включен ли Caps Lock

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

Чтобы отслеживать, включен ли Caps Lock, мы используем метод getModifierState:

document.querySelector('input[type=password]').addEventListener('keyup', function (keyboardEvent) {
const capsLockOn = keyboardEvent.getModifierState('CapsLock');
if (capsLockOn) {
// Предупредить пользователя, что caps lock включен?
}
});


Я прежде никогда не встречал getModifierState, так что заглянул в документацию W3C, чтобы познакомиться с его значениями:

dictionary EventModifierInit : UIEventInit {
boolean ctrlKey = false;
boolean shiftKey = false;
boolean altKey = false;
boolean metaKey = false;

boolean modifierAltGraph = false;
boolean modifierCapsLock = false;
boolean modifierFn = false;
boolean modifierFnLock = false;
boolean modifierHyper = false;
boolean modifierNumLock = false;
boolean modifierScrollLock = false;
boolean modifierSuper = false;
boolean modifierSymbol = false;
boolean modifierSymbolLock = false;
};


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

Источник - https://davidwalsh.name/detect-caps-lock
6👍4
Как использовать селектор :has() в CSS

#webdev

Селектор :has() предлагает новый уровень гибкости и возможностей в CSS, позволяя писать более чистые и эффективные таблицы стилей.

Читать статью
👍2
Сортировка веток Git

Запустив git branch в репозитории, вы обычно получаете список веток в алфавитном порядке. Это может раздражать, когда у вас много веток (если только у вас нет очень жесткой системы именования по номеру тикета или чего-то подобного).

Но это можно изменить!

Выполните в вашем репозитории следующую команду:

git branch --sort=-committerdate


Это отсортирует все ваши ветки по дате их последнего коммита!

Для сортировки доступны следующие опции:

- authordate
- committerdate
- creatordate
- objectsize
- taggerdate

Кроме того, если хотите всегда сортировать по одному из этих параметров, можно установить это в настройках:

git config --global branch.sort -committerdate


Также можно задать псевдоним:

git config --global alias.brcd "branch --sort=-committerdate".

Успешных коммитов!

Источник - «Sorting Git branches».
👍14
Как объявить массив в bash

#bash

Bash-скрипты полезны для автоматизации консольных команд. А массивы — отличный инструмент для хранения набора данных. Объявлять массив в bash не сложно, однако синтаксис отличается от синтаксиса массивов в языках программирования.

Читать статью
👍4😐2
Уменьшаем время загрузки сайта

#webdev

Если сайту не удается предоставить хороший UX, то скорее всего - из-за плохо оптимизированного фронтенда. Чаще всего дело бывает в загрузке данных и изображений. Давайте разберемся, что и как можно улучшить.

Читать статью