Search
Write a publication
Pull to refresh
9
0
Send message

Разработка REST-серверов на Go. Часть 7: GraphQL

Reading time11 min
Views8.2K
Перед вами — седьмая (заключительная) часть серии статей о разработке REST-серверов на Go. В предыдущих статьях мы занимались, в основном, различными подходами к разработке REST API для простого приложения, автоматизирующего управление задачами. Сегодня мы исследуем кое-что совершенно новое и поговорим о том, как сделать похожий API, пользуясь не REST, а GraphQL.



Хотя тут я уделяю определённое внимание причинам выбора GraphQL и сравнению GraphQL и REST, это здесь не главное. Есть множество статей, освещающих эти вопросы, и я советую вам поискать их и почитать. Главная цель этого материала заключается в том, чтобы привести пример создания GraphQL-сервера на Go. Для того чтобы не усложнять нашу задачу, этот сервер использует модель данных, очень похожую на модель, реализованную в одном из вариантов сервера из предыдущих материалов (речь идёт о простом бэкенде, дающем возможность работать со списком задач).
Читать дальше →

Большой тест автомобильных аккумуляторов Topla AGM Stop&Go AG60 и Energy E60X

Reading time9 min
Views28K

Привет, Хабр! Стоит ли переплачивать за AGM в случае стартерного аккумулятора для легковой автомашины? Сравним реальные характеристики обычной и AGM аккумуляторной батареи (АКБ) одного производителя, в одном и том же корпусе L2. Воспользуемся разными приборами, проверим в деле пару зарядных устройств и АКБ-тестеров, и даже заглянем внутрь AGM аккумулятора с помощью эндоскопа. Проделаем 7 зарядно-разрядных циклов, а дальше решим, что ещё можно сделать.
Российские ЗУ и аккумуляторщики против словенских АКБ: кто кого?

7 сетевых Linux-команд, о которых стоит знать системным администраторам

Reading time10 min
Views244K
Существуют Linux-команды, которые всегда должны быть под рукой у системного администратора. Эта статья посвящена 7 утилитам, предназначенным для работы с сетью.

Этот материал — первый в серии статей, построенных на рекомендациях, собранных от множества знатоков Linux. А именно, я спросил у наших основных разработчиков об их любимых Linux-командах, после чего меня буквально завалили ценными сведениями. А именно, речь идёт о 46 командах, некоторые из которых отличает тот факт, что о них рассказало несколько человек.



В данной серии статей будут представлены все эти команды, разбитые по категориям. Первые 7 команд, которым и посвящена эта статья, направлены на работу с сетью.
Читать дальше →

Первый отечественный автомобильный AGM аккумулятор — AKOM ULTIMATUM. Большой безжалостный тест

Reading time9 min
Views22K

Привет, Хабр! Умеют ли в нашей стране делать стартерные AGM акумуляторы? Что они собой представляют, какова их специфика, стоят ли они своих денег? Для каждого ли легкового автомобиля подходят? Нуждаются ли во вводе в эксплуатацию, или можно сразу ставить под капот?

Возьмём новую АКБ, приборы, приступим к испытаниям. Их будет много: целых девять контрольно-тренировочных циклов с 20-часовыми разрядами, а ещё недельный разряд включенными фарами!
Выдержит ли аккумулятор такую жестокость?

Old School: один день работы в DOS

Reading time8 min
Views22K


Обновление от 5 июля, 2021 года: по случаю празднования 4 июля у нас в США сегодня выходной, и у сотрудников Ars есть возможность успеть на летнюю распродажу Steam (или просто отдохнуть). В связи с этим мы достали из архивов редакции Ars несколько старых проектов, включая и этот в некотором смысле мазохистский эксперимент.

Еще в 2014 году почетный редактор Ars Шон Галлахер решил отметить 20 лет с момента окончания жизни MS-DOS и поработать в этой операционной системе в современных условиях. Получилось это…почти так же гладко, как можно было предположить.

Сегодня, спустя 27 лет после того, как в Microsoft объявили о завершении поддержки MS-DOS, мы решили освежить в памяти его опыт (и очень ценим современные возможности, поскольку теперь все работаем из дома немного больше). Датируется эта история 3 июля 2014 года и ниже передана в своем исходном виде.
Читать дальше →

Разработка REST-серверов на Go. Часть 6: аутентификация

Reading time13 min
Views41K
Перед вами — шестой материал из серии статей, посвящённых разработке REST-серверов на Go. Наша сегодняшняя тема — безопасность, а именно — аутентификация. Если бы сервер, разработанный в предыдущих материалах, был бы развёрнут, и к нему мог бы обратиться кто угодно, то у любого, имеющего выход в интернет, был бы полный доступ к его API. Хотя некоторым REST-серверам это вполне подходит, такой сценарий работы с сервером желателен далеко не всегда. Обычно как минимум часть API должна быть защищена таким образом, чтобы доступ к ней могли бы получить лишь аутентифицированные пользователи.



Читать дальше →

Айтишный дауншифтинг, стремление к минимализму и простоте

Reading time9 min
Views37K
Astrobotany

Современные IT чрезвычайно сложные, если не сказать переусложнённые, по своему устройству. Особенно это касается web. Фреймворки, grpc, Python/Go/JS/TS/Web Assembly etc, HTML5, CSS, Docker, Kubernetes и далее в бесконечность. Плюс современные методологии разработки ПО, типа Agile и иже с ними, заставляют выкатывать продукты в прод как можно быстрее, да ещё и так чтобы продукт понравился пользователю (то есть это наличие всяческих bells & whistles, чтобы заманить пользователя и прочих «плюшек» которые красиво выглядят, но жрут ресурсы как не в себя). Большинство плюёт на оптимизацию и вполне нормальным считается когда веб страничка весит мегабайты. А браузеры, которые должны всё это отображать, являются самыми тяжёлыми приложениями в ОС.

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

Обзор Kali Linux 2021.2

Reading time6 min
Views82K

В начале июня состоялся релиз дистрибутива для цифровой криминалистики и тестирования систем безопасности Kali Linux 2021.2. Эта операционная система является клоном Debian, используя репозиторий Testing с наиболее свежими пакетами. Новые iso образы становятся доступными для загрузки каждые три месяца, предыдущим релизом был 2021.1, а следующим будет 2021.3. Собственные наработки, созданные в рамках проекта, выложены на Гитлабе.
Узнать подробности

Делаем собственные курсоры для сайтов

Reading time7 min
Views21K
Существует множество способов обогащения визуальных впечатлений, которые вызывает у пользователей креативный веб-сайт, множество способов перевода существующего статического дизайна на новый уровень. В частности, речь идёт об оснащении сайтов интерактивным функционалом. А здесь мы исследуем один из способов реализации такого функционала через разработку собственного курсора (указателя мыши) для сайта, представляющего собой независимый элемент пользовательского интерфейса. Это — элемент интерфейса, который будет не только интерактивным и визуально привлекательным, но и полезным с практической точки зрения. Мы уделим особое внимание примерам кода, которые дадут всем желающим возможность расширить те базовые вещи, которые мы рассмотрим, и сделать собственный качественный курсор для сайта.


Пользователь взаимодействует со страницей сайта 14islands.com с использованием собственного курсора этого сайта
Читать дальше →

Что такое космическая платформа

Reading time5 min
Views9.1K

Если взглянуть на разные космические аппараты, то кажется, что они мало похожи друг на друга, и выглядят как простое нагромождение различного оборудования. Отчасти это верно, т.к. аппараты создаются по разным технологиям, для разных условий, под разные задачи и разные носители. С другой стороны, спутники могут быть похожи внешне: кубик с солнечными батареями и антеннами, но при этом внутри они будут совершенно разными. Всё потому, что разработка каждого аппарата — уникальная, дорогая и долгая работа разных коллективов. Попытки унификации предпринимались с самого начала космонавтики, но и сегодня эта работа далека от идеала. Сегодня посмотрим на такую сторону космонавтики, как космическая платформа.
Читать дальше →

Собираем квантовый генератор случайных чисел

Reading time4 min
Views24K

Цель этого проекта – создать настоящий квантовый генератор случайных чисел, то есть устройство, производящее на основе квантовых эффектов случайные числа. За реализацию случайности в нем будет отвечать ионизационная камера из пожарного извещателя.
Читать дальше →

Лучшее компьютерное кресло: табурет и здоровые мышцы спины

Reading time5 min
Views101K

Чтобы понять, кому не нужно анатомическое компьютерное кресло — нужно понять, кому и зачем на самом деле анатомические сидения нужны. Сиденья, максимально точно повторяющие человеческую фигуру, нужны там, где эта фигура должна быть надёжно зафиксирована — водителям, гонщикам, пилотам. При высоких перегрузках и, тем более, в случае аварии, где даже предельные возможности человеческого тела недостаточны, на помощь приходит кресло, выполняющее роль экзоскелета.

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

Аниме и пропаганда. Теперь и в армии: почему Силы самообороны Японии взяли на вооружение аниме?

Reading time7 min
Views29K

В 2010-х годах на аккаунтах и сайтах Сил самообороны Японии всё чаще стали мелькать анимешные персонажи, в основном барышни разной степени кавайности и всевозможные маскоты. Казалось бы, ничего удивительного: аниме-культура давно уже затопила весь мир и особенно интернет, так почему бы и нет? Однако не всё так просто. Путь аниме в японские вооружённые силы (которых как бы нет, но при этом они одни из сильнейших в мире) был непрост – и за время этого пути нашлось место и скандалам, и хитрым планам, и тонкому расчёту.
Узнать подробнее

Некоторые массовые смартфоны — почти модульные. Не хватает совсем чуть-чуть

Reading time6 min
Views28K
Помните нашумевший модульный смартфон Project Ara?

Когда-то этот концепт презентовал сам Google, но проект так и не выстрелил. В 2016 году было
объявлено о его приостановке. Сегодня, спустя 5 лет, можно сказать что он если не закрыт
окончательно, то заброшен. По задумке авторов, пользователь легко и просто мог бы менять
абсолютно любой компонент: дисплей, камеру, аккумулятор, процессор и подключать новые
модули.

Источник фотографии: сайт журнала «Хакер», там же есть небольшой обзор Project Ara.

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

Недавно я решил, не имея навыков, попробовать самостоятельно заменить разбитый дисплей на
Meizu M6 Note. Кстати, в 2017 году он был признан самым ремонтопригодным смартфоном. В процессе разборки и сборки я с удивлением обнаружил, что он почти модульный, и до полноценной модульности не хватает совсем немного. Не как Project Ara конечно, но почти как IBM PC.
Подробности - под катом.

Клонируем GPT-диск с 512B-сектором на диск с 4K-сектором в Linux. Подводные камни с EFI, NTFS и LVM

Reading time9 min
Views14K

Для современного компьютера диск с 4К сектором выглядит предпочтительнее, чем с олдскульным 512B. Так как почти все современные ФС имеют размер кластера по-умолчанию 4KiB или больше. Поэтому использование 512B сектора несколько снижает производительность, а также увеличивает коэффициент умножения записи (Write Amplication) у SSD, что уменьшает ресурс.

Более того, сложно найти современные диски более 4ТБ с сектором 512N. Если диск и рапортует сектор в 512 байт, то, как правило, это 512E — эмулируемый, который используется в основном для совместимости со старыми контроллерами. А в реальности на физическом уровне используется 4К или даже больше (больше в основном у SSD).

Поэтому при покупке нового диска я выбрал диск с сектором 4КiB. И передо мной встала задача клонирования старого диска с 512B сектором (GPT) на новый c сектором 4KiB. Я хотел сохранить установленные Linux, Windows 10, Windows 7 и тома LVM, чтобы не заниматься переустановками ОС. В процессе чего всплыло несколько подводных камней.
Поехали!

Отношения науки и философии (как Стивен Хокинг преждевременно похоронил философию)

Reading time12 min
Views35K
Выступая на организованной компанией Google конференции Zeitgeist Conference в 2011 году, Стивен Хокинг высказался следующим образом об отношениях философии и науки применительно к вопросам познания Вселенной: «Большинство из нас не думают об этом всё время, но, время от времени, почти каждый задумывается — зачем мы здесь? Откуда мы появились? Исторически, это считалось вопросами философии. Но философия мертва. Философы не поспевают за современными достижениями науки, в особенности физики. Теперь учёные приняли эстафету открытий в нашем квесте познания».
«Fundamental questions about the nature of the universe could not be resolved without hard data such as that currently being derived from the Large Hadron Collider and space research.»
Стивен Хокинг
Несмотря на то, что Хокинг «похоронил» философию, едва ли найдётся хотя бы один философ, который возразит по поводу ценности и нужности научных данных — поэтому спорил великий физик тут не столько с философами, сколько со своим собственным представлением о философии. Это высказывание — хороший повод для серьёзного об отношениях науки и философии, точнее — об отношении философии с научным методом.
Аристотель — отец науки и философии — не видит, в чём проблема
Читать дальше →

«Миллиметрон»: как создается самый сложный космический телескоп России

Reading time8 min
Views21K

За Окой, на границе Московской и Тульской областей в наукограде Пущино создаётся наше астрофизическое будущее. Пущинская обсерватория не прославилась в публичной сфере мировыми открытиями, хотя специалисты помнят достижения прошлого, зато как технологическая и испытательная площадка сегодня, как и полвека назад вносит свой важный вклад в изучение дальнего космоса. В наши дни там создается и испытывается самый сложный российский космический телескоп.
Узнать подробности

Большой тест 6 автомобильных аккумуляторов иностранных брендов 2021. Часть 1: заряд и 20-часовой разряд

Reading time8 min
Views62K

Привет, Хабр! Сегодня испытаниям подвергнутся 6 стартерных аккумуляторных батарей (АКБ) в корпусе L2: Topla Energy Banner Power Bull Ista 7 series Mutlu SFB Exide Excell и Varta Стандарт. Все они произведены по современной Ca/Ca технологии.

Открытый доступ к пробкам имеется только у двух из шести, потому заодно разберёмся, по каким критериям определить, полностью ли заряжен необслуживаемый (MF, SMF) аккумулятор без доступа к электролиту, каковых сейчас на рынке большинство. А также проверим повторяемость показаний экспресс-тестера Konnwei, в которых сомневаются некоторые блогеры.

Менеджер паролей с GPG шифрованием: настройка PASS на iOS + Git

Reading time7 min
Views16K
Наверняка многим из вас знакомы работы Филиппа Циммерманна, а в частности, самая известная из них — PGP (Pretty Good Privacy — Почти Полная Конфиденциальность), опубликованная в далеком 1991 году. Изначально PGP как пакет программного обеспечения предназначался для шифрования электронной почты и до сегодняшнего момента алгоритм(ы) шифрования, заложенные в PGP еще не были взломаны.



В этом году PGP исполняется 30 лет и в связи с этой знаменательной датой я с вашего позволения напишу свой опыт взаимодействия с PGP в качестве основы для менеджера паролей.
Небольшая ремарка: PGP был отжат корпоратами и стал проприетарным, а альтернативная версия с открытым исходным кодом стала носить имя GnuPG (сокр. GPG). Далее в этой статье буду пользоваться аббревиатурой GPG.
Читать дальше →

Вывод чётких изображений на экранах с высокой плотностью пикселей

Reading time11 min
Views13K
Много лет тому назад существовали мониторы с разными разрешениями, а после того, как индустрия перешагнула отметку в 1024x768, экраны, с увеличением разрешения, становились больше.

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

Далее, в 2010 году, вышел iPhone 4 (ёшкин кот, 11 лет назад), разрешение его экрана составляло 640x960. А в iPhone 3 имелся экран почти такого же размера, но с разрешением 320x480. Разрешение выросло вдвое, а физический размер экрана остался примерно таким же, как раньше. В результате вдвое выросла плотность пикселей экрана.



Нельзя было, без изменений, запускать старые приложения на новых экранах, так как нечто вроде текстов и кнопок выглядело бы слишком маленьким. Поэтому компания Apple удвоила (Прим.: справедливости ради, в 4 раза) размеры всех экранных элементов. 1 логический пиксель превратился в 2 физических пикселя.

В веб-разработке соотношение логических и физических пикселей известно как DPR (Device Pixel Ratio). DPR iPhone 4 равняется 2 (иногда такие экраны называют «2x-экранами» или «2dppx-экранами»).

Теперь, немного коснувшись истории, перейдём к более современным вещам.
Читать дальше →

Information

Rating
Does not participate
Works in
Registered
Activity