Pull to refresh
9
0
Send message

Первый глиняный дом, напечатанный на 3D принтере

Reading time2 min
Views21K


Этот дом несколько принтеров напечатали из местной почвы за 200 часов. В итоге никаких отходов и необходимости доставки строительных материалов.

Библиотека next-persist: преодоление разрыва между серверным рендерингом и постоянным хранением данных на клиенте

Reading time9 min
Views5.8K
Статья, перевод которой мы публикуем сегодня, посвящена next-persist — компактному и нетребовательному к ресурсам NPM-пакету. Цель его создания — упрощение обработки и реконсиляции данных, на постоянной основе хранящихся на клиенте и не имеющих критического значения. При этом данный пакет задуман так, чтобы его применение не ухудшило бы полезных возможностей Next.js по серверному рендерингу и генерированию статических сайтов.

Прежде чем мы поговорим о месте next-persist в экосистеме современной веб-разработки, нам нужно коснуться Next.js — передового фреймворка, созданного Vercel, позволяющего без особых сложностей создавать и развёртывать приложения, которые, при этом, отличаются высокой скоростью загрузки.



Next.js произвёл революцию в осмыслении того, как именно веб-содержимое доставляется пользователям. Произошло это за счёт объединения всего лучшего из сфер серверного и клиентского рендеринга с технологиями генерирования статических сайтов. Кроме того, применение Next.js до крайности упрощает доведение веб-проектов до рабочего состояния. Это происходит за счёт автоматизации конфигурирования вспомогательного ПО, вроде webpack и babel, и благодаря использованию CI/CD Vercel.

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

Начинаем писать под stm8, выбираем среды разработки и стартуем

Reading time6 min
Views36K
image

На пути в программировании stm8 есть развилка, о ней сегодня и поговорим.

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

Первый установка ST Visual Develop и выбор в качестве компилятора COSMIC Бывший платный, а ныне бесплатный, но со своими заморочками; регистрация, получение ключа, и прочие танцы с бубном.

Второй же вариант, более простой VS Code + PlatformIO и компилятор SDCC полностью свободный. И опять же не все так просто. Sdcc не умеет исключать не используемые функции. Я решил этот вопрос хоть и успешно, но не без дополнительных действий при написании кода.
Читать далее

Автоматический дымоуловитель для пайки, основанный на Arduino

Reading time4 min
Views9.1K
Автор статьи, перевод которой мы представляем вашему вниманию, хочет рассказать о том, как сделать датчик, основанный на Arduino, который автоматически включает дымоуловитель при извлечении паяльника из держателя.



Для этого проекта вам понадобится Arduino UNO Wifi Rev.2, инфракрасный датчик препятствий KY-032 и одноканальное реле на 5В. Некоторые элементы надо будет напечатать на 3D-принтере. Для сборки готового устройства нужно будет воспользоваться паяльником.

О дивный новый «Мир»! Восстановление советской радиолы. Часть 1

Reading time5 min
Views32K
Не мне вам рассказывать, насколько увлекательно возиться с компьютерами. Но иногда всё-таки тянет к более простой технике, где даже самую мелкую деталь можно подержать в руках, а если она вдруг сломается — заменить на аналогичную или починить. Поэтому ещё с юности я начал собирать разнообразную аппаратуру ушедшей эпохи — от пишущих машинок и арифмометров до измерительных приборов и проигрывателей пластинок. Примерно тогда же выработался принцип: я не покупаю старые вещи целенаправленно, а жду, пока они попадутся мне сами. Сегодня будет рассказ об одной из самых удивительных моих находок. Точнее, первая часть рассказа, потому что материал получился очень большим.



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

«Автостопом по галактике» — история невероятного текстового приключения 1984 года

Reading time18 min
Views19K


Жанр интерактивных текстовых игр промелькнул ярким болидом в истории цифровых развлечений. «Автостопом по галактике» стала одним из самых успешных бестселлеров Infocom, который прославился чутким юмором, странной, местами абсурдной, логикой, и, конечно же, безумными головоломками (помните Babel Fish?). Многие игроки бесились от дикой сложности загадок игры, для других же проведенное за ними время легло в память исключительно приятными воспоминаниями.
Читать дальше →

Белогривые лошадки. Как облачные технологии меняют мир

Reading time8 min
Views5.8K

Предсказывать будущее — дело неблагодарное: говорят, в этом преуспел разве что Нострадамус да одна слепая болгарская старушка. Вместе с тем, некоторые тенденции развития IT-технологий явно намекают нам на то, что уже в ближайшей перспективе вычислительные мощности и возможности девайсов будут расти, а сами эти устройства — становиться проще и дешеветь. Как такое возможно? Ответ прост: облака.
Читать дальше →

PiDP-11 — свежий взгляд во времена «Большого железа»

Reading time5 min
Views8.3K


PiDP-11 – это современная реплика выдающегося микрокомпьютера PDP-11, разработанного Digital Equipment Corporation. В самом начале своей истории, когда они еще не стояли в каждом доме и уж тем более не умещались в карман, компьютеры были огромными, можно даже сказать пугающими устройствами, которые порой занимали целые комнаты и использовались только в университетах и корпорациях. Серия PDP в этом плане стала неким переходным звеном, сделавшим компьютеры более доступными для рядовых пользователей.
Читать дальше →

Новая концепция диабета 2 типа: опасный, но обратимый

Reading time12 min
Views38K

Исторически сахарный диабет считался страшным заболеванием — в тяжёлых стадиях ему сопутствуют такие побочные эффекты, как слепота и гангрена конечностей. Большую часть истории диабета, известного ещё врачам Древней Греции как минимум 2500 лет назад, он считался неизлечимым. Терапия диабета уколами инсулина появилась только в XX веке: в следующем году исполнится 100 лет первому уколу инсулина, которым в 1922 году канадский доктор спас умиравшего от диабета 14-летнего мальчика. Однако инсулинотерапия — это лечение только для диабета 1 типа, при котором в организме человека нарушена выработка собственного инсулина. При более распространённом диабете 2 типа уколы инсулина — это не лечение, а симптоматическая терапия, которая только замедляет развитие болезни. Причины этого были открыты позже.

В XXI веке, благодаря развитию эндокринологии (науки о гормонах) представления о диабете 2 типа поменялись радикально. С одной стороны, список сопутствующих развитию диабета проблем только вырос и теперь включает сердечно-сосудистые заболевания, многие случаи рака и болезнь Альцгеймера. С другой — появившееся представление о пропущенном звене, их общем метаболическом корне — гормональном сбое, известном как инсулинорезистентность, привело к пониманию не только как диабет развивается, но и как это развитие остановить и обратить вспять, не доводя до инсулиновой иглы.
Симптоматику предиабета следует знать всем, кому за 30

Теория цвета как основа для дизайна и иллюстрации

Reading time9 min
Views148K

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

Зелёная энергетика — космическая гонка XXI века

Reading time13 min
Views12K
Многие знают, особенно в IT, что своими корнями технологическая революция последних 40 лет уходит в космическую гонку. Противостояние между СССР и США в том, кто кого переплюнет в масштабности и экстравагантности символических жестов — одновременно самый бессмысленный и самый плодотворный эпизод в истории прогресса. Даже триумфальный пик космической гонки — одновременно вершина её абсурдности, когда США только чтобы воткнуть свой флаг, залетели так далеко, что часть самих же американцев до сих пор в это не верит.

Но какая разница, на самом деле, когда космическая гонка дала разгон не только ракетам, но и фундаментальной науке, образованию и технологическим производствам и США, и СССР. Благодаря эффективному государственно-частному партнёрству, США удалось конвертировать космическую гонку в технологический прорыв, обеспечивший миру вторую крупнейшую коммуникационную революцию с изобретения письменности, создать новый рынок глобальной экономики, цифровую экономику, и дать старт мощной и динамичной IT-индустрии, которая в нём заняла лидирующие позиции.


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

Разбираемся с развёртыванием CodeReady Containers на Linux

Reading time13 min
Views5.3K
Подумываете ли вы о том, чтобы использовать Red Hat CodeReady Containers (CRC) для решения задач локальной OpenShift-разработки? Собираетесь ли устанавливать CRC на Linux? В этом материале я хочу рассказать именно об этом. Мы обсудим некоторые особенности работы CRC и поговорим о настройке контейнеров.



Тут используется система CRC версии 1.21.0, в основе которой лежит OpenShift Container Platform (OCP) версии 4.6.9. Я устанавливаю CRC на Debian 10 GNU/Linux, но нам подойдёт любой современный дистрибутив Linux — вроде Fedora или Ubuntu. CRC 1.21.0 можно установить на Linux-хосте, который удовлетворяет следующим требованиям:

  • На нём установлены KVM и libvirt.
  • Его сетевые настройки выполняются с использованием NetworkManager.
  • Пользователь, устанавливающий CRC, имеет sudo-доступ к этому хосту.

Перед установкой CRC нужно будет загрузить tarball-дистрибутив CRC и так называемый «pull secret». «Pull secret» — это JSON-файл, который содержит аутентификационную информацию, необходимую для доступа к защищённым реестрам образов, поддерживаемым Red Hat. Если вы не являетесь клиентом Red Hat — вы можете присоединиться к Red Hat Developer Program, к программе Red Hat для разработчиков, и бесплатно загрузить этот файл. Участие в этой программе позволяет, кроме того, загрузить tarball-дистрибутив CRC. А отсюда дистрибутив можно скачать без лишних формальностей.

CRC отличается замечательной документацией, которая дополняется по мере выхода новых релизов системы.
Читать дальше →

Открытая платформа для своих: как и зачем использовать Yunohost

Reading time7 min
Views15K

Знакомимся с дистрибутивом: рассматриваем возможности, оцениваем простоту настройки и приложения, которых на платформе более 200. А также устанавливаем Yunohost на VPS или свою ВМ. 

Дорогие друзья, я обратил внимание, что на Хабре обошли стороной хороший продукт, достаточно мощный и с отличным потенциалом — это Yunohost. Проект появился на свет в 2012 году. Продукт позиционируется как операционная система, основанная на Debian и предназначенная для хостинга в первую очередь своих личных проектов, проектов друзей, семьи или связанных с ними небольших компаний. Я использую его ежедневно в своем ИТ-быту с 2018 года, и у меня накопился опыт, которым хочу поделиться. 
Читать дальше →

Простые советы по написанию чистого кода React-компонентов

Reading time8 min
Views20K
Автор материала, перевод которого мы публикуем сегодня, делится советами, которые помогают делать чище код React-компонентов и создавать проекты, которые масштабируются лучше, чем прежде.


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

Обзор GameLisp: нового языка для написания игр на Rust

Reading time7 min
Views7.9K

Программист, подписывающийся псевдонимом Fleabit, уже полгода разрабатывает свой язык программирования. Сразу же возникает вопрос: ещё один язык? Зачем?

Вот его аргументы:

  • Разработка движка игры и разработка игры на этом движке — две очень разные задачи, и для них удобно использовать разные языки, при условии, что код на них хорошо стыкуется друг с другом. Например, код на языке с garbage collection и на языке с явным управлением памятью было бы сложно объединить в одном проекте.
  • Rust идеально подходит для разработки движка игры: из языков, ориентированных на производительность скомпилированного кода, в нём максимум выразительных средств — enum-ы с полями; pattern matching с деструктуризацией; макросы, генерирующие произвольный код во время компиляции; и т.п. С другой стороны, для описания игровой механики Rust подходит плохо: задержки на перекомпиляцию усложняет подход «подправить и тут же проверить, что получилось»; строгое управление памятью усложняет использование одних данных одновременно несколькими объектами; а генераторы/сопрограммы, позволяющие удобно реализовать кооперативную многозадачность между внутриигровыми сущностями, ещё не реализованы.
  • Для игровой механики идеально подходил бы скриптовый язык наподобие JavaScript, Lua, Python или Ruby; но интеграция кода на них в проект на Rust — нетривиальная задача, отчасти из-за того, что эти полновесные языки программирования устроены запредельно сложно. Вдобавок, внутри игры напрашивается очень простой garbage collector, отрабатывающий после генерации каждого кадра, чтобы частота кадров оставалась постоянной — без внезапных подвисаний раз в десять минут, когда GC решил пройтись по всем объектам, созданным за эти десять минут. Другое важное преимущество GameLisp перед популярными скриптовыми языками — гомоиконичность, упрощающая обработку и генерацию кода макросами.
