Pull to refresh
27
0
Send message

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

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

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

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



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

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

Reading time5 min
Views63K
Если вы занимаетесь веб-программированием, это значит, что вам не надо рассказывать о том, насколько в вашей работе важна отладка. Нередко для записи данных в логи, для их форматирования или вывода на экран используют внешние библиотеки, не учитывая при этом того факта, что в распоряжении программистов имеются JavaScript-команды для работы с консолями, которые встроены в браузеры. И обладают эти консоли гораздо более серьёзными возможностями, чем может показаться на первый взгляд.

image

Пожалуй, первое, что многим приходит в голову при слове «консоль» — это команда console.log(). Однако, она — лишь одна из многих подобных команд. Материал, перевод которого мы сегодня публикуем, посвящён особенностям работы с консолью JavaScript.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments7

Транс-ФРК: один из эталонов коррекции зрения

Reading time7 min
Views31K
image

Сегодня опять буду рассказывать вам про лазеры, роговицу и коррекцию зрения. Но на этот раз будем говорить не о разных вариантах LASIK и ReLEx SMILE, а о последних модификациях ТрансФРК. Метод все незаслуженно пинают, называя устаревшим и уступающим во всем другим технологиям. Плюс, его постоянно путают с обычным ФРК, при том, что между ними реально лежит технологическая пропасть. Я попробую показать почему это не так, а заодно расскажу, почему к нам выстраиваются очереди перед началом набора в летные училища и учебные заведения МВД.
Total votes 29: ↑28 and ↓1+27
Comments114

Оптимизация статического сайта: десятикратное ускорение

Reading time10 min
Views22K
Джонлука Де Каро, автор материала, перевод которого мы сегодня публикуем, однажды оказался в заграничной поездке и захотел показать другу свою личную страничку в интернете. Надо сказать, что это был обычный статический сайт, но, в процессе демонстрации оказалось, что всё работает медленнее, чем можно было бы ожидать.

image

На сайте не применялось никаких динамических механизмов — там было немного анимации, он был создан с применением методов отзывчивого дизайна, но содержимое ресурса практически всегда оставалось неизменным. Автор статьи говорит, что то, что он увидел, быстро проанализировав ситуацию, буквально привело его в ужас. События DOMContentLoaded пришлось ждать около 4-х секунд, на полную загрузку страницы ушло 6.8 секунды. В процессе загрузки было выполнено 20 запросов, общий объём переданных данных составил около мегабайта. А ведь речь идёт о статическом сайте. Тут Джонлука понял, что он раньше считал свой сайт невероятно быстрым лишь потому, что привык к гигабитному интернет-соединению с низкой задержкой, используя которое, он, из Лос-Анджелеса, работал с сервером, расположенным в Сан-Франциско. Теперь же он оказался в Италии и воспользовался интернет-соединением на 8 Мбит/с. А это совершенно поменяло картину происходящего.

В этой статье Джонлука Де Каро расскажет о том, как ему удалось ускорить свой статический сайт в десять раз.
Читать дальше →
Total votes 45: ↑36 and ↓9+27
Comments17

Контроллер для Лего

Reading time3 min
Views28K
Чуть меньше полугода назад сделал сыну на день рождения подарок — конструктор Xiaomi MITU. Неожиданно для меня ребенок на неделю завис в этом конструкторе. Когда были испробованы первые модели и их управление с планшета, возник закономерный вопрос — «А как для него писать программы?»

image
Читать дальше →
Total votes 60: ↑59 and ↓1+58
Comments32

Про жиры с точки зрения химика

Reading time18 min
Views116K
КДПВ Витязь на распутье


