Search
Write a publication
Pull to refresh
2
0
Send message

Книга «Внутри CPYTHON: гид по интерпретатору Python»

Reading time12 min
Views16K
image Привет, Хаброжители!

CPython, самая популярная реализация Python, абстрагируется от сложностей ОС и предоставляет платформу для создания масштабируемых и высокопроизводительных приложений. Каждому python-разработчику на какой-то стадии необходимо будет узнать, как работает CPython. Это позволит в полной мере использовать его мощь и оптимизировать приложения. Вы разберетесь с основными концепциями внутреннего устройства CPython и научитесь: читать исходный код интерпретатора CPython и свободно ориентироваться в нем; вносить изменения в синтаксис Python и компилировать их в вашу собственную версию CPython; понимать внутреннюю реализацию таких структур, как списки, словари и генераторы; управлять памятью CPython; масштабировать код Python за счет параллелизма и конкурентного выполнения; дополнять базовые типы новой функциональностью; выполнять наборы тестов; профилировать и проводить бенчмарк Python-кода и исполнительной среды; отлаживать код C и Python на профессиональном уровне; изменять или обновлять компоненты библиотеки CPython, чтобы они могли использоваться в будущих версиях.
Читать дальше →

Поправки в закон о государственном языке: ответы для предпринимателей и айтишников

Level of difficultyEasy
Reading time9 min
Views13K

С 28 февраля 2023 г. вступила в силу новая редакция Федерального закона № 53-ФЗ «О государственном языке Российской Федерации». Как пишут в большинстве обзоров, закон направлен на ограничение использования иностранных слов государственными органами. Однако фактически установленные законом запретительные меры шире и определяют, в частности, обязательность использования русского языка в информации, предназначенной для потребителей товаров (работ, услуг).

При этом новая редакция Федерального закона № 53-ФЗ совершенно четко и недвусмысленно определяет, как именно будет определяться корректность использования русского языка. Именно, как гласит п. 6 ст. 1 закона, при использовании государственного языка Российской Федерации не допускается употребление:

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

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

То есть, если вы на этикетке совершенно по-русски написали краткую информацию о товаре — каждое слово в этом тексте должно соответствовать утвержденным нормативным словарям, справочникам и грамматикам. Но, возможно, все не так строго, и сложность исполнения закона смягчается теми или иными обстоятельствами? Попробуем разобраться более детально.

Читать далее

Доработка фильтра обратного осмоса

Level of difficultyEasy
Reading time4 min
Views28K

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


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


грязные


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


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


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

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

Как выиграть ВСОШ по информатике и больше не волноваться о ЕГЭ?

Level of difficultyEasy
Reading time7 min
Views46K

Привет, меня зовут Сергей Вольнов и я сейчас учусь на первом курсе в НИУ ВШЭ на программе прикладной математики и информатики. Если поступать туда по ЕГЭ, то проходной в этом году был 304 балла по трем предметам, но выиграв олимпиады туда можно без вступительных испытаний.

В 10 и 11 классе я стал призером заключительного этапа Всероссийской Олимпиады Школьников по Информатике (ВСОШ) и даже стал медалистом на международной Жаутыковской олимпиаде по Computer Science. Призерство ВСОШ дало мне возможность поступить в любой ВУЗ на информатическое направление по БВИ и я выбрал ВШЭ.

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

Читать далее

Как я ставлю задачу для сотрудника

Level of difficultyEasy
Reading time4 min
Views18K

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

Меня зовут Андрей Глушко. Я менеджер ИТ проектов, занимаюсь менторством, прошёл путь от разработчика до руководителя, в своих подходах опираюсь в первую очередь на людей, а потом уже на практики.

Читать далее

В этой одежде системы распознавания будут считать вас животным

Reading time4 min
Views45K
У Рэйчел Дидеро интересный набор навыков: несколько степеней в области дизайна одежды (полученные в школах трех разных стран) и докторская степень в области машинного обучения Миланского политехнического университета.