Читать дальше →

Ретроспектива решений прошлого, которое влияет на наше настоящее и будет влиять на будущее

Reading time7 min
Views12K

Размер крупа лошади два тысячелетия назад определил размер ракетных двигателей сегодня.

Задумывались ли вы о том, как каждое наше решение определяет будущее? Иной раз не на один год, десятки, сотни, тысячи лет. Почему мы не можем делать двигатели ракет больше? Почему байт равен именно 8 битам, а не 7 или 16, а может даже 48? А ведь он был равен этим числам раньше! Почему виртуальный терминал Linux до сих пор имеет скорость порта подключения? Давайте поговорим о том, как какое-то решение в прошлом определяет наше настоящее, и как же мы можем повлиять на наше будущее.
Читать дальше →

Инструменты и методы работы, повышающие продуктивность программистов

Reading time8 min
Views11K
В этом материале рассматриваются 5 эффективных инструментов, которые позволяют ускорить разработку программного обеспечения, не ухудшая качество готового продукта. Эти инструменты применимы в самых разных масштабах — от уровня отдельных программистов, до уровня компаний из сферы информационных технологий.

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



В частности, в этом материале мы поговорим о 5 группах таких инструментов. Это — дизайн-системы, линтеры, средства для автоматического форматирования кода, CI/CD-системы и IaaS/PaaS-провайдеры. Всё это позволяет программистам автоматизировать рутинные процессы, а значит, освободить время, необходимое для решения самых важных задач, связанных с разработкой собственных продуктов.
Читать дальше →

Эмуляция компьютера: интерпретатор CHIP-8

Reading time9 min
Views7.7K


Меня, по ряду причин, всегда завораживала эмуляция. Программа, которая выполняет другую программу… Мне эта идея кажется невероятно привлекательной. И у меня такое ощущение, что тот, кто напишет подобную программу, не пожалеет ни об одной минуте потраченного на это времени. Кроме того, написание эмулятора — это очень похоже на создание настоящего компьютера программными средствами. Мне было очень интересно разбираться в устройстве компьютерной архитектуры, писать простой HDL-код, но эмуляция — это гораздо более простой способ ощутить себя тем, кто своими руками создаёт компьютер. А ещё, в детстве, когда я впервые увидел игру Super Mario World, я поставил себе цель, которая до сих пор не потеряла для меня ценности. Она заключается в том, чтобы полностью понять то, как именно работает эта игра. Именно поэтому я уже некоторое время подумываю о написании эмулятора SNES/SNC. Недавно я решил, что пришло время сделать первый шаг к этой цели.

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

Бытовая форензика: можно ли найти утечку с помощью бубна, удобрений и палок?

Reading time7 min
Views8.6K


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

Сито для интернета: интересные вещи с Shodan

Reading time5 min
Views32K


Интернет ошибочно отождествляют исключительно с вебом, но всемирная паутина доступная через браузер — это всего лишь вершина айсберга глобальной сети. Ее подводная часть куда разнообразнее, и хоть она скрыта от глаз рядовых пользователей, ничто не мешает изучать ее специализированными средствами. Одним из таких сервисов, сделанных “под ключ” и устроенных по типу швейцарского ножа, можно назвать Shodan.

Если гугл индексирует новостные сайты и энциклопедии, специально выставленные на всеобщее обозрение, то Shodan — это поисковая система, которая целенаправленно индексирует все подключенные к интернету вычислительные устройства (веб-камеры, маршрутизаторы, серверы и новомодные IoT-девайсы) и позволяет находить их с помощью различных поисковых запросов и фильтров.


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

Information

Rating
Does not participate
Works in
Registered
Activity