Приветствую всех! Статью про взгляд на проблему жиров с моей, химической точки зрения я обещал написать уже давно, да больно уж вопрос непонятен. Однако, попробуем разобраться. Хотя на эту тему существует громадное количество публикаций — ясности они не приносят — так как часто противоречат и друг другу и здравому смыслу. Так что, собравшись с духом, решил рыться в материалах до момента понимания. Вас же приглашаю ознакомиться с моими изысканиями. Нам придётся копать несколько глубже обычного, постараемся разобраться с этим вопросом «с точки зрения банальной эрудиции»… в смысле — логики. На вход — факты, только факты. Причём, моя цель просто выяснить для себя этот вопрос, каких-либо других целей не имею. Меня интересует — какие жиры более полезны, какие вредны, сколько их употреблять и каких, на чём жарить, как сохраняются, разъяснить странности с маргариновыми транс-жирами(для меня объяснения изготовителей выглядят туманными и неполными). Всё это в рамках официальных рекомендаций ВОЗ и российских уполномоченных органов — то есть никакой конспирологии. Если Вам это интересно — прошу под кат.
Читать дальше →
Total votes 63: ↑61 and ↓2+59
Comments242

Основы Docker за Х часов и Y дней

Reading time8 min
Views162K

0. Вступление


Цель данной статьи собрать в небольшую кучку основную информацию, минимально достаточную для того, чтобы начать работать с докер на ежедневной основе и удалить с рабочей машины локально установленные apache, mysql, virtualenv, python3, mongodb, memchaced, redis, php5, php7 и весь остальной зоопарк, который мы используем при разработке, и который зачастую еще и конфликтует между собой от версии к версии.
Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments16

Солнечная батарея на балконе: тестирование контроллера заряда

Reading time4 min
Views45K
Привет geektimes!

В предыдущей части была рассмотрена и проверена работа платы BMS, обеспечивающей корректный заряд литий-ионного аккумулятора. Китайская почта наконец доставила Solar charge controller, так что пора протестировать и его.

image

Результаты тестирования под катом.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments17

Реверс-инжиниринг «Казаков», часть последняя: второе дыхание

Reading time9 min
Views45K


После нескольких месяцев работы над исходным кодом игры «Казаки: Снова война» я наконец-то могу умыть руки и представить результат своих трудов. В этой статье мне хотелось бы поделиться с вами опытом рефакторинга этого незаурядного проекта, в частности кодовыми курьёзами. Всем любителям некро-программирования посвящается…
байка из склепа 1998 года
Total votes 75: ↑75 and ↓0+75
Comments39

Выбор бюджетной «вертушки»: «теплые» виниловые компромиссы до 15 К рублей

Reading time7 min
Views61K
Сегодня винил и всё, что с ним связано у многих твердо ассоциируется с высокой стоимостью, «зажравшимися аудиофилами», астрономическими ценами на коллекционные пласты или в лучшем случае с модными чаяниями пафосных хипстеров. Стереотип настолько силён, что первый комментарий к нашей предыдущей статье «о парадоксе винилового тренда» был следующий:
«С жиру бесятся. Больше сказать нечего»



Между тем стереотип уже давно не соответствует действительности. Этот пост для тех, кто намерен купить сносную вертушку, но не готов вкладывать в компоненты астрономические суммы. Для того, чтобы стоимость не пересекла психологический барьер даже самых экономных клиентов, я ограничил бюджет гипотетического покупателя суммой в 15 000 рублей.

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

Полагаю, что публикация будет полезна потенциальным покупателям и при этом не заденет тонкую душевную организацию хейтеров коммерческого контента (мы-таки торговая организация и будем признательны за лояльность). Я в свою очередь постараюсь максимально снизить градус «теплого» винилового пафоса.
Читать дальше →
Total votes 25: ↑16 and ↓9+7
Comments89

Как применить Twilio, Python и инструменты Google для автоматизации своей свадьбы

Reading time14 min
Views10K
Автор материала рассказывает, как ему удалось применить навыки программирования для автоматизации рутинных процессов собственного свадебного мероприятия.

Для большинства людей 3 сентября 2016 было самой обычной субботой, но в моей памяти эта дата останется навсегда, ведь именно в этот день мы с моей супругой сыграли свадьбу.

image

Планируя свадьбу, вам нужно учесть множество моментов: еда, оформление и обстановка, настольные светильники (да, отдельно от оформления), цветы, размещение гостей, транспорт, развлечения и выбор места мероприятия. Вообще, планируя свадьбу, вы сталкиваетесь со множеством неизвестных, однако в одном я был уверен наверняка: ни одна свадьба не обходится без целой кучи списков, вложенных списков, не заканчивающихся до самого конца. Чем больше списков проплывали перед моими глазами, тем чаще я стал задумываться о том, как можно улучшить процесс подготовки. Уж больно неэффективно и вручную выполнялась вся работа. Я был уверен, что технологии наверняка смогут помочь улучшить хотя бы некоторые моменты.
Читать дальше →
Total votes 22: ↑16 and ↓6+10
Comments5

14 полезных сервисов и приложений для изучения английского

Reading time4 min
Views78K

Специально для читателей Хабра мы составили список ресурсов и приложений, которые позволят эффективно дополнить занятия с преподавателем или самостоятельное обучение.


Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments40

Как мы оптимизировали Twitter Lite

Reading time13 min
Views12K

Twitter Lite и высокопроизводительные прогрессивные веб-приложения на React




Взгляд на то, как удаляли обычные и необычные узкие места в производительности при создании одного из крупнейших в мире прогрессивных веб-приложений (PWA) на React.js — Twitter Lite

Создание быстрого веб-приложения требует многих циклов измерений, куда тратится время. Нужно понять, почему это происходит, и применить потенциальные исправления. К сожалению, не бывает одного простого решения. Производительность — это бесконечная игра, где мы ищем и измеряем области для улучшения. В Twitter Lite сделано много маленьких улучшений в разных сферах: от первоначального времени загрузки до рендеринга компонентов React (и предотвращения повторного рендеринга), загрузки изображений и много другого. Большинство изменений небольшие, но они складываются, и в конечном результате мы получили одно из самых больших и быстрых прогрессивных веб-приложений.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments10

5 курсов, которые помогут начать свой путь в дизайне игр

Reading time2 min
Views35K
Это статья для тех, у кого появилось желание получить или улучшить навыки дизайна игр. В ней я приведу пять лучших, на мой взгляд, курсов на эту тему. Независимо от того, что именно вы хотите создавать – персонажей, окружения или пейзажи, – по каждому направлению вы найдете подробные видеоуроки со всей необходимой информацией.


Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments2

Flow + tcomb = типизированный JS

Reading time4 min
Views12K

Рано или поздно, все приходят к выводу, что нам нужна строгая типизация. Почему? Потому что проект разрастается, обрастает if-ами; функциональное программирование — всё функция — неправда, мне только что консоль сказала "undefined is not a function". Вот эти проблемы появляются всё чаще-чаще, становится сложнее отслеживать, возникает вопрос — давайте строго типизировать, хотя бы на этапе написания кода будет подсказывать.


Знаете рекламу: TypeScript — это надмножество JavaScript-а. Маркетинговый BS. Мы честно попытались, грубо говоря, переименовать проект из JS в TS — оно не заработало. Оно не компилируется, потому что некоторые вещи, с точки зрения TypeScript-а являются некорректными. Это не означает, что TypeScript — плохой язык, но продвигаться на идее надмножества, и подводить меня так, TypeScript — я не ожидал.


Как только вы вычеркиваете TypeScript, остаётся ровно одна альтернатива — Flow. Что я могу сказать про Flow? Flow мегакрутой тем, что заставит вас выучить систему типов OCaml, хотите вы того, или нет. Flow написан на OCaml. У него гораздо строже и гораздо мощнее вывод типов, чем у TypeScript-а. Вы можете переписывать проект на Flow частично. Количество бонусов, которые вам приносит Flow, сложно описать. Но, как всегда, есть парочка "но".

Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments29

Замена sim-карт. Глава III. Боремся с бюрократией

Reading time8 min
Views14K
Эта статья написана по вопросам комментариев к первой и особенно второй части. Интерес есть и, к сожалению, пока поток напасти по замене sim не сильно спал. К тому же, совсем скоро это всё перейдёт в приложения для двухфакторной аутентификации и станет совсем «интересно».

Итак, как минимум с 2012 по 2017 гг. операторы сотовой связи: Мегафон, Билайн, МТС (возможно — другие, не изучал по ним практику) незаконно меняют sim-карты. Допустим, вы следуете советам безопасности, имея отдельный телефон «по типу кирпич» и в целом считаете, что далеки от этой угрозы. Допустим.

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


Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments18

OpenSSL, ssl_ciphers и nginx: прокачиваем на 100%

Reading time11 min
Views87K


Много где написано о том, как получить 100% и A+ по тесту от Qualys. При всём при том практически везде директивы ssl_ciphers и подобные даются как эдакие магические строки, которые нужно просто вставить, и надеяться, что автор не подводит вас под монастырь. Эта статья призвана исправить это недоразумение. По прочтению этой статьи директива ssl_ciphers потеряет для вас всякую магию, а ECDHE и AES будут как друзья да братья.


Также вы узнаете почему 100% по тестам — не всегда хорошо в реальности.

Читать дальше →
Total votes 66: ↑65 and ↓1+64
Comments92

Делаем быстрый поиск по турам на основе ClickHouse

Reading time12 min
Views22K
В этой статье мы рассмотрим способы создания поиска по базе туров (тур из себя представляет набор из отеля и перелета) и рассмотрим две опции — ClickHouse и MySQL (два движка — InnoDB и MyISAM).

В чем сложность поиска по турам


Туроператоры (TezTour, TUI, Natalie Tours, etc) продают свои путевки неочевидным, на первый взгляд, способом:

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

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

Несмотря на то, что общее количество туров (комбинаций) исчисляется сотнями миллионов, на каждый фиксированный набор параметров (город вылета, тип размещения, страна) приходятся, в худшем случае, десятки миллионов вариантов. Но даже по такому количеству туров не так просто осуществлять поиск, потому что нужно найти записи, которые удовлетворяют свободным критериям, которые задают пользователи, и сортировка может быть более-менее произвольной (как правило, сортировка делается по цене, но это не единственный возможный критерий). В этой статье мы рассмотрим упрощенную архитектуру реалтайм-поиска по турам на основе MySQL и ClickHouse, без учета стопов (сленговый термин, который означает, что по каким-то вариантам закончились номера или места в самолете, и такие туры нужно исключить из выдачи). Мы научимся делать поиск быстрым и уметь показывать результаты с сортировкой по любым полям.
Читать дальше →
Total votes 43: ↑37 and ↓6+31
Comments19

Установка и настройка Puppet + Foreman на Ubuntu 14.04 (пошаговое руководство)

Reading time8 min
Views26K
image Доброго времени суток, жителям Хабра!

Когда число управляемых серверов достигает нескольких десятков, а то и сотен, приходится искать решение по автоматической настройке и управлению таким парком. Тут на помощь приходит Puppet. Почему Puppet? Puppet кроссплатформенный, имеет богатое сообщество, имеет множество готовых модулей (4800+), имеет Enterprise версии. Все эти плюсы не дают усомнится в мощи данного продукта. Но управлять из консоли таким «комбайном» не так просто. Потому для удобного управления и настройки Puppet был разработан Foreman. Далее установка и настройка этой связки на примере задачи управления SSH-ключами.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments26

Монитор качества воздуха в помещении

Reading time6 min
Views62K
image

Замечательно жить на берегу горного озера, среди девственной, природы. Дышать только чистым, наполненным ароматом трав воздухом. Но мало у кого это получается. И в мегаполисе, дома и в офисе можно достигнуть максимально возможного качества воздуха.

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

Один из таких мифов – что в городах отвратительный воздух, грязный и ядовитый. И вместо кислорода сплошные выхлопы от автомобилей. Мы воспринимаем это как данность, и не пытаемся исправить ситуацию, даже там, где способны это сделать, в собственном доме, или офисе. Даже те, у кого есть маленькие дети, или проблемы с аллергией, прикладывают свои усилия в слепую, не контролируя результатов.

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

Но этого недостаточно. Нужен прибор которым вы могли-бы непосредственно померять качество воздуха в вашем доме. Что бы Вам было понятно и очевидно чем Вы дышите. Как температура на градуснике.
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments92
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity