Как стать автором
Обновить
-2
@insoliteread⁠-⁠only

​​​

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

Humane API REST Protocol

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

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


  • MarkedText — стройный легковесный язык разметки текста (убийца MarkDown).
  • Tree — структурированный формат представления данных (убийца JSON и XML).

На этот же раз мы спроектируем удобный клиент-серверный API, призванный убрать кровавую пелену с глаз фронтендеров и стальные мозоли с пальцев бэкендеров..


HARP OData GraphQL
Architecture ✅REST ✅REST ❌RPC
Common uri query string compatible ⭕Back ✅Full
Single line query
Pseudo-static compatible ⭕Back ⭕Partial
Same model of request and response
File name compatible
Web Tools Friendly
Data filtering ⭕Unspec
Data sorting ⭕Unspec
Data slicing ⭕Unspec
Data aggregation ⭕Unspec
Deep fetch
Limited logic
Metadata query
Idempotent requests ✅Full ⭕Partial ❌Undef
Normalized response
Читать дальше →

Установка Shadowsocks с обходом блокировок на Keenetic

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

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

Читать далее

Почему быстро стираются зубы и как вернуть всё в норму (это быстро и просто, но дорого)

Время на прочтение10 мин
Количество просмотров22K
Каждый раз, когда вы скрипите зубами или едите что-то прочное или просто соприкасаете челюсти, зубы немного стираются. В ответ следующий слой укрепляется, и срок службы зуба при обычном геноме человека составляет около 50-70 лет, чего, по идее, должно было бы хватать каждому. Но вот к нам приходит пациент с такой картиной (слева исходное состояние, справа мы исправили):



Когда он к нам поступил, его зубы на обеих челюстях были укорочены практически наполовину, что привело к закономерным эстетическим и речевым проблемам, затруднённому жеванию. Пациент работает диктором (на самом деле нет, но очень похоже, детали изменены для сохранения анонимности), то есть под ударом непосредственно его профессиональные навыки.

Зубы стираются у всех людей — это нормальный процесс. Это называется функциональной (физиологической) стираемостью твёрдых тканей зуба. И организм в норме умеет её компенсировать — прилегающий к зоне повреждения дентин склеротизируется, становится более плотным и твёрдым, частично принимая на себя функции стёртой эмали. При физиологической стираемости потери равномерны и незначительны, происходят преимущественно на окклюзионных поверхностях коронок, поэтому зуб сохраняет свои функции и устойчивость к кариесу до глубокой старости. Конечно, при условии, что нет других заболеваний ротовой полости.

Давайте поговорим про то, что делать, если вы всё же скрипите зубами и доскрипели до истирания, например, тех же резцов или передних зубов — или если у вас есть похожие особенности тканей. К счастью, как вы можете понять из заголовка, решение очень простое, быстрое (два долгих приёма в идеале), почти безболезненное, но зато дорогое и требующее хай-тека.

Под катом много фотографий ротовой полости, некоторые всё равно могут показаться неприятными. Заходите, конечно.
Читать дальше →

Магия ssh

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

Разве что ленивый не писал про ssh и несмотря на это, данный протокол и его возможности не перестают меня восхищать. Здесь я хочу поделиться исключительно своим опытом использования сего замечательного инструмента в своих задачах (При этом активно применяю его даже при разработке на Windows).

Поскольку я программист, то инструментарий ssh часто нужен мне в разработке и для личных нужд. Самые частые задачи, которые я выполняю с его помощью (по частоте использования):

  • Удалённый доступ — логично, ведь для этого он и предназначался.
  • Монтирование папок по сети — очень удобно для работы с кодом на удалённой машине.
  • Удалённое выполнение команд — нечастая, но используемая мной операция. Удобно получать выхлоп команды в канал другой команды на текущей машине.
  • Запуск графических приложений на удалённой машине.
  • Проксирование трафика — способ перенаправления трафика. Этакий быстрый и простой аналог VPN.
  • Обратный ssh — использую для проброса портов к системам, находящимися за NAT, когда лень настраивать firewall.

Далее вкратце разберу каждый пункт, и особенно пути эффективного и простого использования под Windows.
Читать дальше →

Обработка исключений в Java в функциональном стиле

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

В данной статье автор предоставит информацию о собственной библиотеке для обработки исключений (Exception) в функциональном стиле.

Предпосылки

