Pull to refresh
1
0
Send message

Полезные инструменты Python

Reading time6 min
Views38K
Друзья, добрый вечер! У нас отличные новости, открыт набор в новую группу по курсу «Разработчик Python». Группа стартует уже в начале июля, а прямо сейчас, по устоявшейся традиции, мы делимся полезным переводом подготовленным для студентов данного курса.



Когда вы только начинаете учить Python, кто-то объясняет вам, что вы можете добавить свою папку с исходниками в переменную среды PYTHONPATH и тогда ваш код можно будет импортировать из других директорий. Очень часто объясняющий забывает сказать, что в большинстве случаев – это плохая идея. Некоторые люди узнают это в интернете, другие просто понимают на собственном опыте. Но слишком большое количество людей (особенно неопытные программисты), думают, что других альтернатив быть не может.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments38

Выбираем бюджетный карманный осциллограф

Reading time7 min
Views101K
Приветствую!

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

Почему речь пойдет про карманные и компактные — потому что это самые бюджетные варианты. Настольные осциллографы – это более громоздкие, функциональные устройства, и, как правило, достаточно дорогие модели ($200-400 и дороже) на 4 канала со множеством функций.
А вот компактные модели на 1 канал для простых измерений и оценки формы сигнала можно приобрести буквально за $20...$40.


Читать дальше →
Total votes 39: ↑35 and ↓4+31
Comments66

Анализ сишного Hello World

Reading time7 min
Views70K
Hello World — одна из первых программ, которые мы пишем на любом языке программирования.

Для C hello world выглядит просто и коротко:

#include <stdio.h>

void main() {
  printf("Hello World!\n");
}

Поскольку программа такая короткая, должно быть элементарно объяснить, что происходит «под капотом».
Читать дальше →
Total votes 227: ↑226 and ↓1+225
Comments142

Книга «Вероятностное программирование на Python: байесовский вывод и алгоритмы»

Reading time9 min
Views10K
image Привет, Хаброжители! Байесовские методы пугают формулами многих айтишников, но без анализа статистики и вероятностей сейчас не обойтись. Кэмерон Дэвидсон-Пайлон рассказывает о байесовском методе с точки зрения программиста-практика, работающего с многофункциональным языком PyMC и библиотеками NumPy, SciPy и Matplotlib. Раскрывая роль байесовских выводов при А/В-тестировании, выявлении мошенничества и в других насущных задачах, вы не только легко разберетесь в этой нетривиальной теме, но и начнете применять полученные знания для достижения своих целей.

Отрывок: 4.3.3. Пример: сортировка комментариев на Reddit


Возможно, вы не согласны, что закон больших чисел применяется всеми, хотя и только неявно, при подсознательном принятии решений. Рассмотрим пример онлайн-рейтингов товаров. Часто ли вы доверяете среднему рейтингу в пять баллов на основе одного отзыва? Двух отзывов? Трех отзывов? Вы подсознательно понимаете, что при таком малом количестве отзывов средний рейтинг плохо отражает то, насколько товар на самом деле хорош/плох.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments1

Один из сотни способов публикации нескольких production проектов на одном сервере

Reading time4 min
Views7.3K

image
Когда сайтов становится чуть больше чем один, а ресурсов одного сервера хватает с лихвой, встает вопрос как не переплачивать и упаковать все в одну виртуальную машину самого привлекательного сервиса, с учетом того, что когда-нибудь наши приложения разрастутся в масштабную распределенную сеть — мы обязаны заложить зернышко highload.

Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments17

Используйте __main__.py

Reading time2 min
Views99K

Зачем нужен __init__.py знает, наверное, любой питонист, но что насчёт __main__.py? Я видел немало проектов либо рабочих, либо на Github, которые не используют этот магический файл, хотя могли бы сделать свою жизнь проще. На мой взгляд, __main__.py это лучший способ для взаимодействия с питоновскими модулями, состоящими из нескольких файлов.


Но давайте сначала разберёмся: как большинство людей запускают свои скрипты на Python?


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


if __name__ == '__main__':
    main(sys.argv)

Когда вы скармливаете скрипт интерпретатору, магическая глобальная переменная __name__ получает значение __main__. Таким образом мы узнаём, что это не импорт, а именно запуск. Например:


python myapp.py

И это прекрасно работает для одиночного файла.


Проблема


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


.
├── README.me
├── requirements.txt
├── setup.py
└── src
    ├── __init__.py
    ├── client.py
    ├── logic.py
    ├── models.py
    └── run.py

Но пользователю, который склонировал проект из репозитория будет непонятно — какой из этих файлов главный? Неужели run.py? А может client.py? Где же искать знакомую строку if __name__ == '__main__'? Вот здесь-то __main__.py и способен проявить себя.

Читать дальше →
Total votes 110: ↑106 and ↓4+102
Comments62

Шпаргалка по структурам данных в Go

Reading time6 min
Views71K

Некоторые компании проводят собеседования с online написанием кода. Требуется решить олимпиадную задачку на скорость. В таких условиях нет времени посмотреть подробности реализации структур данных — нужно сразу реализовать идею. Но курсы по алгоритмам и структурам данных дают примеры или на псевдокоде, или на С++. Ещё эталонные решения задач написаны зачастую на С++. Готовясь к собеседованию, составил шпаргалку библиотек — аналогов контейнеров STL, что бы не тратить драгоценное время на поиск.
Читать дальше →
Total votes 52: ↑47 and ↓5+42
Comments11

Читаем даташиты 2: SPI на STM32; ШИМ, таймеры и прерывания на STM8

Reading time24 min
Views39K


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


Сегодня я покажу, как с помощью даташитов решить довольно простые, но необходимые для множества проектов задачи на контроллерах STM32 (Blue Pill) и STM8. Все демо-проекты посвящены моим любимым светодиодам, зажигать мы их будем в больших количествах, для чего придется задействовать всякую интересную периферию.

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

Медицинская страховка в путешествии: подробная инструкция

Reading time9 min
Views22K


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

Я хочу попробовать обобщить всё то, что должен знать турист о медицинской страховке перед тем, как выезжать за рубеж, и составить что-то вроде подробной памятки:

  • Насколько страховка обязательна и как можно сэкономить.
  • Какие разновидности страховок вообще бывают.
  • Что делать, если ты от души выпил и решил прыгнуть с парашютом в Камбодже.
  • Как не купить репатриацию останков вместо нормальной страховки.
Читать дальше →
Total votes 60: ↑58 and ↓2+56
Comments41

Как бесплатно автоматизировать мониторинг госзакупок

Reading time4 min
Views27K
Скажу сразу, статья скорее техническая, это инструкция.
Но начну с истории.

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

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

Попытки запустить это были, но безуспешные.

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

Я был в недоумении некоторое время, пока не решил перезапустить этот процесс, выпросив оплатить аккаунт на Контур.Закупках.

Всё настроил и стал мониторить сам. Находил конкурсы отдавал в отдел продаж, завертелось, закружилось.

Людям нравится когда что-то происходит. Отдел продаж загорелся.

Если кратко описать, что нужно, чтобы запустить процесс участия в госзакупках, то вам надо:
1. Настроить мониторинг госзакупок
2. Чтобы кто то отбирал проекты, понимая ФЗ и читая все требования. Убирать лишнее.
3. Вести учет состояния проектов в едином интерфейсе.
4. Готовить заявку на участие в конкурсе, понимая структуру вашей цены
5. Иметь аккаунты на электронных торговых площадках (ЭТП)
6. Уметь писать жалобы в ФАС на снос конкурсов (юрист)
7. Проводить аналитику своего, извиняюсь, рынка
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments20

5 продвинутых техник тестирования на Go

Reading time7 min
Views14K
Всем салют! До старта курса «Разработчик Golang» остается меньше недели и мы продолжаем делиться полезным материалом по теме. Поехали!



Go имеет хорошую и надежную встроенную библиотеку для тестирования. Если вы пишете на Go, то вы уже это знаете. В этой статье мы поговорим о нескольких стратегиях, которые могут улучшить ваши навыки тестирования с помощью Go. Из опыта написания нашей внушительной кодовой базы на Go мы узнали, что эти стратегии действительно работают и тем самым помогают экономить время и усилия на работу с кодом.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments1

Популярные заблуждения про радиационную стойкость микросхем

Reading time31 min
Views109K
Примерно в каждой второй теме на Хабре, касающейся космонавтики или электроники, всплывает тема радиационной стойкости. Через новости об отечественной космонавтике красной нитью проходит тематика импортозамещения радстойкой элементной базы, но в то же самое время Элон Маск использует дешевые обычные чипы и гордится этим. А изральтяне в «Берешите» использовали радстойкий процессор и тоже гордятся этим. Да и в принципе микроэлектронная отрасль в России живет по большей части за счет госзаказа с соответствующими требованиями. Наблюдение за регулярными спорами насчет того, как надо правильно строить спутники, показывает, что подготовка участников обычно невысока, а их аргументация отягощена стереотипами, случайно услышанными вырванными из контекста фактами и знаниями, устаревшими много лет назад. Я подумал, что читать это больше нет сил, поэтому, дорогие аналитики, устраивайтесь поудобнее на своих диванах, и я начну небольшой (на самом деле большой) рассказ о самых популярных заблуждениях на тему того, что такое радиационная стойкость интегральных микросхем.


