Pull to refresh
2
0
Send message

Моя шпаргалка по pandas

Reading time8 min
Views658K
Один преподаватель как-то сказал мне, что если поискать аналог программиста в мире книг, то окажется, что программисты похожи не на учебники, а на оглавления учебников: они не помнят всего, но знают, как быстро найти то, что им нужно.

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



Нельзя сказать, что это — исчерпывающий список возможностей pandas, но сюда входят функции, которыми я пользуюсь чаще всего, примеры и мои пояснения по поводу ситуаций, в которых эти функции особенно полезны.
Читать дальше →
Total votes 32: ↑30 and ↓2+47
Comments8

Эксперименты с микроконтроллерами в Jupyter Notebook

Reading time12 min
Views13K

Jupyter Notebook — любимый инструмент-среда для data scientist'ов, аналитиков, инженеров, математиков, студентов и даже для нас — самых обычных ученых в экспериментальной физике.


Этот инструмент предназначен для работы с интерпретируемыми языками и удобного графического представления данных. Долгое время мы просто считали на нем, используя Python и математические библиотеки (numpy, SciPy, matplot и т.д.). Но оказывается данная среда не так проста и имеет гораздо больший потенциал. Очень неожиданно, но Jupyter позволяет легко манипулировать электронными устройствами на микроконтроллерах, может служить чем-то вроде REPL среды для МК только без слабенького MicroPython и внушительной поддержкой переферии чипа, причем все это почти из коробки.


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

Открытые онлайн-материалы от Computer Science центра, часть 2

Reading time1 min
Views11K
В первой части поста мы рассказали о наших популярных онлайн-курсах на Stepik, а теперь выкладываем записи открытых лекций и видеокурсов на YouTube.


Total votes 17: ↑17 and ↓0+17
Comments1

Алгоритмы на экзамене в ШАД

Reading time7 min
Views11K

Привет! Меня зовут Александр Курилкин, и я веду курс по алгоритмам в «ШАД Helper». В этом посте я разберу несколько задач из вступительных экзаменов прошлых лет, чтобы вы смогли увидеть, что вас ждет, и понять, чему мы сможем вас научить на нашем курсе. Надеюсь, что вы разделяете мою любовь к интересным задачам по алгоритмам и получите искреннее удовольствие от прочтения этого поста! Итак, приступим...


Читать дальше →
Total votes 8: ↑7 and ↓1+13
Comments2

DIY и Open Source в борьбе с Covid-19: Аппараты искусственной вентиляции лёгких

Reading time2 min
Views35K
image

Российских проектов пока что не наблюдается (если хотите — пишите в личку). Вот список DIY-проектов со всего мира, как можно быстро и дешево сделать аппарат ИВЛ:


UPD: Open Source, Open Architecture Ventilator Engineering Design Specifications

Под катом — табличка сравнения проектов и прочая полезная информация для рукастых инженеров.
Читать дальше →
Total votes 29: ↑24 and ↓5+37
Comments131

TTA процессор. Часть 1

Reading time2 min
Views2.9K

Предисловие


Идеей создания собственного простого процессора, если это можно так назвать, я загорелся давно. Выбор архитектуры — дело неодназаначное, но будучи от части минималистом, захотелось реализовать что-то простое, в то же время мощьное и расширяемое, TTA отлично для этого подошла.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments1

Embox RTOS на Raspberry Pi

Reading time4 min
Views12K
image Привет!

У нас часто спрашивают есть ли в Embox поддержка Raspberry Pi. Да, есть. Описание как запустить теперь тут. В этой статье я хочу чуть подробней об этом рассказать.
Читать дальше →
Total votes 17: ↑15 and ↓2+19
Comments9

Анатомия таблиц LuaJIT и особенности их использования

Reading time10 min
Views13K

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


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

Чем плоха СМС-аутентификация и как защититься от угона SIM-карты

Reading time6 min
Views27K
Привет, Хабр! В прошлой статье мы затронули тему, что аутентификация по СМС – не самый лучший способ многофакторной аутентификации. Такой способ используют многие веб-сервисы: соцсети, почтовые клиенты, платежные системы. Вдобавок номер телефона используется в качестве логина: для регистрации ВКонтакте, в Telegram и так далее. 

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

В этой статье возьмем несколько популярных сервисов и заменим СМС-аутентификацию на более безопасные способы. Заодно разберемся, как дополнительно защитить аккаунты от угона и спать спокойно.
На статью нас вдохновил лонгрид MyCrypto, посвященный защите от SIM-джекинга (SimJacking). Мы изучили их рекомендации и составили актуальный список для России. 

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

Собираем 8-битный компьютер: как уменьшить количество микросхем до шести

Reading time5 min
Views24K

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

В 8-битных системах есть что-то перманентно притягательное: вы можете собрать автономную систему, достаточно мощную, чтобы поддерживать адекватное взаимодействие с пользователем, но достаточно простую, чтобы собрать и запрограммировать её самостоятельно. Большинство современных 8-битных машин, созданных любителями, завязаны на классических процессорах, которые жили в золотой век домашних компьютеров 1980-х годов, когда в качестве дисплеев использовали миллионы телевизоров. Вначале была идея собрать свою машину на базе процессора Motorola 6809 из той же эпохи. Я пытался использовать как можно меньше микросхем, но несмотря на мои старания, мне всё ещё нужно было 13 дополнительных микросхем для работы с ОЗУ и последовательной передачи данных. Тогда я задумался: а что, если я использую более современный 8-битный процессор? Насколько сильно при этом я смогу снизить количество необходимых мне микросхем?
Читать дальше →
Total votes 19: ↑17 and ↓2+22
Comments16

Понимание итераторов в Python

Reading time8 min
Views145K

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


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


1. Использование генератора дважды


>>> numbers = [1,2,3,4,5]

>>> squared_numbers = (number**2 for number in numbers)

>>> list(squared_numbers)
[1, 4, 9, 16, 25]

>>> list(squared_numbers)
[]

Как мы видим в этом примере, использование переменной squared_numbers дважды, дало ожидаемый результат в первом случае, и, для людей незнакомых с Python в достаточной мере, неожиданный результат во втором.


2. Проверка вхождения элемента в генератор


Возьмём всё те же переменные:


>>> numbers = [1,2,3,4,5]
>>> squared_numbers = (number**2 for number in numbers)

А теперь, дважды проверим, входит ли элемент в последовательность:


>>> 4 in squared_numbers
True
>>> 4 in squared_numbers
False
Читать дальше →
Total votes 23: ↑21 and ↓2+25
Comments20

Бесплатный хостинг Telegram-бота на Google Cloud Platform

Reading time3 min
Views148K

Почему GCP?


При написание телеграмм ботов столкнулся с вопросом, как быстро и бесплатно сделать так, чтобы бот работал постоянно. Варианты с Heroku и Pythonanywhere имеют слишком маленькие лимиты, если у вас более одного бота. Поэтому я решил воспользоваться GCP. Платформа предоставляет бесплатно 300$ на год + огромные скидки при использование этих средств(до 94%).


Как захостить вашего бота?


Шаг 1. Регистрация на GCP


Переходим на сайт GCP и нажимаем Get started for free.
Читать дальше →
Total votes 19: ↑6 and ↓130
Comments18

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

Reading time2 min
Views54K
Современные программисты — счастливчики: мы живём в мире, в котором исторические и оказавшие существенное влияние программы имеют открытый код, доступный для изучения. Однако, многие программисты только учатся, и изучают те программы, над которыми работают сами. У нас редко находится время для изучения исторических работ, и курсы программирования редко тратят время на такие вещи.

Мы полагаем, что разработчикам следует изучать исходники программ, оказавших большое влияние, подобно тому, как архитекторы изучают здания, оказавшие влияние на архитектуру (и критикуют их). Чем повторять те же ошибки снова и снова, мы должны изучить большую работу, проделанную до нас, и вынести из неё уроки.
Читать дальше →
Total votes 58: ↑53 and ↓5+64
Comments68

Как проверить навыки программирования на Python? Задачи от Яндекса

Reading time9 min
Views65K

Хакатон в Школе бэкенд-разработки

В 2019 году нам потребовалось автоматизированно проверить умение писать Python-код у сотен разработчиков. Так мы отбирали будущих студентов для Школы бэкенд-разработки. Это не то же самое, что предложить решить задачу на листе бумаги, как на собеседовании. С другой стороны, мы также не могли переиспользовать условия задач, уже подготовленные для наших соревнований по программированию. Дело в том, что соревнования с целью определить лучших из лучших — это одно, а отбор специалистов с небольшим опытом в школу — совсем другое. Нам требовались задачи, по решению которых было бы видно, обладает ли разработчик базовыми навыками написания кода и умением грамотно использовать память и время. Вот какие условия мы составили.
Читать дальше →
Total votes 15: ↑12 and ↓3+15
Comments22

Волшебный дым: микроконтроллеры против линейных регуляторов

Reading time2 min
Views13K


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

У меня неравной борьбы не выдержали Digispark, ESP-01 и Arduino pro mini 3.3V


Нетерпеливым можно посоветовать использовать step-down на MP1584EN, остальным — добро пожаловать по кат.

Читать дальше →
Total votes 24: ↑5 and ↓19-11
Comments23

Как в Python реализованы очень длинные числа типа integer?

Reading time6 min
Views64K
Перевод статьи подготовлен специально для студентов курса «Разработчик Python».





Когда вы пишете на низкоуровневом языке, таком как С, вы беспокоитесь о выборе правильного типа данных и спецификаторах для ваших целых чисел, на каждом шаге анализируете достаточно ли будет использовать просто int или нужно добавить long или даже long double. Однако при написании кода на Python вам не нужно беспокоиться об этих «незначительных» вещах, потому что Python может работать с числами типа integer любого размера.
Читать дальше →
Total votes 30: ↑28 and ↓2+35
Comments18

Применяем Data Science в мирных целях покупки дома

Reading time9 min
Views26K
Чтобы продать что-нибудь ненужное, нужно сначала купить что-нибудь ненужное, а у нас денег нет.
— Трое из Простоквашино

Введение


Так получилось, что я живу в своей квартире (или кондо по-местному) в Монреале. И однажды, примерно год назад меня посетила мысль что неплохо бы перебраться в собственный дом. Некоторый опыт покупки и продажи жилья у меня уже был и, в принципе, можно было бы подойти к этому вопросу просто, как поступает большинство местных обывателей: нанять риэлтора и предоставить ему разобраться со всеми вопросами, но это было бы скучно и неинтересно.


Поэтому я решил подойти к этому делу научно. Есть задача: надо разобраться сколько примерно стоит то что у меня есть, и где находится то что я могу себе позволить. Ну и попутный вопрос — понять куда дует ветер. И изучить гео-пространственные вычисления в R.

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

Конференция DEFCON 27. Изготовление дубликатов механических ключей с ограниченным доступом. Часть 1

Reading time13 min
Views12K
Брифинг выступления:

Restricted keys, или механические ключи с ограниченным доступом, отличаются от обычных ключей тем, что их запрещено дублировать. Поэтому производители таких ключей (и замков) строго следят за тем, чтобы заготовки для изготовления дубликатов не появлялись в свободном доступе или же разрабатывают такие ключи, к которым чрезвычайно трудно подобрать готовые заготовки. На охраняемых объектах в США используют такие системы замков, как Medeco, Abloy, Assa и Mul-T-Lock, отчасти для того, чтобы противостоять механическому взлому замков, но в большей степени для предотвращения возможности изготовления дубликатов для несанкционированного проникновения в запертые помещения. Такие места, как Белый дом и здания Парламента Канады используют специальный профиль ключа исключительно для этих объектов, чтобы гарантировать, что никто не сможет раздобыть заготовки, чтобы сделать дубликаты.

Однако существуют десятки тысяч профилей заготовок для ключей, которые подходят для изготовления дубликатов даже для очень ограниченных серий замков. Поскольку ключи — это просто куски металла, братья Билл и Роберт Грейдоны в своем выступлении расскажут, как можно сделать дубликаты ключей для механических замков систем повышенной безопасности Medeco, Mul-T-Lock и Abloy. Они также коснутся всех аспектов контроля изготовления ключей, включая патенты, и рассмотрят, как администрация секретных объектов может предотвратить взлом замков с помощью дубликатов ключей.



Билл Грейдон является директором GGR Security Consultants и активно занимается исследованиями в области электронного наблюдения и сигнализации, психологии человека в безопасной среде и анализа систем блокировки. Он получил степень магистра в области компьютерной инженерии и сертификат в области судебной инженерии Университета Торонто и использует полученные знания для разработки математических моделей повышения безопасности в физическом мире.
Total votes 24: ↑24 and ↓0+24
Comments22

Как восстановить светодиодную лампу за 2 минуты при минимальных навыках работы с паяльником и знаниях об электронике

Reading time4 min
Views455K

image


Исторически так сложилось, что в моем загородном доме все освещение сделано с помощью светодиодных ламп мощностью 10-11, а в последнее время и 12-13 вт с цоколем Е27. Лампы накаливания на площадь 200 м2 тратили бы слишком много электроэнергии, что не вписывалось бы в концепцию моего энергоэффективного дома с приличным утеплением, твердотопливным дровяным котлом, бесперебойником на автомобильных аккумуляторах и рекуператором. Люминесцентные "энергосберегайки" я невзлюбил с первого взгляда — они часто перегорают, не имеют той энергоэффективности что светодиодные, хрупкие, токсичные при случайном разбивании, мерцают и имеют неприятный спектр.

Читать дальше →
Total votes 48: ↑31 and ↓17+29
Comments312

Простой пример парсинга и аналитики данных по игре World of Tanks

Reading time3 min
Views9K

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


Читать дальше →
Total votes 11: ↑6 and ↓5+7
Comments14

Information

Rating
Does not participate
Registered
Activity