В Java начиная с версии 8 появились новые возможности в виде функциональных интерфейсов и потоков (Stream API). Эти возможности позволяют писать код в новом функциональном стиле без явных циклов, временных переменных, условий ветвления и проч. Я уверен что этот стиль программирования станет со временем основным для большинства Java программистов.

Читать далее

Бег с препятствиями к домашнему гигабиту

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

Изначально я хотел написать не перегруженную техническими терминами ретроспективную заметку о том, в каких исторических условиях в начале 2000-х стали возможными выход на рынок и обретение популярности нового тогда класса устройств — домашние роутеры. Об уходе на покой диалапа, DSLа и всех прочих ужасов тёмных веков Интернета. И, разумеется, затронуть тему знаменитого Linksys WRT54G в контексте того, как он и его «потомки» открыли для меня широчайшие возможности экосистемы WRT.

Набросав первый черновик, я внезапно обнаружил, что таких обзоров на Хабре написано уже несколько штук — они находятся в поиске по ключевому слову «WRT54G». Так что тему пришлось сменить и поэтому я попробую рассказать, как я в некотором смысле «перерос» WRT, какие технические трудности возникли на этом пути и как их удалось решить.

Читать далее

Как импланты через 20 лет могут развалить вам всю челюсть, включая оставшиеся здоровые зубы

Время на прочтение12 мин
Количество просмотров117K
У меня для вас просто отличный пример того, как люди могут жестоко заблуждаться относительно имплантов.

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


Слева видно три импланта, ставших виновниками гнойного расплавления нервной и костной тканей

Чтобы вы не питали иллюзий, сразу отмечу основные вещи:

  • У них есть срок службы. Обычно он составляет 20–25 лет, после чего нужно будет сделать «капремонт». Собственно, поэтому в цену хорошего импланта входит поддержка производителем 25 лет, иначе есть шансы не обнаружить комплектующие и вырывать его, а потом ставить новый. Так себе удовольствие.
  • Искусственные зубы нужно чистить. Да, они искусственные, но вот бактерии на них прилетают вполне себе живые.
  • Не стоит пропускать ТО: это та же самая полугодовая гигиена, что для живых зубов, но другими инструментами (без металла).
  • Требования к домашней чистке у имплантированных зубов выше, чем у «родных»: нужны ирригатор, ёршики и нить.

Разумеется, мы время от времени встречаем пациентов, забывших про «ТО рта», но этого случая не было бы в обучающих, если бы всё пошло как обычно. Так что осторожнее: ниже будут кровь и разные органы на фото, особенно в той части, где «пошло не по плану».
Читать дальше →

Как мы себя обманываем, только бы продолжать пользоваться Golang

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

За два года с тех пор, как я опубликовал статью I want off Mr Golang's Wild Ride, она вновь и вновь всплывала на Reddit, Lobste.rs, на HackerNews и в других местах.

Всякий раз дискуссия выходит к одним и тем же ответам:

Go!

Случай девушки без трёх зубов: как наращивается кость перед установкой импланта; зачем и как организм меняет скелет

Время на прочтение12 мин
Количество просмотров21K
Если из челюсти вынуть зубы, то кость для их крепления уже не понадобится. Она начнёт «уходить», то есть пойдёт резорбция, в результате которой костной ткани станет сильно меньше. Если вы захотите поставить туда имплант, то он просто не будет покрыт костью весь. Нужно будет либо выбирать модель поменьше, либо наращивать кость.

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

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


Видны следы от прошлой неудачной операции

Внимание! Ниже будут фотографии ротовой полости, в том числе с кровью. Если это может шокировать вас, то будьте осторожны!
Читать дальше →

На границах, приложения не являются объектно-ориентированными

Время на прочтение5 мин
Количество просмотров12K
Я получил множество отзывов на мою недавнюю серию постов по Poka-yoke проектированию (я был бы расстроены, если было бы иначе). Множество из этих отзывов касаются различных технологий сериализации или трансляции, используемых обычно на границах приложения: сериализация, XML (де)гидратация (прим. переводчика: тоже самое, что и сериализация), UI-валидация и т.д. Заметьте, что такая трансляция происходит не только по периметру приложения, но также и на уровне сохраняемости (persistence). ORM-ы также являются трасляционными механизмами.
Общим для многих комментариев является утверждение о том, что большая часть технологий сериализации требует наличия конструктора по умолчанию. Например, класс XmlSerializer требует наличия конструктора по умолчанию и публичных, доступных для записи свойств. Большая часть объектно-реляционных преобразователей, которые я изучал, похоже, имеют те же требования. Контролы Windows Forms и WPF (UI – также граница приложения) почти обязаны иметь конструктор по умолчанию. Не нарушает ли это инкапсуляцию? И да и нет.
Читать дальше →

