Как стать автором
Обновить

Не стоит недооценивать HTML

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров23K

«HTML – это просто», «Разрабатывать фронтенд проще, чем бэкенд», «После реализации бэкенда обновление UI не должно составлять труда», – за время работы в сфере веб-разработки вокруг меня то и дело звучали эти и другие аналогичные утверждения.

И очень часто они вызывали у меня грусть.

Дело в том, что бо́льшую часть времени я проводила за написанием фронтенда, включая работу с HTML, CSS и JavaScript (по факту в основном TypeScript). Когда кто-нибудь говорит мне о «простоте» моей работы, я начинаю думать, что мои навыки не представляют высокой ценности, и меня может легко заменить любой разработчик…

В статье же я решила описать свои размышления, которые рождались в течение последних двух лет во время работы с людьми из разных команд с разным опытом в HTML-разработке и фронтенд-технологиях в целом. Здесь я озвучу несколько основных своих вопросов «Почему?», сопроводив их возможными ответами.
Читать дальше →
Всего голосов 66: ↑63 и ↓3+60
Комментарии94

Вояджер-1 слышит гул межзвездной плазмы

Время на прочтение4 мин
Количество просмотров9.5K

Обнаружение космическим аппаратом «Вояджер-1» постоянных плазменных волн открывает новые возможности в изучении структуры ближайшего межзвездного пространства на расстояниях вплоть до десятков астрономических единиц.
Всего голосов 57: ↑56 и ↓1+55
Комментарии1

В стратосферу на аэростате от Space Perspective

Время на прочтение3 мин
Количество просмотров1.6K

У вас появилась возможность забронировать место на полет в стратосферу на воздушном шаре – если, конечно, позволит толщина кошелька, ведь стоимость такого удовольствия составит $125 000.

Снимок выше сделан летательным аппаратом «Neptune One» с высоты около 30 километров во время первого испытательного полета 18 июня 2021 года.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии0

Arqit реализует квантовое распределение ключей с помощью спутников в 2023 году

Время на прочтение4 мин
Количество просмотров2.7K

Британская компания Arqit, недавно объявившая о сотрудничестве с военно-промышленной корпорацией Northrop Grumman из США и британским телекоммуникационным гигантом BT, в 2023 году нацелена запустить два спутника, предназначенных для квантового распределения ключей шифрования. Запуск аппаратов планируется произвести на борту судна LauncherOne компании Virgin Orbit с космодрома Корнуолл, Великобритания.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии3

Видеокарта AMD Instinct MI200 Mi-Next получит 128Гб памяти

Время на прочтение2 мин
Количество просмотров3.6K


Графические ускорители AMD следующего поколения Radeon Instinct получат массивный прирост памяти. Об этом стало известно в ходе виртуальной встречи ISC 2021, на которой технический директор Pawsey, Уго Варетто, раскрыл некоторые интересные детали относительно их суперкомпьютера Setonix, системы мощностью 50 петафлопс, работающей на мощнейшем оборудовании AMD.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии4

Загрузка операционной системы с виниловой пластинки

Время на прочтение3 мин
Количество просмотров49K
Большинство компьютеров загружаются с встроенного накопителя. Это может быть обычный жёсткий диск или SSD. Иногда они загружают ОС из сети, или, в крайнем случае, если загружаться больше неоткуда, с USB-флешки или с DVD. Как по мне — так всё это — скука смертная. Как насчёт загрузки ОС с виниловой пластинки?


10-дюймовая пластинка, время проигрывания которой составляет 6 минут 10 секунд при скорости 45 оборотов в минуту — это загрузочный диск DOS размером 64512 байт
Всего голосов 136: ↑131 и ↓5+126
Комментарии204

Кунг-фу стиля Linux: устранение неполадок в работе incron

Время на прочтение11 мин
Количество просмотров7.8K
Возможно, вам знакома утилита cron, которая позволяет планировать запуск различных задач в заданное время. Мы, кроме того, уже говорили о программе incron, которая реагирует не на события, связанные со временем, а на изменения в файловой системе. Возможно, вам когда-нибудь надо было написать программу, которая, например, обнаруживает изменения в файле и автоматически прошивает какой-нибудь контроллер, или делает резервную копию файла, или отправляет файл по электронной почте. Для решения подобных задач вполне можно воспользоваться incron. Мы обсуждали основы incron, но надо сказать, что в работе этой утилиты есть некоторые особенности, которые сильно усложняют поиск и устранение неполадок, возникающих при её применении. Здесь я хочу рассказать о некоторых приёмах, которыми я пользовался для того чтобы привести в рабочее состояние проекты, основанные на incron.

В моём случае речь идёт о разработке простой системы для работы с документами, хранящимися в директории, находящейся под контролем git. А именно, при изменении Markdown-файла с расширением .md, находящегося в этой директории, генерируются эквивалентные ему .docx- и .pdf-документы. Аналогично — при измерении .docx-документа воссоздаются .md- и .pdf-файлы.



