Алексей Соин · zencod.ru
19 subscribers
165 photos
16 videos
4 files
1K links
Статьи по разработке

- frontend
- backend
- server

zencod.ru
Download Telegram
Linux. Midnight Commander (mc) горячие клавиши (hot keys)

Сегодня мы поговорим о горячих клавишах (hotkey) Midnight Commander (mc). МС это файловый менеджер, существуют версии под Linux и Windows, мы будем рассматривать хот кей под Linux. Знание комбинаций клавиш позволяет значительно повысить удобство и скорость работы.

https://bookflow.ru/linux-midnight-commander-mc-goryachie-klavishi-hot-keys/

👉 @i_odmin_book
9 алгоритмов сортировки и поиска для JS, о которых вас спросят на собеседовании

https://habr.com/ru/companies/simbirsoft/articles/769312/
Forwarded from FrontEndDev
Развлекаемся с Gamepad API

О том, какие возможности предоставляет Gamepad API + реализация простой игры, управляемой с геймпада.

https://alvaromontoro.com/blog/68044/playing-with-the-gamepad-api
Генерация аватаров с инициалами на PHP

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

https://tqdev.com/2022-generate-avatars-initials-php

👉 @php_lib
Красота не только в коде — как оформлять репозиторий

https://habr.com/ru/articles/774922/
This media is not supported in your browser
VIEW IN TELEGRAM
Что происходит, когда вы вводите в браузер URL-адрес?

Давайте рассмотрим этот процесс пошагово.

Шаг 1. Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Сопоставление обычно хранится в кэше, поэтому браузер ищет IP-адрес в нескольких уровнях кэша: кэше браузера, кэше ОС, локальном кэше и кэше провайдера. Если браузер не смог найти сопоставление в кэше, он обращается к DNS (Domain Name System) resolver для его разрешения.

Шаг 2. Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.

Шаг 3. Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP. Затем он посылает открытый ключ клиенту. Клиент использует открытый ключ для шифрования сеансового ключа и отправляет его серверу. Сервер использует закрытый ключ для расшифровки сеансового ключа. Теперь клиент и сервер могут обмениваться зашифрованными данными с использованием сеансового ключа.

Шаг 4. Сервер обрабатывает запрос и отправляет ответ. Для успешного ответа код состояния равен 200. Ответ состоит из трех частей: HTML, CSS и Javascript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое и показывает его пользователю.

👉 @i_odmin_book
Улучшаем возможности PM2 с помощью дополнительных модулей автоскейлинга и мониторинга

https://habr.com/ru/articles/778316/
Новости с книжных полок: нужно ли программистам читать книги

https://habr.com/ru/companies/sberbank/articles/778310/
Кастомизируем VS Code для веб-разработки

https://habr.com/ru/companies/kts/articles/779670/
Роадмэп по современному фронтенду от KTS

https://habr.com/ru/companies/kts/articles/775948/
Forwarded from ServerAdmin.ru
​​У меня дома есть NAS и на всех компах и ноутах подключены сетевые папки. Домашние слабо представляют, как всё это работает. На смартфоне использую TotalCommander с плагином для доступа к тем же сетевым папкам. Жена наверное через TG или VK перекидывает файлы. По-другому вряд ли умеет. Детям это пока не надо.

Есть простое и удобное open source решение для этого вопроса - LocalSend. Поддерживает все операционные системы, в том числе на смартфонах. Это небольшое приложение, которое запускается на определённом порту (53317), принимает входящие соединения и с помощью нескольких методов (описание протокола, в основе поиска Multicast UDP, если не помогает, то POST запрос на все адреса локальной сети) осуществляет поиск таких же серверов в локальной сети. Передача данных осуществляется по протоколу HTTP.

На практике всё это работает автоматически. Приложение под Windows можно поставить, к примеру, через wingwet или скачать portable версию. На смартфоне ставим через Google Play, F-Droid или просто качаем apk. Работает всё в локальной сети, без необходимости каких-то внешних сервисов в интернете. Запускаем на обоих устройствах приложение, они сразу же находят друг друга. Можно передавать файлы. При этом можно на том же компе настроить такой режим, чтобы он автоматом принимал файлы со смартфона и складывал в определённую директорию.

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

Мне иногда надо сыну передать со своего смартфона из родительского чата информацию от учителя с пояснениями по домашке. Я для этого делал скриншот чата, клал его на NAS, на компе с NAS копировал сыну. Через приложение передать в разы удобнее. Запустил прогу и перекинул на комп с именем СЫН. Всё. Мессенджеров и соц. сетей у него пока нет.

Это приложение, которое я попробовал и сразу развернул на всех устройствах. Жене очень понравилось.

Отдельно отмечу, что приложение написано на языке программирования Dart. Впервые о нём услышал. Сначала показалось, что это типичное приложение на JavaScript под NodeJS. Но смутил небольшой размер. После этого и пошёл смотреть, на чём написано. Оказалось, что этот язык программирования разрабатывает Google как раз для замены JavaScript, взяв от него всё лучшее, но исправив недостатки. В целом, выглядит всё это неплохо.

⇨ Сайт / Исходники

#fileserver
Forwarded from TechRocks
​​В чем разница между : и :: в CSS?

#css

Если вы хотите быстро получить ответ на вопрос из заголовка статьи, то вот он:
- : относится к псевдоклассам, таким как :visited или :hover
- :: — для псевдоэлементов, таких как ::first-of-type или ::after

А если хотите более подробных объяснений, давайте рассмотрим примеры.

Читать статью
Forwarded from Frontender's notes [ru]
​​🕵‍♀Следим и вычисляем с Vue 3, или Как использовать watchEffect

В этой статье разберем новый метод слежения за реактивными свойствами watchEffect.

Читать...
Ультрабюджетный домашний сервер и что он может

https://habr.com/ru/companies/ruvds/articles/773946/
​​⭐️Как внедрить гайд по стилю кода в проект

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

Читать...
Вопросы и ответы для собеседования на позицию frontend-разработчик. Часть 2 / Хабр
https://habr.com/ru/articles/785596/
Скрытые возможности элемента <input>

https://habr.com/ru/companies/ruvds/articles/785690/
Forwarded from mefody.dev
Альтернатива live-server

Мне часто нужно запустить какую-нибудь html-страничку на мини-сервере, чтобы и айфреймы в ней работали нормально, и по локальной сети пошарить (с телефона открыть). И обычно я для этого использую npm-пакет live-server. Запускаешь npx live-server, ждёшь минуту скачивания зависимостей, профит. Или ставишь глобально, чтобы ждать минуту всего один раз.

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

Оба пакета, если что, давно не обновляются на github, но это не делает их устаревшими: свою работу выполняют отлично.

https://github.com/lukejacksonn/servor
https://github.com/tapio/live-server
Когда система подтормаживает, разобраться поможет:

ps aux --sort=-%cpu | grep -m 11 -v 'whoami'
Этой командой получим список из 10 (не ваших) процессов, которые больше всего нагружают процессор.

Либо можем получить весь список процессов, которые были запущены не вами:
ps aux | grep -v 'whoami'

Так смотрим список самых загруженных (в более читаемом виде):
ps -eo pid,ppid,%mem,%cpu,comm --sort=-%cpu | head