Как стать автором
Обновить
10
0
Борзенко Денис @bBars

Пользователь

Отправить сообщение

Физический размер к этому показателю не имеет отношения. Значение 1 означает, что выбранное разрешение для видяхи (логистический пиксель) в точности соответствует разрешению дисплея (физический пиксель — который светится). А отличаться от 1 оно будет в том случае, если на дисплее, скажем, 1024х768 выводить изображение другого разрешения

Прошу, объясните дураку: почему они не режут траф на уровне ip (ну или tcp/udp на худой конец)? Только не говорите, что боятся заблокировать что-то лишнее. Особенно в дни, когда не несколько сервисов на одном адресе висят, а наоборот — один сервис на десятке разных адресов. Ну разве не проще хранить чёрный список ипов, и зарезать их?

Только не fmt.Sprintf("Unexpected ... detail: %w", err), а fmt.Errorf(...)

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

Вот именно. И dst, и сами таймзоны меняются периодически. Поэтому для полного понимания нужно после наименования зоны указывать ещё и текущий таймстамп, чтобы обозначить время применения смещения. И вдобавок иметь под рукой справочник: таак, вот в 12 ночи такого-то числа 2013 года отменили dst; потом тогда-то вернули.

А для указания времени применения тоже ведь нужно часовой пояс указать. Так, погодите-ка...

Это для чего? Для восстановления после неполной записи в основную область при обновлении?

Вы же не имеете в виду порты, которые бы торчали вверх из окошка бывшего сканера отпечатков?

Странно, что ни слова про собственно BLE, даже невооружённым взглядом. Вся эта длинная статья могла бы хотя бы называться по-другому. Разобраться с BLE интересно. Надеюсь, следующая статья не будет про какой-нибудь gradle и альтернативы ;)

Ага, а когда кто-то хоть на шаг отступает от этого принципа, про это событие статьи пишут. А маркетологи киллер-фичами называют )

Дока тоже генерится, но с помощью ещё одного генератора protoc-gen-openapiv2

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

Я просто сначала думал, что в модуле esp есть что-то ну прямо совсем специфичное (на аппаратном уровне, например). Вот и пытался выяснить -- что именно.

А что особенного при этом в esp32? С помощью него можно что-то, чего нельзя сделать с обычного интерфейса в десктопе? Или это из ряда «даже на esp это получилось»?

Расширение к хрому — это прокси, а не впн

Ну дела... Я уже который год работаю на i3 4000m и 8 ddr3. А этот ваш космолёт уже старичком считается. Ещё дум на нём запустите.

Если под строками с экранированными символами вы подразумеваете json-строки, то и ничего страшного: буферизируете токены, пока не соберётся полный литерал; либо наткнётесь на ошибку.

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

сначала разметил блок, валидация и ток потом парсинг

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

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

Видимо, вопрос с подвохом, потому что есть возможность читать не просто построчно или поблочно, а по-токенно. Читать его хоть из потока, и на лету декодировать содержимое

Насколько мне известно, в го применяются разные подходы в случае с функциями и в случае с типами. Для функций предусмотрен механизм «шаблонных функций», типа как в плюсах: компилятор находит все варианты использования и генерирует несколько вариантов для всех задействованных — потому они не дают оверхеда. А вот для типов на этапе компиляции проводятся лишь поверхностные проверки совместимости, а в рантайме начинается цирк с приведениями, что бьёт по производительности.

Ну и нет нужды явно указывать тип в момент вызова. Если компилятор может догадаться, то он это сделает. Да, ограничения накладывать нужно при определении типа или функции — для выявления допустимых операций над типом. По сути это упрощение поиска ошибок типа «нет подходящего operator*», но только заложенное в сам дженерик, а не в место вызова.

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

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

По-моему вот с ними я связывался — спрашивал разрешения на публикацию перевода на Хабр. Очень понравилась статья, и описанную практику я повторил успешно (частично). Но они отказали

Информация

В рейтинге
4 650-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность