Pull to refresh
48
Владислав @Wyrdread⁠-⁠only

Архитектор

Send message

Сколько строк на C нужно, чтобы выполнить a + b в Python?

Level of difficultyMedium
Reading time10 min
Views61K

В своей предыдущей статье я исследовал структуру PyObject и её роль в качестве заголовка для всех объектов среды исполнения CPython. Эта структура играет важнейшую роль в обеспечении наследования и полиморфизма в системе объектов CPython. Но это лишь вершина айсберга.

В этой статье мы опустимся на один уровень ниже и посмотрим, что же происходит внутри среды исполнения Python для выполнения простого действия a + b. Иными словами, мы узнаем о подробностях реализации типов, операторов и динамической диспетчеризации в CPython.

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

Читать далее
Total votes 58: ↑55 and ↓3+52
Comments64

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

Level of difficultyEasy
Reading time11 min
Views22K

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

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

Читать далее
Total votes 36: ↑33 and ↓3+30
Comments190

Оптимизируем использование памяти в приложениях Python

Reading time10 min
Views9.2K
Когда дело доходит до оптимизации производительности, чаще всего особое внимание уделяется скорости и активности использования ЦП. Гораздо реже кто-либо задумывается о потреблении памяти, конечно, пока не будут израсходованы мощности RAM. Есть много причин, по которым предпринимаются попытки лимитировать использование памяти – не только стремление избежать отказа приложения из-за ошибок, связанных с её исчерпанием.

В этой статье будет исследовано, как находить в ваших приложениях на Python такие участки, где возникает перерасход памяти, проанализировано, по каким причинам это происходит. Наконец, мы научимся снижать использование памяти и сокращать отпечаток программы в памяти, пользуясь простыми приёмами и эффективными структурами данных.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments0

OpenAssistant: Вышла бесплатная открытая альтернатива ChatGPT

Level of difficultyEasy
Reading time3 min
Views51K

Участники открытого сообщества LAION-AI выпустили в открытый доступ первые обученные модели OA_SFT_Llama_30B и OA_SFT_Llama_13B. и запустили ИИ-чатбот OpenAssistant на их основе. На текущий момент доступны модели в 13 и 30 млрд параметров, дообученные на мультиязычных датасетах, собранных сообществом. В основе моделей лежит уже успевшая стать популярной LLaMA.

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

"Мы хотим, чтобы OpenAssistant стал единой, объединяющей платформой, которую все другие системы используют для взаимодействия с людьми." - декларируют своё видение члены сообщества LAION.

Вы можете попробовать поговорить с OpenAssistant уже сейчаст тут.
Еще вы можете принять участие в формировании датасета на своём языке тут.

Читать далее
Total votes 59: ↑57 and ↓2+55
Comments121

Istio в разрезе: что умеет и не умеет самый популярный Service Mesh (обзор и видео доклада)

Level of difficultyHard
Reading time15 min
Views37K

В докладе я препарирую Istio, дабы понять, как он работает, какие у него подводные камни и как им правильно пользоваться.

Это мой второй доклад про Istio и Service Mesh. Первый я сделал на конференции Kuber Conf 2021: «Что ждать от внедрения Istio?». Рекомендую ознакомиться сначала с ним, будет несколько проще.

Читать далее
Total votes 70: ↑69 and ↓1+68
Comments8

Лучшие open-source инструменты для Python проектов

Reading time12 min
Views31K

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

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

Читать далее
Total votes 41: ↑38 and ↓3+35
Comments9

Чем грозит авария на Запорожской АЭС

Reading time18 min
Views115K
Запорожская АЭС – это крупнейшая АЭС Украины и Европы. Уже почти полгода она находится под контролем российских войск. В последний месяц вокруг нее возникает много тревожных новостей: ее территорию обстреливают, ходят слухи о ее минировании. Россия и Украина обвиняют друг друга в ядерном терроризме, а обстановка вокруг АЭС вызывает все большее беспокойство на уровне мировых лидеров и главы ООН.

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


Читать дальше →
Total votes 403: ↑396 and ↓7+389
Comments299

Компьютеры быстры, но вы этого не знаете

Reading time5 min
Views34K

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

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

Смотрели ли вы эти видео?

  1. Сравнение размера Вселенной в 3D
  2. Измеряем богатство Джеффа Безоса в рисе

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

Совсем недавно я внёс несколько оптимизаций в код, что помогло мне интуитивно понять, насколько быстро может работать компьютер. И я решил, что этим нужно поделиться.
Читать дальше →
Total votes 84: ↑80 and ↓4+76
Comments232

Как сравнивать распределения. От визуализации до статистических тестов

Reading time15 min
Views40K

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

Приятного чтения!
Total votes 8: ↑8 and ↓0+8
Comments4

Еще один гайд по переходу с Linux на Mac

Reading time15 min
Views19K

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

Читать далее
Total votes 62: ↑43 and ↓19+24
Comments68

Память в браузерах и в Node.js: ограничения, утечки и нестандартные оптимизации

Reading time32 min
Views41K

Интро: почему я написал эту статью


Меня зовут Виктор, я разрабатываю страницу результатов поиска Яндекса. Несмотря на внешнюю простоту, поисковая выдача — сложная штука: на каждый запрос генерируется своя уникальная страница, на которой в зависимости от запроса может присутствовать блок Картинок, Карты, Переводчик, видеоплеер и многие другие компоненты. Все они должны запускаться и работать в памяти обычных бюджетных телефонов, которые использует большинство наших пользователей. Браузерам должно хватать ресурсов, чтобы пользователь не видел вот такого:



На своих серверах мы должны генерировать сотни миллионов уникальных страниц в сутки — это сложнее, чем просто отдавать одни и те же ресурсы. Генерация страницы не должна быть слишком требовательной к памяти сервера.