Работать с документами можно с помощью pandoc. Эта программа поддерживает множество форматов документов. Главная сложность тут — запуск процедуры сразу после изменения файлов и обработка только тех файлов, которые были изменены. Это — не такая уж и сложная, хотя и нетривиальная задача. Поэтому у меня ушло некоторое время на то, чтобы заставить мою систему правильно работать.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии3

Подробности об использовании CSS-функции minmax() в Grid-макетах

Время на прочтение8 мин
Количество просмотров21K
Существует множество руководств, в которых рассматриваются общие вопросы работы с CSS Grid, с механизмом, позволяющим создавать сеточные макеты. Я и сам немало об этом писал. Но я обратил внимание на то, что у многих разработчиков возникают сложности с использованием CSS-функции minmax(). Пожалуй, дело тут в том, что большинство существующих публикаций на эту тему либо не вдаются в детали, либо не включают в себя достаточного количества пояснений и примеров из реального мира. А minmax() — это очень мощная и полезная функция. Именно по этой причине я и решил написать данную статью. Это — нечто вроде «полного руководства по minmax()», задача которого — дать читателям то, чего не дают им другие публикации на эту тему.



Здесь мы в подробностях обсудим возможности функции minmax() в применении к сеточным макетам, поговорим о том, как, когда и почему ей стоит пользоваться. Тот, кто проработает эту статью, сможет полноценно и со знанием дела применять эту функцию в своих проектах.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии4

Низкоуровневое программирование STM32: от включения питания до «Hello, World»

Время на прочтение10 мин
Количество просмотров52K
В этом материале я хочу рассказать о том, как писать программы для микроконтроллеров (Microcontroller Unit, MCU) Cortex-M, вроде STM32, используя лишь набор инструментов ARM и документацию, подготовленную STMicroelectronics. У некоторых читателей может появиться вопрос о том, почему кому-то это может понадобиться. Если вам эта идея, на первый взгляд, не показалась очень уж страшной, то, возможно, вам будет интересно то, о чём пойдёт речь в этом материале. И, кстати, подумаем о том, кому и зачем это может пригодиться.

Конечно, разрабатывать программы для MCU STM32 можно с помощью существующих фреймворков. Это может быть ST HAL, обычный CMSIS, или даже что-то, более близкое к Arduino. Но… что тут увлекательного? Ведь, в итоге, тот, кто пользуется каким-то фреймворком, полностью зависим от документации к нему и от его разработчиков. И, с другой стороны, если документация к STM32 кажется кому-то, работающему с этой платформой, так сказать, бредом сивой кобылы, то можно ли говорить о том, что этот человек по-настоящему понимает данную платформу?



Поэтому давайте поговорим о низкоуровневом программировании STM32 и доберёмся от включения питания STM32 до «Hello, World».
Читать дальше →
Всего голосов 49: ↑39 и ↓10+29
Комментарии19

Кунг-фу стиля Linux: превращение веб-приложений в полноценные программы

Время на прочтение7 мин
Количество просмотров16K
Мне неприятно это признавать, но я, на самом деле, больше не работаю в Linux на настольном компьютере. С технической точки зрения я, всё же, пользуюсь Linux. Но 95% своих дел я делаю в Chrome. Среди обычных приложений, которые я ещё применяю, остались лишь инструменты разработки, командная оболочка, emacs и GIMP. А если бы мне было очень надо, то я, возможно, нашёл бы браузерную замену всем этим программам. Почтовый клиент? Gmail. Ведение блога? WordPress. Заметки? OneNote или Evernote. Хорошо бы запускать это всё в виде полноценных приложений, а не открывать во вкладках браузера. Сегодня я расскажу о том, как это сделать.


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

Кунг-фу стиля Linux: утилита marker и меню для командной строки

Время на прочтение7 мин
Количество просмотров8.2K
Командная строка… Её можно любить или ненавидеть, но тому, кто пользуется Unix-подобными операционными системами, без неё не обойтись. Облегчить работу в командной строке можно с помощью утилиты marker. В её репозитории о ней говорят как о «панели команд для терминала». Полагаю, это — довольно полезная программа. Не могу подобрать точное сравнение для её описания. Не знаю, похожа ли она на продвинутую историю команд, или на систему управления закладками. Пожалуй, в ней есть немного и того и другого.



История работы с командами теряется, она содержит множество мелких команд (хотя, чтобы в историю не попадали бы определённые команды, можно воспользоваться переменной окружения HISTIGNORE). А при использовании marker можно сохранить определённые команды, после чего они уже не потеряются. В хранилище marker не попадает ничего лишнего, а то, что было сохранено, никуда не девается.

Конечно, можно просто написать скрипт, или создать псевдоним, и тем самым упростить работу с командами. Утилита marker позволяет добавлять к командам описания, среди сохранённых команд можно искать нужные, пользуясь инкрементальным нечётким поиском. Кроме того, в командах, сохранённых в marker, можно использовать местозаполнители, которые, при использовании команд, заменяются на реальные данные. В программе, сразу после установки, имеется встроенный список команд. Закладки marker можно использовать и в bash, и в zsh, что пригодится тому, кто применяет обе эти командные оболочки.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии4

Реставрация легендарной 37-летней IBM Model F

Время на прочтение5 мин
Количество просмотров11K


Мне захотелось поделиться своим опытом возвращения механической клавиатуре IBM Model F XT 1983 года ее былого шика. Я от и до расскажу вам весь процесс, включая описание шагов, ошибок и дополнительного оборудования, которое мне потребовалось для подключения этого раритета к современному ПК. Данная статья посвящается моему отцу, который познакомил меня с миром компьютеров.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии24

Интеграция чат-бота Dialogflow с Angular-приложением

Время на прочтение5 мин
Количество просмотров3.6K
Существует множество публикаций о разработке чат-ботов с использованием возможностей платформы Dialogflow. Но для выхода на решение, которое применимо на практике, просто создать бота недостаточно. Бота надо подключить к веб-интерфейсу. Это — интересная и сложная задача. Чат-боты используются в различных веб-проектах, в том числе тех, которые созданы с использованием Angular — популярного, постоянно развивающегося фреймворка для разработки веб-приложений. Сегодня мы поговорим о том, как интегрировать чат-бота Dialogflow с Angular-приложением.


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

Олдскульный кассетный магнитофон и новые «кассеты»

Время на прочтение9 мин
Количество просмотров13K
Однажды на Instructables я увидел проект, который лёг в основу моей идеи, о реализации которой я хочу сегодня рассказать. Автор этого проекта, пользователь с ником Ananords, создал проигрыватель с RFID-управлением, рассчитанный на детей и на людей, которые по каким-то причинам не могут пользоваться обычными MP3-плеерами. Тот проект назывался Juuke. Ananords создал его для бабушки своей возлюбленной. Это — устройство, которое отлично подойдёт людям с синдромом Альцгеймера или с деменцией. Эта особенность проекта меня зацепила, так как нечто подобное случилось с моей бабушкой, болезнь забрала её у нас, и я знал о том, что проигрыватель, о котором пойдёт речь, ей бы понравился.



Всё работает следующим образом: имеется проигрыватель с двумя кнопками. Одна позволяет включить музыку или поставить воспроизведение на паузу, а вторая позволяет перемешать композиции. Кроме того, можно выбрать RFID-карту и поднести её к читающему устройству, что позволяет включить конкретную композицию. Это, по своей сути, воспроизводит процесс прослушивания музыки в давние времена, когда для включения нужной записи надо было вставлять в проигрыватель обычный CD или обычную кассету. Но тут старый подход дополнен новыми технологиями, что позволяет облегчить прослушивание музыки людьми с определёнными ограничениями.
Всего голосов 43: ↑40 и ↓3+37
Комментарии10

Кунг-фу стиля Linux: бесплатный VPN по SSH

Время на прочтение7 мин
Количество просмотров35K
Если вы видите на некоторых сайтах множество рекламных баннеров, то вы знаете, что, если не будете пользоваться VPN (Virtual Private Network, виртуальной частной сетью), хакеры очень скоро захватят и разорят ваш компьютер и сожгут ваше жилище. Ну, они, по крайней мере, точно что-то такое задумывают. На самом же деле существует две основных причины, по которым кому-то может понадобиться VPN-подключение. Можно, конечно, купить подписку на соответствующий сервис, но если у вас есть SSH-доступ к какому-нибудь компьютеру, имеющему выход в интернет, это значит, что вы можете создать собственный VPN-сервис, не потратив на это ни копейки.

Основная идея тут заключается в том, чтобы подключиться к удалённому компьютеру, находящемуся в некоей сети, и сделать так, чтобы весь ваш сетевой трафик выглядел бы для той сети как локальный.



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

Вторая причина — это скрытие реального местоположения пользователя от любопытных глаз. Предположим, кому-то нравится смотреть видеоматериалы BBC, но живёт он в Эквадоре. Это значит, что для того чтобы видео не были бы для него заблокированы, ему нужно будет подключиться по VPN к сети, находящейся в Великобритании. Если власти некоей страны мониторят и цензурируют интернет, то жителям этой страны тоже может пригодиться возможность замаскировать свой трафик.
Читать дальше →
Всего голосов 45: ↑38 и ↓7+31
Комментарии9

Технологии и инструменты, на которые стоит обратить внимание в 2021 году

Время на прочтение5 мин
Количество просмотров12K
Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о технологиях и инструментах из сфер DevOps и SRE, на которые, как он полагает, стоит обратить внимание в 2021 году.


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

Расширение возможностей Raspberry Pi с помощью загрузочного NVMe-диска

Время на прочтение4 мин
Количество просмотров41K
Возможности подсистемы хранения данных одноплатного компьютера Raspberry Pi можно расширить, подключив к нему NVMe-диск. Такие диски обычно подключают к PCIe, что даёт им потенциальную возможность считывать и записывать данные на скорости более 3000 Мб/с.

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

Раскрыть весь потенциал NVMe-накопителя на Raspberry Pi 4 не удастся. Но у NVMe-диска есть пара преимуществ перед обычной SD-картой. Это — надёжность и скорость. Покупка подобного диска и адаптера к нему не потребует заметно больше средств, чем покупка более старого диска M.2. А если понадобится, то NVMe-диску можно найти и другое применение (ниже, при разговоре о CM4, я ещё к этому вернусь).



Если у вас имеется внешний SSD с интерфейсом USB или M.2-диск, то вы тоже можете воспользоваться этим руководством.
Читать дальше →
Всего голосов 45: ↑40 и ↓5+35
Комментарии22

Кунг-фу стиля Linux: синхронизация настроек

Время на прочтение9 мин
Количество просмотров11K
Одним из лучших качеств Linux и похожих на неё операционных систем является возможность их глубокой настройки. Если вам что-то не нравится — высоки шансы того, что вы легко сможете это изменить, подправив какой-нибудь файл. Например, рассмотрим bash — командную оболочку, по любым меркам, весьма популярную. Если вам нужно поменять приглашение командной строки — это вполне осуществимо. Если нужно, чтобы клавиша Tab позволяла бы автоматически дополнять имена файлов без учёта регистра — это тоже не проблема. Обычно подобные настройки выполняются в одном из так называемых «файлов профиля», вроде .bashrc, находящихся в домашней директории пользователя.



Если некто работает за единственным компьютером, то никаких проблем с настройками у него не возникает. Он вносит в файл .bashrc, и в другие подобные файлы, необходимые изменения, настраивает систему под себя, и работает в той среде, которая ведёт себя так, как ему того хочется. Проблемы появляются тогда, когда кому-то приходится пользоваться несколькими компьютерами. Возможно, речь идёт о веб-сервере, о настольном компьютере, о машине, играющей роль файрвола, и о нескольких десятках Raspberry Pi. Как настроить все эти системы одинаково? И как, после того, как они все одинаково настроены, поддерживать настройки в актуальном состоянии?
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии6

Векторная рисовальная машина №3

Время на прочтение10 мин
Количество просмотров13K


Как инженеру мне всегда импонировала русская прагматичная манера именования новых продуктов. Если какой-нибудь западный маркетолог может назвать небольшое игровое устройство на базе ЭЛТ «The Vectormatic Score-Master 3000» (Векторматический рекордсмен 3000), то русские склонны использовать более содержательные названия. И поскольку рассматривается третья попытка создания векторной системы отрисовки, то и назвали бы они ее «Векторная рисовальная машина №3». Счет инженеры — маркетологи (15: 0).
Читать дальше →
Всего голосов 79: ↑77 и ↓2+75
Комментарии18

Кунг-фу стиля Linux: sudo и поворот двух ключей

Время на прочтение5 мин
Количество просмотров15K
Если вы работали в современных Linux-системах, включая большинство ОС для Raspberry Pi, то вы, возможно, знакомы с командой sudo. Обычно она позволяет авторизованному пользователю повышать свои полномочия до уровня суперпользователя и решать в таком режиме различные задачи, требующие соответствующих привилегий.

Правда, тут есть одна проблема. Если у вас есть sudo-доступ к системе, то это значит, что вы сможете сделать с ней всё что угодно — по крайней мере, всё, что вам позволено в файле sudoers. А как насчёт операций, ошибка при выполнении которых способна серьёзно нарушить работу системы? Все видели фильмы, в которых для запуска ядерной ракеты нужен одновременный поворот двух ключей, за которым следует нажатие на кнопку «Пуск». Есть ли нечто подобное в Linux?



В Linux есть похожий механизм, но это, на самом деле, не совсем «поворот двух ключей». Речь идёт о проекте sudo_pair, работой над которым занимается компания Square. Это — плагин для sudo, который даёт нам похожие возможности. А именно, речь идёт о том, что один пользователь запрашивает выполнение некоего действия, требующего повышенных привилегий, а другой пользователь авторизует запрос. Причём этот второй пользователь может не только одобрить выполнение операции, но и понаблюдать за тем, что происходит, и даже отменить операцию в том случае, если увидит, что происходит что-то неправильное.
Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии9
1
23 ...