Search
Write a publication
Pull to refresh
1
0

User

Send message

Истоки Python

Reading time23 min
Views7.1K

Привет, Хабр! Вашему вниманию представляется перевод статьи "The Origins of Python" за авторством Ламберта Меертенса - соавтора языка ABC и коллеги Гвидо ван Россума.

В своей статье Меертенс вспоминает как зарождалось программирование, своё участие в разработке языка ABC, знакомство с молодым Гвидо ван Россумом и зарождение языка Python.

Перевод предоставил Макс, авторов YouTube-канала PyLounge. Поехали!

Читать далее

Ускоряем тестирование: быстро, модно, без рутины

Reading time8 min
Views14K

Привет! Меня зовут Александр Пронин, я занимаюсь тестированием более пяти лет, последние полгода из которых — в QIWI, проект ContactPay. Мы делаем платежную систему для международного рынка, она состоит из микросервисов, которые написаны на Python и живут в Google Cloud. Проект существует на рынке более двух лет, на данный момент среди наших клиентов уже есть компании-единороги. 

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

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

Читать далее

Статья о том, как «Не надо искать работу за границей»

Reading time6 min
Views51K

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

Читать далее

Как лучше обучать RNN для прогнозирования временных рядов?

Reading time10 min
Views23K

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

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

Читать далее

Почему Твиттеру нужны 1000 микросервисов

Reading time3 min
Views19K

В последнее время на Twitter чуть ли не из каждого утюга льется критика(1,2,3) по поводу оверинжиниринга. Даже некоторые вполне технически подкованные люди заявляют, что Твиттер можно было бы поддерживать вообще одному - мол, "подумаешь, твиты хостить, 80% всех микросервисов ему не нужны".

Читать далее

Проверяем Архитектурные стили на движке Factorio (часть 2, SOA)

Reading time27 min
Views29K

Все снова большой привет, спустя полгода! Сегодня мы будем продолжать работать на движке Factorio в попытках разобраться, какой же Архитектурный стиль по каким аспектам является хорошим или плохим!

Welcome!

Сегодня мы рассмотрим SOA и даже сравним его с Monolith-архитектурой!

Читать далее...

Поздравляю, у нас в команде человек «Всё — г… но»

Reading time7 min
Views95K

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

Вот как это было

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

Reading time11 min
Views168K

Python-модуль asyncio позволяет заниматься асинхронным программированием с применением конкурентного выполнения кода, основанного на корутинах. Хотя этот модуль имеется в Python уже много лет, он остаётся одним из самых интересных механизмов языка. Но asyncio, при этом, можно назвать ещё и одним из модулей, которые вызывают больше всего недоразумений. Дело в том, что начинающим разработчикам бывает трудно приступить к использованию asyncio.

Перед вами — подробное и всестороннее руководство по использованию модуля asyncio в Python. В частности, здесь будут рассмотрены следующие основные вопросы:

Читать далее

Как оценить реальную производительность своего кода

Reading time9 min
Views15K

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

Дружба, благодаря которой Google вырос до огромных размеров

Reading time23 min
Views40K
Программируя вместе за одним компьютером, Джефф Дин и Санджай Гемават изменили курс компании — и весь Интернет. На иллюстрации: лучшие программисты Google иногда кажутся двумя полушариями одного мозга. Рисунок Дэвида Планкерта

Однажды в марте 2000 года шесть лучших инженеров Google собрались в импровизированном конференц-зале. Произошло ЧП: с октября 1999 года остановились краулеры. Хотя пользователям ещё выдавали поисковые результаты, но они устарели на пять месяцев. На карту было поставлено больше, чем предполагали инженеры. В данный момент Ларри Пейдж и Сергей Брин вели переговоры о поставке поиска Google на крупнейший в интернете портал Yahoo и обещали увеличить поисковый индекс в десять раз, чтобы идти в ногу со Всемирной паутиной, которая за предыдущий год удвоилась в размере. Если краулеры не починят, google.com застрянет в прошлом, сделка с Yahoo может провалиться, а компания рискует сжечь полученные инвестиции и кануть в небытие.
Читать дальше →

Легендарный: история самого высокооплачиваемого инженера-программиста из Google

Reading time5 min
Views26K
«В 2002 году Google-поиск не работал несколько часов. Джеффу Дину пришлось вручную обрабатывать запросы пользователей. Качество поисковой выдачи выросло в два раза» — забавный факт о Джеффе Дине.

Разумеется, это лишь шутка — про Джеффа Дина их ходит совсем не мало. Совсем скоро вы поймете, откуда «растут ноги» у баек об одном из самых легендарных программистов из Google.


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

От джуна до тимлида. Должен ли тимлид писать хороший код, чем хорош planning poker и другие интересности

Reading time9 min
Views5K

Когда-то Юрий Орлов решил перейти из врачей в программисты. В 2018 году он устроился в Genix джуном, а сейчас он — тимлид VK Group. Начало истории вы можете послушать здесь, а в статье мы обсудим перипетии тимлидства — как опыт работы врачом помогает находить общий язык с людьми, должен ли тимлид писать код лучше членов команды, как работает Planning poker и что самое сложное в задачах тимлида.

Cтатья подготовлена по мотивам подкаста Moscow Python Podcast при поддержке курсов Learn Python.

Почитаю, пока тимлид не видит

Как вырвать нерв из головы и остаться без лица: почему так дорого рвать «коренной» зуб

Reading time8 min
Views44K
80 тысяч за удаление зуба — а не охренели ли мы в край? Примерно такой комментарий был в одном из прошлых постов. Показываю, почему некоторые зубы такие дорогие.

Нервов у нас в районе головы столько, что в них могут быть подло понатыканы другие органы, обычно растущие в других местах. Вот типичный случай, когда пациентка осталась бы инвалидом на всю жизнь в какой-нибудь маленькой региональной клинике с вырыванием зубов без предварительного КТ:


Видите зуб-восьмёрку и тоненькую чёрточку под ним? Это так называемый коренной зуб и нерв. Точнее, это их рентген-тени.

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

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

И вот в этот момент на сцене появляюсь я со своими лезвиями и начинаю мило улыбаться. Потому что есть целых три инженерных подхода.
Читать дальше →

Postgres WASM от Snaplet и Supabase

Reading time8 min
Views5.3K


Сегодня мы с нашими друзьями из Snaplet открываем исходники postgres-wasm — запускаемый в браузере сервер PostgreSQL с полным набором функционала, включая сохранение состояния в браузере, восстановление из pg_dump и логическую репликацию из удалённой базы данных.


Впервые Postgres в браузере запустили в Crunchy Data, их потрясающая версия выложена на HN месяц назад. Вместе со Snaplet мы решили сделать версию с открытым кодом. Посмотрим, как она разрабатывается и какой функционал мы добавили. Подробности — к старту нашего флагманского курса по Data Science.


Что такое Snaplet?

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

Эмиграция 2022

Reading time15 min
Views57K

По сведениям Forbes Россию после 21 сентября покинули около 700 тысяч граждан. Ещё примерно 400 тысяч выехало за весну и лето, что в два раза больше аналогичного периода прошлого года. Вычитаем туристов, которые потом вернулись в Россию. Это число можно оценить по тому, сколько человек возвращалось в прошлые годы. И в сумме получается больше 800 тысяч мигрантов меньше, чем за год. Это сопоставимо с эмиграцией времён развала Советского Союза, тогда за 10-15 лет – со времён перестройки и до конца 90-ых – страну покинуло по разным оценкам от миллиона до полутора миллионов человек. Это большие цифры, которые точно повлияют на будущее, поэтому сегодня я бы хотел поговорить об эмиграции.

Читать далее

Пируэты над планетой или первые метеорологические

Reading time10 min
Views5.2K
Приятное теплое чувство испытываешь, просматривая отчеты о старых космических миссиях. Технологии, по сравнению с сегодняшними, неразвитые, ракеты-носители маломощные и вносят дополнительные ограничения, но люди планируют амбициозные полеты, которые, к тому же, оказываются очень успешными. Первые метеорологические спутники TIROS весили всего 122 кг и не могли разворачивать камеру в желаемом направлении — Земля была видна только часть витка, что в кадр попало, то и засняли. Но это не помешало им стать очень удачными и востребованными аппаратами.


Спутник TIROS, фото NOAA
Читать дальше →

[Python Intermediate] Урок 1. Конфигурация приложения

Reading time9 min
Views33K

Задуманная мною серия статей-уроков будет полезна прежде всего тем, кто уже знает основы Python, но находится в начале пути и не может структурировать обрывки знаний. Если ты уже отучился на одном из бесчисленных курсов или близок к его завершению, то это для тебя!

Читать далее

Как повысить безопасность приложений с помощью фабрик строк в psycopg

Reading time7 min
Views5.7K

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

SQL и NoSQL. Правда ли одно лучше другого?

Reading time13 min
Views34K

Базы данных (БД) существуют с первых дней программирования, а появились они ещё раньше. Это — неотъемлемые части любых приложений. Хорошо спроектированная БД — это один из важнейших компонентов, влияющих на производительность программных проектов. Из-за этого множество архитекторов программных решений исследовали массу подходов к управлению данными, пытаясь выяснить то, какие из этих подходов работоспособны в определённых сценариях, а какие — нет. Выбор подходящей архитектуры БД обычно сводится к выбору между SQL и NoSQL, между реляционными и нереляционными базами данных. А иногда в одном проекте используют и то, и другое.

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

Читать далее

Цивилизация Пружин, 3/5

Reading time10 min
Views60K

Часть 3. Цивилизация пружин



[Image credit: By Lothar Spurzem — Own work, CC BY-SA 2.0 de, commons.wikimedia.org/w/index.php?curid=39574590]

Предыдущая часть. Краткое содержание предыдущей серии.

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

Начнём с электрической батареи. Вот хотя бы литиево-ионной. Откуда в ней берётся энергия?

Всё просто, там идёт[210] электрохимическая реакция:

LiC6 + CoO2 <-> C6 + LiCoO2

Идёт налево — песнь за заряжается. Направо — разряжается.
Вы, конечно, уже догадались

Information

Rating
Does not participate
Registered
Activity