Pull to refresh
81
0

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

Send message

Свойства блочной модели CSS. Объяснение с примерами

Reading time6 min
Views48K

Приветствую всех жителей хабравиля! Сегодня я подготовил для вас основы по блочной модели CSS. Безусловно, многие из вас знают о чём идёт речь, но сегодня я постараюсь объяснить прописные истины более понятно и наглядно, что поможет вам создавать веб-сайты, с идеально подходящими друг другу элементами (с точностью до пикселя), и научит более точно использовать свойства размеров, полей, отступов и границ. Итак, всех приглашаю под кат и погнали!

Погнали!

Как сделать ОС для микроконтроллера

Reading time33 min
Views26K

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

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

Читать далее

Неожиданная история кондиционера

Reading time7 min
Views16K

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

Когда-то это изобретение было воспринято с холодком, но стало неотъемлемой частью жизни.

Работать в офисе во время июньской жары. Устраивать званые ужины в июле. Покупать шоколад в августе. Если послушать Сальваторе Базиле, автора книги «Прохлада: как кондиционирование воздуха изменило все», этих вещей не произошло бы в Америке, если бы мы не могли снижать температуру вокруг нас.

«Это сформировало наш мир до такой степени, что люди могут вести нормальную жизнь в жаркие месяцы, чего раньше быть не могло», — говорит Бэзил.

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

А к чему они имели отношение?

Исходники React.memo или что такое SimpleMemo

Reading time11 min
Views15K

Привет, Хабр!

В прошлых моих статьях обсуждая useMemo, мы постоянно упоминали React.memo. Поэтому в этой статье я решил глубоко погрузиться в понятие, что из себя представляет React.memo и конечно же изучим его исходники. (Данная статья является расшифровкой двух видео: React.memo это вам не useMemo и Чем отличается SimpleMemoComponent от MemoComponent?)

Read more

Первое погружение в исходники хуков (задел на будущие статьи)

Reading time10 min
Views9.6K

Привет, Хабр!

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

Для этого мы откроем репозиторий React-а в Github. Он представляет из себя монорепозиторий, где все известные нам пакеты лежат в packages. Ниже на скрине я выделил те самые пакеты, которые мы используем в ежедневной разработке:

Read more

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

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


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

DTO в JS

Reading time7 min
Views34K

Информационные системы предназначены для обработки данных, а DTO (Data Transfer Object) является важным концептом в современной разработке. В “классическом” понимании DTO являются простыми объектами (без логики), описывающими структуры данных, передаваемых “по проводам” между разнесенными процессами (remote processes). Зачастую данные "по проводам" передаются в виде JSON.

Если DTO используются для передачи данных между слоями приложения (база данных, бизнес-логика, представления), то, по Фаулеру, это называется LocalDTO. Некоторые разработчики (включая самого Фаулера) негативно относятся к локальным DTO. Основным отрицательным моментом локального применения DTO является необходимость маппинга данных из одной структуры в другую при их передаче от одного слоя приложения к другому.

Тем не менее, DTO являются важным классом объектов в приложениях и в этой статье я покажу JS-код, который на данный момент считаю оптимальным для DTO (в рамках стандартов ECMAScript 2015+).

Читать далее

Timsort — самый быстрый алгоритм сортировки, о котором вы никогда не слышали

Reading time5 min
Views56K

Timsort: Очень быстрый, O(n log n), стабильный алгоритм сортировки, созданный для реального мира, а не для академических целей.

Timsort — это алгоритм сортировки, который эффективен для реальных данных, а не создан в академической лаборатории. Tim Peters создал Timsort для Python в 2001 году. 

Timsort сначала анализирует список, который он пытается отсортировать, и на его основе выбирает наилучший подход. С момента его появления он используется в качестве алгоритма сортировки по умолчанию в Python, Java, платформе Android и GNU Octave.

Нотация Big O для Timsort — это O(n log n). Чтобы узнать о нотации Big O, прочтите это.

Читать далее

Программирование под ZX-Spectrum: 3D графика

Reading time5 min
Views17K
image