Разрабатывая проект на JavaScript (TypeScript, ClojureScript или каком-то другом языке, транслируемом в JavaScript), мы привыкли создавать объекты, массивы, строки и вообще писать код, как будто память бесконечна. Это не так. Я расскажу о видах проблем с памятью, о том, какие ограничения мы часто забываем и как их можно преодолеть. В ответ браузеры и пользователи скажут вам спасибо.


Читать дальше →
Total votes 55: ↑55 and ↓0+55
Comments12

Как отлаживать bash-script-ы по шагам или, возможно, самая короткая статья о программировании/отладке на Хабре

Reading time1 min
Views41K

Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.

Читать далее
Total votes 190: ↑189 and ↓1+188
Comments37

Как писать питонический код: три рекомендации и три книги

Reading time15 min
Views35K

Новички в Python часто спрашивают, как писать питонический код. Проблема — расплывчатое определение слова "питонический". Подробным материалом, в котором вы найдёте ответы на вопрос выше и три полезные книги, делимся к старту курса по Fullstack-разработке на Python.

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments7

Ускоряем работу с графами в 20000 раз

Reading time5 min
Views11K

Использовать стандартные библиотеки и общеизвестные реализации алгоритмов — признак хорошего тона. Вместо изобретения своего алгоритма шифрования данных или своей хэш функции лучше взять уже готовое решение. Избегаем ошибок и не изобретаем велосипед заново. Но что если готового решения нет? В наше время это что-то невероятное. Есть github.com, есть набор платных решений.Тем интереснее обсудить необычную проблему. В данной статье расскажу о своем опыте оптимизации работы с данными, которые по своей природе представляют граф. А точнее сеть — разновидность графов.

Читать далее
Total votes 29: ↑26 and ↓3+23
Comments22

Как будут выглядеть процессоры после 2025 года

Reading time6 min
Views48K


Сколько хоронили закон Мура, а он продолжает работать. Даже сейчас, на фоне острого дефицита микросхем.

Планы Intel, AMD, Apple и производителей ARM следующего поколения говорят, что мы на пороге небольшой технологической революции. Транзисторы с круговым затвором, техпроцесс 2 нм, 3D-компоновка, квантовые технологии — вот планы производства микросхем на ближайшие годы. Впрочем, обо всём по порядку.
Читать дальше →
Total votes 62: ↑61 and ↓1+60
Comments67

Перейти с Linux на macOS и не сойти с ума

Reading time9 min
Views80K

Ноутбук — главный девайс в моей жизни, я провожу за ним бо́льшую часть суток. Он должен быть лёгким, компактным и мощным. Долгое время лидером по этим параметрам был Dell XPS 13, но всё поменялось с выходом MacBook Air на процессоре M1.

Air всего на 100 граммов тяжелее XPS 13, но примерно в три раза мощнее, автономнее и не нуждается в активном охлаждении. Никогда не думал, что скажу подобное про технику Apple, но MacBook Air — самое крутое устройство в своей весовой категории на рынке, оставившее конкурентов далеко позади.

Я фанат Линукса, эта операционная система для меня больше, чем просто окружение. Это философия, новостная повестка и постоянный предмет обсуждения. Поэтому сама идея отказа от Linux в пользу другой ОС меня всегда отталкивала. Да и тот эпизодический опыт, когда приходилось что-то делать в macOS, был эмоционально неприятным.

Но появление M1 посеяло во мне зерно сомнений: мой ноутбук больше не был самым крутым и навязчивой мыслью было то, что я отказываю себе в чём-то большем. Это зерно прорастало и проросло: я купил MacBook Air с 16GB ОЗУ и 512GB SSD, с удивлением обнаружив, что он ещё и стоит дешевле моего XPS. Впереди меня ожидали настройка окружения, борьба с Docker, грусть от отсутствия привычного автодополнения в консоли и много чего ещё.

Читать далее
Total votes 136: ↑131 and ↓5+126
Comments379

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

Reading time4 min
Views14K

Новая игра уральского разработчика позволит пользователю управлять вагонеткой механической почты в альтернативном мире России прошлого

Километры рельс, проводов, тонны громоздких панелей автоматики и умиротворённое путешествие на фоне русской глубинки – всё это ждёт Вас в новой игре «Pnevmo-Capsula: Domiki». Меня зовут Валентин Помешкин, я автор концепции, реализации и в этой статье я расскажу о своём детище, которое уже скоро выйдет, и о том, что же вас ждёт! Устраивайтесь поудобнее)

«Pnevmo-Capsula» - трёхмерная инди-игра в стиле квест, головоломка. Игрок контролирует подвижную капсулу и должен найти выход из уровня. Главной идеей игры является создать атмосферу изолированного, но уютного места, которое бы игрок безошибочно определил как Россия. Места без оглядки знакомого, но то и дело наталкивающего тебя на мысли «что-то здесь не так». Антураж сна с бесчисленным количеством деталей российского быта и забытых временем развалин. И позволить не спеша прокатиться по хорошо знакомым ему видам: ночным деревням, и пространствам, приоткрывшим завесу тайны. Многие элементы игры до сих пор имеют место быть, вдалеке от городов-милионников: жизнь там идёт неспешно, своим чередом, и именно таким представится мир «Пневмо-капсулы».

Читать далее
Total votes 80: ↑78 and ↓2+76
Comments32

Знакомство с невидимками

Reading time20 min
Views13K

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

Читать далее
Total votes 67: ↑64 and ↓3+61
Comments11
1
23 ...

Information

Rating
Does not participate
Location
London, England - London, Великобритания
Date of birth
Registered
Activity