Pull to refresh
2
0
Send message

Cold Energy —  генератор вместо кулера на процессоре

Reading time6 min
Views4.8K

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

В этой статье расскажем о сути проекта.

Читать далее

Js, трюки, наблюдения, бенчмарки и как Лиса уничтожает Хром. Я протестировал всё, что вам было лень

Reading time4 min
Views26K
Картинка, конечно, стронгли анрилейтед

Разные трюки я тестировал на Google Chrome 107.0.5304.107 и Mozilla Firefox 107.0 на Windows 10.

Чтобы результаты всегда были железно воспроизводимыми, я отключил все С-State’ы, ядра зафиксировал на 5 ГГц.

У меня 9900К, это Coffee Lake c AVX256, какие оптимизации применит Jit для вашего процессора — я не знаю, результат на вашем компьютере может отличаться от моего, в т.ч. из-за микроархитектуры процессора.

Скорость парсинга кода тоже входит в бенчмарк, поэтому браузер с быстрым парсером будет впереди.
Читать дальше →

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

Reading time3 min
Views23K

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

О маленьком.

О запасливом.

О хомяке.

Читать далее

5 полезных расширений Chrome для тестировщиков

Reading time4 min
Views26K

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

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

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

Читать далее

Dynamic Programming, или как использовать предыдущий computation-опыт

Reading time8 min
Views12K

Меня зовут Аят, я Android-инженер команды антифрода в inDrive. Эта статья не связана с продукционной разработкой, но будет касаться программирования. Я расскажу о Dynamic Programming (DP) и о том, как эффективно использовать предыдущий computation-опыт. Надеюсь, будет интересно. 

Порешать задачи с использованием DP

Много лет тому назад: обзор винтажного ноутбука Dell 320N

Reading time7 min
Views10K

На свете существуют поистине вечные вещи. Например, Стоунхендж, египетские пирамиды и ноутбуки Dell, выпущенные до переноса их производства в Китай. Об одном таком девайсе — ноуте Dell 320N из моей коллекции винтажных ноутбуков — я хочу сегодня рассказать: несмотря на более чем преклонный возраст, эта машина всё ещё способна удивлять.
Читать дальше →

Делаем свернутый контент доступным с помощью hidden=until-Found

Reading time3 min
Views3.1K

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

HTML-атрибут hidden=until-found и событие beforematch могут решить эти проблемы. Добавляя hidden=until-found в контейнер для вашего скрытого контента, вы позволяете браузеру искать текст в этой скрытой области и открывать раздел, если совпадение найдено.

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

Эти функции доступны в Chrome 102, поэтому давайте посмотрим, как они работают.

Читать далее

Как построить WaitGroup на основе 32-разрядного целого числа

Reading time7 min
Views2.7K
image

В Go есть приятная утилита для синхронизации, именуемая WaitGroup, которую могут ожидать одна или несколько горутин. Это требуется для конкурентного завершения задач. В других языках обычно действует следующее соглашение по завершению задач: нужно объединять потоки, выполняющие работу. В Go горутины не имеют ни значений, ни дескрипторов, поэтому WaitGroup применяется вместо объединений. Собирание WaitGroup на основе типичных портируемых примитивов – путаное дело, в которое вовлечены конструкторы и деструкторы; также в процессе этой работы приходится управлять временами жизни. Однако, как минимум, под Linux и под Windows, можно построить WaitGroup из целого числа (инициализируемого в значении), во многом как при создании 32-разрядной очереди и 32-разрядного барьера.
Читать дальше →

Технология непрерывной поставки ПО

Reading time8 min
Views4.8K

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

Читать далее

Управление производительностью с Python 3.12

Reading time6 min
Views15K

В Python 3.12 появилась поддержка perf profiling. В этой статье увидим, как это помогает сократить время выполнения Python-скрипта с 36 секунд до 0,8. Мы рассмотрим Linux-инструмент perfграфики Flame Graph, посмотрим на  дизассемблированный код и займемся поиском ошибок.

Читать далее

Слово vs Понятие и Почему специальные методики запоминания слов — баловство

Reading time3 min
Views10K

Представим, что англичанин учит русский язык, встречает слово «стол». Ему объясняют, что это и table, и desk (письменный). Ну ок. Затем он встречает где-нибудь «паспортный стол». Стол?? Видит в супермаркете вывеску «Стол заказов», но там внезапно нет никакого стола, а есть девочка за стойкой с планшетным компьютером… Англичанин начинает понимать, что «стол» — это ещё некий пункт, где граждан принимают по конкретному вопросу (логично: исторически для работы с документами требовался desk).

Со временем выясняется, что «стол» — это не только table и desk, но и board, и department, и ещё много чего. В сознании англичанина «стол» обрастает дополнительными значениями и постепенно кристаллизуется из слова в понятие. Прочитав, что кому-то дали «кров и стол», он на этом этапе уже легко понимает, что речь не про desk.

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

Дайте начинающему и продвинутому студентам один и тот же английский текст. Допустим, начинающий знает все слова в этом тексте и даже те конкретные значения, в которых эти слова использованы. Вроде бы, они с продвинутым студентом в равных условиях. Но! Начинающий всё равно тратит больше времени на то, чтобы перевести/понять текст: ему приходится разбираться, в каком конкретно значении использовано каждое слово, и собирать эти смыслы в предложение. Продвинутый делает это мгновенно: любую фразу он просвечивает сквозь кристаллы тяжёлых, годами формировавшихся понятий.

Читать далее

Маскировка трафика OpenVPN при помощи обфускации

Reading time6 min
Views59K

Привет мой дорогой друг. Ну вот и ты озадачился вопросом безопасности и/или анонимности в сети интернет в столь сложное высокотехнологичное время, где каждый очень хочет подглядеть за тобой или как-то ограничить в доступе к ресурсам.

Читать далее

Геймерские материнские платы, жесткие диски и раритетный синтезатор: новые находки на испанской барахолке

Reading time3 min
Views11K


Привет, Хабр! Сегодня, как обычно, я отправился на барахолку, которая находится неподалеку от Валенсии. К слову, у нас тут неожиданно похолодало, температура днем снизилась с 20°C до примерно 12-13°C. Я боялся, что барахолка из-за таких «диких» холодов не состоится, но, к счастью, опасения были напрасны — людей было не меньше, чем обычно, как продавцов, так и покупателей. Товаров, интересных и разных, тоже было много. Под катом — подробности о находках и покупках.
Читать дальше →

Обзор библиотек на питоне для моделирования в сфере электроэнергетики

Reading time18 min
Views9.2K

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

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

Читать далее

Красивая иконка на табло Яндекс Браузера

Reading time6 min
Views10K

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

Читать далее

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

Reading time6 min
Views51K
Разрешение на пользование сотовым телефоном Nokia в 1998 году

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

Свой личный VPN — полностью легальный инструмент для безопасной работы в интернете. Вопрос в том, как долго продлится такая ситуация. И что делать, если использование этого инструмента ограничат? Некоторые уже начали готовиться к худшему сценарию.
Узнать правду

Obsidian + Dataview: Задачи

Level of difficultyMedium
Reading time5 min
Views40K

В прошлой статье Obsidian + Dataview: Таблицы я рассказал про установку плагина Dataview, формирование таблиц с его помощью и разобрал 4 кейса его использования.

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

Сегодня хотелось бы остановиться на задачах, тем более что Dataview позволяет сделать из Обсидиана полноценный task/todo-менеджер с календарём и прочими приятностями.

Читать далее

Полное руководство по модулю asyncio в Python. Часть 7

Reading time21 min
Views19K

Публикуем седьмую часть (12345, 6) перевода руководства по модулю asyncio в Python. Здесь представлены разделы исходного материала с 17 по 19.

Читать далее

Выполним ряд операций ECC, чтобы получить значение приватного ключа к Биткоин Кошельку. Twist Attack, пример №1

Reading time7 min
Views5.4K

Не так давно пакет elliptic (6.5.4) для стандартных эллиптических кривых был уязвим для различных атак, одним из которых является Twist Attack. Криптографическая проблема была в реализации secp256k1. Нам известно что криптовалюта Биткоин использует secp256k1 и эта атака не обошла Биткоин стороной, согласно уязвимости CVE-2020-28498 подтверждающие стороны транзакции алгоритма ECDSA через определенные точки на эллиптической кривой secp256k1 передавали частичные значение приватного ключа (более простые подгруппы состоящие от 5 до 45 bit )
которые называются секстическими поворотами [sextic twists] этот процесс настолько опасен что раскрывает зашифрованные данные после выполнения ряда операций ECC.

Аренда выделенного сервера в России (Москве)

Применение и реализация

Почему вам не стоит использовать Styled

Reading time3 min
Views12K

Технология css-in-js существует уже довольно давно. Ещё в начале своего профессионального опыта я встречал подходы, в которых стайлинг локальных частей интерфейса пробрасывался в html через javascript в виде css директив. Иногда это необходимая мера, хотя необходимой она случается изредка, но раз в год, как говорится, и палка стреляет. У меня на опыте был пример построения раздела интерфейса, в котором устанавливаемое на сайт пользователя модальное окно можно рестайлить через кодовый редактор с live preview. css-in-js бывает оправдан, поэтому хочу сразу оговориться - хоронить никакой подход не стоит. Но и идеализировать его как универсальную пилюлю тоже не надо. Рендер стилей, привязанный к логике рендера компонентов в контексте всего проекта - это просто свой путь со своими приключениями, появившийся на мой взгляд в общей психопатии привязывать к state всё что только можно. Что если посмотреть - откуда взялась эта техногогия? На сегодняшний день на рынке проектирования интерфейсов сложился монополист react, диктующий программистам свои правила игры, и который даже без использования styled модуля имеет в себе простейщую инверсию управления cssInJs.
React - важный персонаж в этой теме. Он, словно useEffect всего современного front-end - стал центром силы, средоточием зла в виде голого state management, не предусматривающего из коробки ничего иного.

Читать далее

Information

Rating
6,115-th
Registered
Activity