ZX-Spectrum был моим первым компьютером еще в те времена, когда я себя не очень хорошо помню. Однако в памяти остались бесконечно долгие экраны загрузки игр с магнитофона и невероятной радости, когда (и если) эта загрузка состоялась. Чуть позже помню первые написанные списанные программы на бейсике из книги «ZX-Spectrum 48 программ для изучающих Basic». Я почти ничего не понимал из того, что я набирал, и для детского мозга работа программиста представлялась как умение быстро находить в книжке нужную программу и перепечатывать ее без ошибок (привет StackOverflow!).

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

Зависимости JavaScript: Все, что вы когда-либо хотели знать, но боялись спросить

Reading time8 min
Views25K

Независимо от того, являетесь ли Вы back-end разработчиком, работающим с Node.js, или front-end разработчиком, использующим Node.js только в качестве инструмента для пакетирования и комплектации, Вы наверняка наткнулись на систему зависимостей.

Но почему их 5 типов (да, это не опечатка, есть 5 типов зависимостей), и для какого случая они используются? На эти вопросы мы ответим сегодня, так что сядьте поудобнее и расслабьтесь, потому что это будет интересно.

.       .       .

Читать далее

Анонимность в Tor: что нельзя делать

Reading time18 min
Views531K

Посещать собственный сайт в анонимном режиме


«Интересно, как выглядит мой сайт, когда я анонимный?» [1]

Лучше избегать посещения персональных сайтов, к которым прикреплены реальные имена или псевдонимы, особенно если к ним когда-либо подключались не через Tor / с реальным IP-адресом. Вероятно, очень немногие люди посещают ваш личный сайт через Tor. Это значит, что пользователь может быть единственным уникальным клиентом Tor, который сделает это.

Такое поведение ведёт к утечке анонимности, поскольку после посещения веб-сайта вся схема Tor становится «грязной». Если сайт малопопулярен и не получает много трафика, то выходные узлы Tor могут быть почти уверены, что посетитель этого сайта — владелец сайта. С этого момента разумно предположить, что последующие соединения с этого выходного узла Tor тоже идут с компьютера этого пользователя.

Источник: [2]
Читать дальше →

Конференция DEFCON 22. Эдриан Креншоу. На чём могут «спалиться» пользователи TOR

Reading time13 min
Views32K
Здравствуйте, меня зовут Эдриан Крэншоу. Я сооснователь компании Derbycon, основатель Irongeek.com, интересуюсь информационной безопасностью и работаю старшим консультантом по безопасности в компании Trusted Sec. Я расскажу вам, как люди размещают свои подлинные документы в Darknet и как из-за этого их становится легко поймать.

Это всем известные истории о людях, которые использовали TOR или другие анонимайзеры и попались в основном из-за пренебрежения правилами OPSEC.

История, которой я присвоил номер 0 – это бомбы, будто бы заложенные в Гарвардском университете в прошлом году. Один парень отправил электронное письмо в разные отделы руководства университета, в том числе службе безопасности и студенческой газете, с указанием мест, в которых находились бомбы: научный центр, Sever холл, Emerson холл, Thayler холл. Он писал, чтобы они действовали быстро, потому что бомбы скоро взорвутся. Сообщение об этом было опубликовано в СМИ 16 декабря 2013 года.

Итак, кем был этот парень? Он использовал «партизанский» почтовый сервис для разовой отправки электронных писем Guerilla Mail и отправил своё письмо через TOR.



Но он не учёл то, что Guerilla Mail помещает оригинальный IP-адрес отправителя в заголовок письма. Например, если вы отправляете письмо из дома, то на нём будет указан IP-адрес вашего домашнего компьютера. На слайде показан пример, где я использовал свой почтовый ящик на irongeek.com, чтобы показать, как это работает. Этот парень подумал об анонимности и использовал TOR, поэтому в его письме был указан IP-адрес сервера TOR. Однако он не учёл, что все узлы TOR, за исключением «мостов», известны и находятся в открытом доступе – они приведены, например, на этом сайте torstatus.blutmagie.de, и легко можно определить, относится ли конкретный компьютер к сети TOR или нет. Если вы не используете «мост», очень легко отследить, кто и откуда присоединился к локальной сети Гарварда и использовал TOR в то время, когда было отправлено письмо с угрозами.

Кариес и как он работает

Reading time12 min
Views51K
image
Нет, это уже не кариес, это полость, сформированная алмазным бором, когда все поражённые ткани удалены

Кариес нельзя вылечить, можно только приостановить. С учётом что от 93 до 99 % взрослого населения страдает кариесом — это пандемия.

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

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

И ещё — почему у, например, домашних животных кариес есть, а у диких почти никогда нет.
Читать дальше →

Эквадор и Галапагосы: середина мира и естественная биологическая лаборатория

Reading time27 min
Views19K


Скорее всего, вы знаете про Эквадор две вещи: мужика по имени Дарвин, который именно на Галапагосских островах открыл эволюцию — и бананы. 96% бананов в России растут на фермах этой страны, проплывают полпланеты на сухогрузах, чтобы потом оказаться в магазинах дешевле яблок. Возможно, ещё вы знаете, что у нас оттуда розы и сырьё для дорогого шоколада.


Охранный режим предполагает минимум 2 метра до животных, поэтому котики уже думают, что они дофига страшные — и распугивают людей со скамеек. Теперь это их скамейки.

Но давайте начнём не с этого, а с того, что француз Шарль Мари де ла Кондамин искал способы точнее определять географические координаты. Это ему принадлежит яркая идея с одновременными взрывами пороховых складов. Он же поехал в будущий Эквадор от французского научного сообщества. Смысл был в том, чтобы измерить дугу меридиана под экватором, а ожидаемый результат — доказать, что земля вовсе не шар, а что-то более сложное. Экспедиция планировалась на 2 года, а получилась на 7 лет. По ходу пьесы Кондамин установил отклонение от расчётной кривизны (чем сильно поменял модели расчёта координат тех лет), открыл каучук и хинин — и заодно придумал название стране, которая чуть позже получила независимость.

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

Ну и да, тут у нас одно из самых интересных мест в плане изучения эволюции. Галапагосы. Детская мечта. С них и начнём.
Читать дальше →

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

Reading time4 min
Views13K

Похоже, человечество делает успехи не только в плане освоения космоса. Люди с каждым годом все больше узнают о самих себе, используя это знание в разного рода практических проектах. Один из них — подключение мозга к вычислительным системам.

Всего через несколько месяцев после того, как Илон Маск продемонстрировал рабочий прототип чипа Neuralink, имплантированный сначала в мозг свиньи, а затем — обезьяны, компания BrainGate смогла достичь еще большего. Ученым и инженерам удалось установить беспроводную связь между человеческим мозгом и машиной. В эксперименте согласились принять участие два добровольца — парализованные из-за повреждений спинного мозга мужчины 35 и 63 лет.

Топ-32 оптических иллюзий движения от японского художника @jagarikin

Reading time3 min
Views68K
image

(1)

Есть такой японский цифровой художник じゃがりきん (jagarikin), который экспериментирует с иллюзией движения (обратный фи-феномен), когда пиксели не двигаются, а просто меняют цвет. Его работы репостнули Илон Маск и Стивен Пинкер. За полгода я хорошенько поизучал его работы (отмотал «Твиттер» на 5 лет) и выбрал 32 самых крутых и залипательных. Отметьте для себя, какая иллюзия приковала ваше внимание больше всего, и поделитесь в комментариях.

Канал в Telegram Cognitive Illisions, где я буду делиться самыми вырвиглазными находками, как хакнуть мозг через восприятие.

Осторожно: 1) Гифки тяжелые! 2) Много ярких мигающих картинок!

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

«Игровухи» — история компьютерных клубов в России

Reading time17 min
Views32K
image

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

На входе встречались малолетние, но злобные ребята, словно суслики в темноте сверкая глазками, недобро ухмыляясь. С тех, кто помладше и послабее могли и спросить — кто такой, кого знаешь и есть ли мелочь. В подвале, освещенным тусклыми люминесцентными лампами витает мгла сигаретного дыма, от чего может показаться, что ты очутился в окрестностях города Сайлент-Хилл. Разве что пахнет иначе: пролитым пивом, «кириешками», «дошиком» и потом местных обитателей, не слишком отличающихся от монстров туманного города, только шумнее и агрессивнее.

Здесь царит работа обшарпанных машин, стоящих на деревянных, не менее затюканных дешёвых школьных партах и матерный гвалт, как в прибрежном порту. А в самом темном углу притаился хмурый бородатый человек с тетрадкой, время от времени выкрикивая «2-я машина, время закончилось!». Сразу же следовал писклявый встревоженный ответ, мол, ещё минуточку, но отборный «матюк» не оставлял шансы на сопротивление и если нет монет, то как говорится, прошу на выход, друг. Поход в это место был сопряжен с определенным риском, можно было остаться как без денег или вещей, так и здоровья, морального, но чаще физического. Что это за место? Прибежище орков, пиратов? Притон наркоманов или адская обитель? Всего понемногу. Это один из многих российский игровых клубов или на жаргоне — «игровуха», а на языке малолетних шалопаев просто «компы», со своим колоритом и атмосферой.

О них и поговорим.
Читать дальше →

Оптимизируем производительность: JavaScript (V8) vs AssemblyScript (WebAssembly)

Reading time16 min
Views7.3K


Чтобы повысить производительность web-приложений, используйте WebAssembly в связке с AssemblyScript, чтобы переписать критически важные для производительности компоненты web-приложения, написанные на JavaScript. «И это действительно поможет?», — спросите вы.

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

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

Кто я такой и почему занимаюсь этой темой? 


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

Мне по-настоящему нравится язык AssemblyScript. Я даже в какой-то момент начал помогать разработчикам финансово. У них небольшая команда, в которой каждый серьёзно увлечён этим проектом. AssemblyScript — очень молодой язык, похожий на TypeScript и способный компилироваться в WebAssembly (Wasm). Именно в этом и заключается одно из его преимуществ. Раньше, чтобы использовать Wasm, web-разработчик должен был учить чуждые ему языки типа С, C++, C#, Go или Rust, так как в WebAssembly изначально могли компилироваться именно такие высокоуровневые языки со статической типизацией. 

Хотя AssemblyScript (ASC) и похож на TypeScript (TS), он не связан с этим языком и не  компилируется в JS. Схожесть в синтаксисе и семантике нужна, чтобы облегчить процесс «портирования» с TS на ASC. Такое портирование в основном сводится к добавлению аннотаций типов.
Читать дальше →

Как готовить микрофронтенды в Webpack 5

Reading time9 min
Views21K

Всем привет, меня зовут Иван и я фронтенд-разработчик из компании DexSys.

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

Начнём с того, что ребята с Хабра (@artemu78, @dfuse, @Katsuba) уже писали про Module Federation, так что, моя статья - это не что-то уникальное и прорывное. Скорее, это шишки, костыли и велосипеды, которые полезно знать тем, кто собирается использовать данную технологию.

Читать далее

Что детям нужно знать про зубы пожилых родственников

Reading time11 min
Views23K
image
Минимальный вариант протезирования, позволяющий жевать стейк лет этак в 75.

Взрослые дети часто не знают, что у пожилых родителей есть проблемы с зубами. Родители могут не поделиться по разным причинам и по нашему опыту нередко пытаются решить что-то своими силами, когда уже поздно и неэффективно. А зубы очень сильно влияют на качество жизни пожилого человека и его самоощущение. Когда можно спокойно жевать пищу, не испытывать неудобство в разговоре (чтобы зубы не выпадали) — это уже хорошо. Но многие привыкли хранить зубы в стаканчике, даже не зная, что давно уже можно сделать всё гораздо лучше и удобнее. Правда, конечно, не в рамках ОМС. То есть часто сами они позволить себе такое не могут, а обременять детей не хотят. Детям же надо знать, что стоматологическое здоровье влияет на здоровье всего организма, и снижение воспалительной нагрузки сильно облегчит прогнозы многих заболеваний.

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

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

Information

Rating
7,821-st
Location
Россия
Registered
Activity