Рисунок 1. Непременная красивая картинка про космическое излучение и хрупкую Землю.
Читать дальше →
Total votes 231: ↑230 and ↓1+229
Comments117

Как и зачем создавать NginX-модуль — теория, практика, профит

Reading time18 min
Views16K


Василий Сошников (Mail.Ru)


Сегодня я вам расскажу о том, как создавать nginx-модули и, что самое главное, попытаюсь ответить, зачем это надо делать. Это надо далеко не всегда, но есть определенный круг задач, который можно решить на стороне nginx.
Total votes 25: ↑23 and ↓2+21
Comments2

Как я программирую движки для ролевых игр в Google-таблицах

Reading time9 min
Views11K
image

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

Как я рисую иллюстрации для конспектов по математике в Inkscape

Reading time8 min
Views41K
В прошлой статье я рассказал, как пишу конспекты по математике на LaTeX в Vim. В этой статье покажу, как создаются рисунки для этих конспектов с помощью Inkscape, а также расскажу о своём самодельном менеджере горячих клавиш.

Некоторые примеры


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

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

Инфракрасный термометр с датчиком MLX90614

Reading time1 min
Views12K


Автор из Варшавы разработал инфракрасный термометр с датчиком MLX90614, семисегментным дисплеем HP QDSP-6040 и микроконтроллером ATtiny2313 MCU. Датчик позволяет измерять температуру в диапазоне: -70 — 380 ° С. Микроконтроллер ATtiny2313 связывается с датчиком по шине SMBus.
Total votes 27: ↑24 and ↓3+21
Comments39

Управление Docker контейнерами в Go

Reading time4 min
Views10K

Документация!


Когда вы решите написать, свой велосипед по ловле хуков из docker hub или из registry для автоматического обновления/запуска контейнеров на сервере, вам может пригодиться Docker Cli, который поможет управлять демоном Docker в вашей системе.
image

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

Следим за качественными цифровыми релизами фильмов без суеты

Reading time8 min
Views86K


В большинстве случаев качественные нелегальные раздачи какого-то фильма начинают появляться только после цифрового релиза (не путайте цифровые релизы с премьерами в кинотеатрах), т.е. в VOD-сервисах или на Blu-ray. Под качественными подразумеваются BDRip 1080p, BDRemux и UHD BDRemux, самый минимум — это WEB-DL 1080p (чаще всего из iTunes), с русскоязычными звуковыми дорожками от лицензионного издания Blu-ray или из iTunes. А до этого с раздачами фильма творится чехарда с комбинацией мха и опилок, которая может ввести в заблуждение зрителя, желающего смотреть новинки с хорошим качеством.
Читать дальше →
Total votes 89: ↑82 and ↓7+75
Comments161

Математика для Data Scientist: необходимые разделы

Reading time3 min
Views96K
Математика — это краеугольный камень Data Science. Хотя некоторые теоремы, аксиомы и формулы кажутся слишком абстрактными и далекими от практики, на самом деле без них невозможно по-настоящему глубоко анализировать и систематизировать огромные массивы данных.

Для специалиста Data Science важны следующие направления математики:

  • статистика;
  • теория вероятностей;
  • математический анализ;
  • линейная алгебра.

В предыдущей статье «Data Science: книги для начального уровня» специалисты Plarium Krasnodar рекомендовали литературу по программированию на Python, а также по визуализации результатов и machine learning. В этой статье они предлагают подборку материалов и книг по математике, полезных в Data Science.


Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments4

Как из домашнего ПК средствами виртуализации сохранить игровую систему

Reading time8 min
Views64K
Благодаря конкуренции и развитию НТП современные ПК позволяют выполнять множество простых и сложных задач одновременно, например играть и воспроизводить видео на ТВ, рендерить графику и читать новости в интернете, раздавая торренты параллельно, и т.д. и т.п. Многие идут дальше и используют несколько ПК для работы и развлечений. Однако при помощи технологий виртуализации можно с одной стороны расширить возможности своего ПК, а с другой сэкономить, т.к. по сути можно запустить несколько операционных систем на одном железе в одно и то же время.


Эта статья будет посвещена настройки хоста именно для использования в «быту», т.е. разговор пойдет о GPU PASSTHROUGH.
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments30

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer, System Software Engineer
Lead