Эти знания позволили ей выпустить коллекцию — довольно уродливой — одежды Manifesto. Она страшная и безвкусная, зато в ней вы становитесь нераспознаваемые для ML-алгоритма детектирования Yolo, активно используемого для работы с уличными камерами.



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

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

Взаимные угрозы шахматных фигур в числовой разнице

Level of difficultyEasy
Reading time5 min
Views1.7K

Решил переосмыслить оригинальную идею Александра В. Катапанга младшего (Alexander V. Catapang Jr.), реализованную в шахматном тренажёре «Guess-Chess» из пакета логических игр «eGames» (1997-й год). Получившуюся программу вначале обозвал «Загадочные шахматы» («Riddle chess»), но поскольку не ограничивается только индийскими шахматами, и есть дополнительно тайские макрук (makruk), китайские сянци (xiangqi) и японские сёги (shogi) — стала «Генератором загадок» («Divine generator»).

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

См. далее...

Российский Kubernetes, какой он? Знакомимся с платформой Deckhouse

Reading time3 min
Views6.6K

Исследование Statista в России показывает, что около 60% компаний применяют технологию оркестрации контейнеров в рамках своей инфраструктуры. При этом самостоятельная разработка на Open Source для решения этой задачи значительно повышает требования к скиллам команды и характеризуется высокой стоимостью. Другой вариант — облачные PaaS-сервисы, но они зачастую имеют ограниченный набор инструментов, а зарубежные платформы ушли с российского рынка.


Есть ли сегодня в России аналоги западным платформам контейнеризации? Мы решили изучить этот вопрос и пригласили директора по развитию Deckhouse компании «Флант» Артёма Кожокина, чтобы подробно расспросить про их платформу оркестрации контейнеров.


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


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

Кислородное голодание и качество воздуха в Дубае

Level of difficultyEasy
Reading time4 min
Views18K

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

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

Читать далее

Произвольные красивые цвета: RGB, HSL, LCH и вот это вот всё

Reading time6 min
Views4.4K

RGB какой-то отстой.

Модель RGB, мало чем отличающаяся от ASCII, адресов памяти и наличия 86 400 секунд в сутках, является одной из тех инструментов, которые немного упрощают программирование, до поры до времени.

Читать далее

Топ 20 ботов которые постоянно сканируют ваши сайты. Не все из них одинаково полезны

Level of difficultyEasy
Reading time15 min
Views16K

Здравствуйте! На связи Максим Кульгин, моя компания clickfraud.ru защищает предпринимателей от ущерба, вызываемого действиями «плохих» роботов. Многие администраторы веб-сайтов настолько напуганы современными сетевыми угрозами, что без разбора готовы бороться против всех средств автоматизированного обхода. Оправдана ли такая глухая линия обороны? Вряд ли.

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

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

Начнем с самого простого.

Любой маркетолог скажет, что содержимое сайта должно постоянно обновляться — снова и снова — только так можно заполучить благосклонность SEO (Search Engine Optimization, оптимизация под поисковые системы), а значит, и шанс на внимание со стороны целевой аудитории.

Однако бывает, что сайты содержат сотни и даже тысячи страниц. И что? Привлекать поисковики вручную? Если контента много и он обновляется часто — как гарантировать, что изменения действительно благотворно скажутся на SEO?

Вот тут-то и вступают в игру поисковые роботы! Такой робот прочитает карту сайта, сравнит даты последнего обновления (у себя и на сайте) — и проиндексирует новое содержимое!

Кто-то подумает, что поисковые роботы — это Google BotYandex Bot, ну, может быть, ещё какой-то там bot. На самом деле их очень много! Тот, кто заинтересован в продвижении сайта должен знать о сетевых ботах хотя бы в общих чертах. Зачем? Чтобы использовать в свою пользу!

Читать далее

Формула, соединяющая е и пи

Level of difficultyMedium
Reading time2 min
Views6.5K

Факториал натурального числа nопределяется так: n!=1\cdot2\cdot\ldots\cdot n. Например,2!=2,\ 5!=120,\ 10!=3628800, 100!- число со 157 цифрами. Формула, о которой пойдёт речь далее, используется для оценки факториала при больших n.

Читать далее

Как вавилонянам удалось вычислить √2 с точностью до шести знаков после запятой?

Reading time5 min
Views33K
Эта изготовленная примерно в 1800-1600 годах до нашей эры глиняная табличка свидетельствует, что древние вавилоняне смогли аппроксимировать квадратный корень двух с точностью 99,9999%.

Как им это удалось?

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

Идентификация, Аутентификация, Авторизация. В чем же разница?

Level of difficultyEasy
Reading time4 min
Views77K

Всем привет, дорогие друзья!

Приходилось ли Вам когда-нибудь тестировать формы авторизации?

Думаю, что каждый тестировщик сталкивался с ситуацией, когда после тестирования одной из таких «форм» с логином и паролем приходилось заводить баг-репорт c использованием слова «Авторизация».

Но ведь задача тестировщика постараться максимально точно и грамотно обозначить проблему!

Возможно ли это? Конечно!

Именно поэтому в данной статье мы разберем такой процесс как «Авторизация», а также поговорим о таких очень близких понятиях как «Идентификация» и «Аутентификация». Разберем, как всё это взаимосвязано и постараемся сделать это максимально просто и доступно для того, чтобы у вас не осталось никаких вопросов после прочтения данной статьи!

Читать далее

Самый простой способ редактировать PDF

Reading time3 min
Views156K


История сложилась так, что в 80-е годы именно PostScript стал стандартом для цифровых документов, а из него появился «портативный» PDF. Вероятно, нам ещё долго придётся жить с этим наследием типографской индустрии 20 века.

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

Посмотрим, какие есть варианты для быстрого редактирования PDF с сохранением правок в цифровом виде.
Читать дальше →

Scrum: вредные советы

Level of difficultyEasy
Reading time3 min
Views4.9K

Scrum - популярный в командах разработки фреймворк. Но так ли он важен и нужен в действительности?

В статье в формате "вредных советов" приведены порочные практики, которые можно встретить в Scrum-командах.

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

Читать далее

Module Federation — что скрывается под кажущейся простотой

Level of difficultyMedium
Reading time11 min
Views37K

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

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

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

Начнем!

Читать далее

Колдовской NeoVIM. Часть пятая. «Окно в… редакторе. И фолды»

Level of difficultyEasy
Reading time3 min
Views7.3K

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

Читать далее

Не пытайтесь измерить использование памяти в Pandas

Level of difficultyEasy
Reading time5 min
Views4K

Представьте: у вас есть файл с данными, которые вы хотите обработать в Pandas. Хочется быть уверенным, что память не закончится. Как оценить использование памяти с учетом размера файла?


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


  • покажу широкий диапазон использования памяти ещё до обработки, только во время загрузки данных;
  • расскажу о других подходах — измерении и передаче файла по частям.
Читать дальше →

Реализация мемоизации в JavaScript

Reading time32 min
Views11K

Фраза “делать свой велосипед” обычно употребляется для негативного окраса чего-то. Но именно этим мы будем заниматься здесь. Потому что это эффективный метод для того, чтобы разобраться в какой-то теме. Попробовав самому реализовать что-то, мы лучше разберемся в инструментах, которые обычно делают эту работу за нас. После этого мы сможем извлекать больше пользы из привычных инструментов. Например знания о внутреннем устройстве определённых систем позволит вам дебажить проблему гораздо быстрее хотя бы потому, что вы будете знать, что могло пойти не так. После того, как попытаешься реализовать что-то сам, некоторые вещи оказываются проще и перестают быть магией. А некоторые, казавшиеся простыми библиотеки, оказываются настолько пропитанными нюансами, что ты становишься благодарен создателю пакета за его труд

Читать далее

Information

Rating
6,417-th
Registered
Activity