Don’t be cringe — не будь занудой

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

По долгу работы мне приходится много общаться с иностранными разработчиками. И к сожалению, каждый раз когда в коллективе появляется новый разработчик из России, мне приходится слушать всякие “Oh no, another crazy Russki is here”.

Но, что бы они там не говорили, все прекрасно понимают, что русские программисты — одни из самых востребованных на рынке. Так что иностранные коллеги просто мирятся с Crazy Russians. Более того, последние 10 лет я наблюдал, как команды становились всё более и более разношёрстными. Бельгийцы, французы, немцы, австралийцы постепенно вливаются в коллективы.

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

«Вечная лампочка» из новых Lexman

Время на прочтение2 мин
Количество просмотров132K
Я нашёл ещё один неплохой вариант для простейшей переделки в «вечную лампу». Это лампы Lexman 10 Вт 1000 лм, продающиеся по 85 рублей в магазинах Леруа Мерлен.


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

Почему Starlink от Маска — это скам

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


В тоннелях Boring Company, построенных, чтобы не было пробок, теперь пробки. Cybertruck не поедет до 2023 года Но все это мелкие проблемы по сравнению с тем, чем обещает стать Starlink. Это главный проект Илона Маска, который должен спонсировать SpaceX, и собрать достаточно денег, чтобы обеспечить полет на Марс. Но он может стать и самой большой ошибкой.


1500 спутников уже запущены и работают, 145 000 пользователей в США и Канаде уже довольны своим интернетом. Тем не менее верить в успех этого проекта, скорее всего, преждевременно. И даже более того: возможно, нам будет лучше, чтобы это будущее никогда не наступило.


Осторожно, в тексте много цифр. И, если вы продолжаете верить в Starlink, он может вас сильно разочаровать.

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

Злейший враг вашей десны — зубочистка

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

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

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

Читать далее

Опасности обычной электронной почты и конфиденциальные почтовые сервисы

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

Пользователи Яндекс.Почты, Почты Mail.ru и Gmail редко задумываются, насколько защищены их электронные сообщения от посторонних глаз. А между тем, конфиденциальность переписки при работе с этими сервисами может быть под угрозой. В статье подробно рассмотрим уязвимости привычных почтовых служб и предложим альтернативный список сервисов, которые предлагают конфиденциальную переписку.

Читать далее

Пейджинг страниц в соцсетях

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

Для пагинации страниц используют смещение (OFFSET) и курсорную пагинацию (по ID), как более быструю. Тем не менее есть ещё один малоизвестный вид пагинации по меткам страниц (MARKS). Она является разновидностью курсорной пагинации, но использует не идентификатор, а ряд полей перечисленных в ORDER BY SQL-запроса.

Читать далее

web5 скорее всего будет, пока не расходимся

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

Узрев повторную статью-мнение-перевод на оригинальный пост фаундера Signal "web3 не будет: расходимся по домам" https://habr.com/ru/post/673836/, не смог устоять от соблазна дать расширенное op-ed опровержение. И в комментарий оно не влезло.

Мое мнение, что Moxie сделал только эмоциональные выводы, хотя и назвал причину правильно: “Все упирается в нежелание людей держать свои сервера. Потому что держать сервера — это сложно, а мы хотим нажимать одну кнопку. “ а если покопаться более фундаментально, то все может предстать в более рациональных абстракциях.

Рациональный анализ приземленный на уровни абстракций “имхо” таков:

Читать далее

Fuchsia OS глазами атакующего

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

Fuchsia — это операционная система общего назначения с открытым исходным кодом, разрабатываемая компанией Google. Эта операционная система построена на базе микроядра Zircon, код которого написан на C++. При проектировании Fuchsia приоритет был отдан безопасности, обновляемости и быстродействию.

Как исследователь безопасности ядра Linux я заинтересовался операционной системой Fuchsia и решил посмотреть на нее с точки зрения атакующего. В этой статье я поделюсь результатами своей работы.

Читать далее

Альтернатива стикерам с паролями на мониторе

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

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

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность