Как стать автором
Обновить
4
0

Пользователь

Отправить сообщение

Превращаем скучные логи Git'a в захватывающую анимацию

Время на прочтение3 мин
Количество просмотров39K


Каждый, кто посвятил себя работе с компьютерами, хоть раз, но сталкивался с распространёнными высказываниями вроде: «Помоги мне сделать %work%, ты ведь всё равно без дела за компом сидишь». Особенно часто в эту ситуацию попадаёшь, когда работаешь непосредственно в окружении коллег проделывающих ручную работу. Для этих людей ты зачастую представляешься воплощением безделия и главным пользователем youtube.
Сейчас я покажу вам один из приёмов, как превратиться в глазах сотрудников из лодыря в волшебника.
стать волшебником
Всего голосов 79: ↑46 и ↓33+13
Комментарии33

Python + Keras + LSTM: делаем переводчик текстов за полчаса

Время на прочтение8 мин
Количество просмотров27K
Привет, Хабр.

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



Для тех, кому интересно как это работает, подробности под катом.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии22

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

Время на прочтение7 мин
Количество просмотров14K
Сегодня мы предлагаем вашему вниманию первую часть перевода материала о том, как в Dropbox занимаются контролем типов Python-кода.



В Dropbox много пишут на Python. Это — язык, который мы используем чрезвычайно широко — как для бэкенд-сервисов, так и для настольных клиентских приложений. Ещё мы в больших объёмах применяем Go, TypeScript и Rust, но Python — это наш главный язык. Если учитывать наши масштабы, а речь идёт о миллионах строк Python-кода, оказалось, что динамическая типизация такого кода неоправданно усложнила его понимание и начала серьёзно влиять на продуктивность труда. Для смягчения этой проблемы мы приступили к постепенному переводу нашего кода на статическую проверку типов с использованием mypy. Это, вероятно, самая популярная самостоятельная система проверки типов для Python. Mypy — это опенсорсный проект, его основные разработчики трудятся в Dropbox.

Dropbox оказалась одной из первых компаний, которая внедрила статическую проверку типов в Python-коде в подобном масштабе. В наши дни mypy используется в тысячах проектов. Этот инструмент бесчисленное количество раз, что называется, «проверен в бою». Нам, для того, чтобы добраться туда, где мы находимся сейчас, пришлось проделать долгий путь. На этом пути было немало неудачных начинаний и провалившихся экспериментов. Этот материал повествует об истории статической проверки типов в Python — с самого её непростого начала, которое было частью моего научного исследовательского проекта, до сегодняшнего дня, когда проверки типов и подсказки по типам стали привычными для бесчисленного количества разработчиков, которые пишут на Python. Эти механизмы теперь поддерживаются множеством инструментов — таких, как IDE и анализаторы кода.

Читать вторую часть
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии22

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

Время на прочтение18 мин
Количество просмотров42K

Разочаровавшись в недостатках существовавших языков программирования, Гвидо Ван Россум создал язык Python. Сейчас этот язык используют миллионы людей, и Ник Хит беседует с ван Россумом о прошлом и будущем языка.



Гвидо Ван Россум в штаб-квартире Dropbox в 2014 году

В конце 1994 года группа избранных программистов с разных концов США собралась для обсуждения своего нового секретного оружия.

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

«Особенно мне запомнился один человек, сказавший: ’Не говорите никому, что я здесь, потому что то, что мы используем питон, является конкурентным преимуществом’. Это было их секретное оружие».
Читать дальше →
Всего голосов 48: ↑39 и ↓9+30
Комментарии109

Осваиваем компьютерное зрение — 8 основных шагов

Время на прочтение3 мин
Количество просмотров105K
Привет, читатель.

Для тебя уже не является новостью тот факт, что все на себе попробовали маски старения через приложение Face App. В свою очередь для компьютерного зрения есть задачи и поинтереснее этой. Ниже представлю 8 шагов, которые помогут освоить принципы компьютерного зрения.

image

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

Всего голосов 40: ↑35 и ↓5+30
Комментарии10

Мелкая питонячая радость #7: три штуки по цене одной — консольная анимация, алгоритмы и отладка

Время на прочтение2 мин
Количество просмотров11K

На этой неделе достаточно крупных мелких радостей не нашлось, зато нашлись 3 совсем мелкие мелкие радости.


termtosvg


Сейчас принято снабжать свои библиотеки и репо на github красивой анимацией, показывающей консоль с живой демкой вашего творения.


image


Традиция, бесспорно, хорошая и правильная. Только записывать такие анимации бывает трудно/лень/некогда. Авторы termtosvg пристрелили всех зайцев одим выстрелом и дали программистам прекрасную штуку для записи консольных демок.

Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии9

Онлайн-конструктор переговорной комнаты — подбор оптимального решения ВКС

Время на прочтение8 мин
Количество просмотров11K
Три года назад мы опубликовали статью Оборудование ВКС для переговорных комнат. Она стала результатом труда и сборником экспертизы не одного человека, а нескольких компаний, специализирующихся многие годы на интеграции сложных решений видео-конференц-связи. На первый взгляд, ВКС и телефония — имеют много общего: общие задачи, схожий состав оборудования и аналогичная архитектура решений. Но, в реальности, с точки зрения интегратора — расчет и реализация проекта по видео-конференц-связи существенно отличается от телефонизации.

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

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

И если даже разобраться в них подробней, часто у заказчика возникают вопросы типа:

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

Даже обладая пониманием параметров комнаты и оборудования, непросто совместить их в визуальный образ, не прибегая к реальной установке оборудования в комнате.
Вот что мы предложили
Всего голосов 23: ↑21 и ↓2+19
Комментарии13

Оборудование ВКС для переговорных комнат

Время на прочтение36 мин
Количество просмотров69K
Как уже отмечалось много раз, за последнее время рынок видео-конференц-связи (ВКС) стремительно смещается в сторону программных решений. В статьях о подобных реализациях (Mind и Yealink) я подробно описал функционал, настройку и стоимость решения, но вопросу оборудования для ВКС было уделено незначительное внимание. Это не справедливо — каким бы ни был удобным и качественным сервис ВКС, при неудачно подобранном оборудовании для персональных рабочих мест или переговорных комнат, Вы не сможете оценить все достоинства программного решения.

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

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

В этой статье я опишу типовые задачи по оборудованию переговорных комнат и решения на основе конкретных примеров.
Какие требования предъявлять к оборудованию для ВКС? Под катом много картинок и анимаций!
Всего голосов 21: ↑14 и ↓7+7
Комментарии7

Тепловизор Seek Thermal Compact

Время на прочтение5 мин
Количество просмотров22K
Добавляю отзыв о моем маленьком помощнике — мобильном тепловизоре-приставке Seek Thermal Compact. Тепловизор для смартфонов и планшетов поможет обнаружить и устранить утечки тепла или холода, заметить проблемы с электропроводкой, увидеть места локального нагрева или перегрева техники, найти добычу на охоте и так далее. Seek Thermal удалось создать недорогое и доступное компактное устройство, которое подключается к смартфону или планшету, и обладает полным функционалом «взрослых» профессиональных моделей.


Всего голосов 33: ↑24 и ↓9+15
Комментарии19

Использование PowerShell для повышения привилегий локальных учетных записей

Время на прочтение4 мин
Количество просмотров14K


Повышение привилегий — это использование злоумышленником текущих прав учетной записи для получения дополнительного, как правило, более высокого уровня доступа в системе. Несмотря на то что повышение привилегий может быть результатом эксплуатации уязвимостей нулевого дня, или работы первоклассных хакеров, проводящих целенаправленную атаку, или же грамотно замаскированной вредоносной программой, но все же чаще всего это происходит из-за неправильной настройки компьютера или учетной записи. Развивая атаку далее, злоумышленники используют ряд отдельных уязвимостей, что в совокупности может привести к катастрофической утечке данных.
Читать дальше →
Всего голосов 14: ↑9 и ↓5+4
Комментарии9

Сколько зарабатывают разработчики разных квалификаций, 2018

Время на прочтение5 мин
Количество просмотров133K


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

Сегодня мы хотим сравнить зарплаты разработчиков разных квалификаций. Как всегда, для этого используем данные, которые пользователи «Моего круга» оставляли в нашем калькуляторе зарплат в течение последних полутора лет.  

С картинки каждой диаграммы box plot можно перейти к её интерактивной версии, где будет проще сориентироваться в цифрах.
Читать дальше →
Всего голосов 52: ↑50 и ↓2+48
Комментарии53

Дроны и роботы, помогавшие спасать парижский собор Нотр-Дам

Время на прочтение4 мин
Количество просмотров15K


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

Огонь полностью погасили, дым рассеялся, и при свете дня мы узнаём, на какие героические свершения пришлось пойти службам спасения, чтобы избежать полной катастрофы. И хотя собор получил серьёзные повреждения, его структура и большая часть бесценных произведений искусства сохранились. Пока рановато оценивать, во сколько обойдётся очистка и ремонт собора, но даже самые оптимистичные оценки говорят о сотнях миллионов долларов. В случае настолько старой структуры его реконструкция наверняка замедлится из-за того, что историкам придётся вновь изучить технологии строительства, использовавшиеся за прошедшие века, и устаревшие к сегодняшнему дню. Но народ Франции это не отпугнёт, и президент Макрон уже пообещал, что его страна восстановит собор за пять лет.
Всего голосов 42: ↑40 и ↓2+38
Комментарии19

Python на примере демона уведомления о новых коммитах Git

Время на прочтение4 мин
Количество просмотров27K
Работая в команде я люблю быть в курсе активности участников. Поэтому было решено написать демона наблюдающего за поступлением новых коммитов в репозиторий git’а. Так как я работаю в Ubuntu, то уведомление было реализовано встроенным способом — библиотекой libnotify.
Язык — Python!

image

В статье упоминается:
1. Демон на Python;
2. Логирование на Python;
3. Хранение конфигурационных файлов программ на Python;
4. Работа с командами ОС из скриптов Python;
5. Получения списка последних изменений из git’а;
6. Стандартные всплывающие уведомления Ubuntu.
Читать дальше →
Всего голосов 69: ↑65 и ↓4+61
Комментарии27

Что курил конструктор: необычное огнестрельное оружие

Время на прочтение5 мин
Количество просмотров268K


Не только военные роботы, дроны, боевые лазеры и прочие сверхсовременные технические решения могут быть интересны. Этот пост про несколько остроумных конструкций, в которых нет ни грамма электроники. Гибрид пистолета и револьвера под «треугольный» патрон, трехствольный советский автомат и безгильзовые стреляющие часы с кукушкой — военные диковинки середины прошлого века, которые отлично смотрелись бы в фантастическом фильме.
Всего голосов 128: ↑119 и ↓9+110
Комментарии123

Получаем ссылки на профили Vk из выдачи SearchFace с помощью Python (но это не точно)

Время на прочтение9 мин
Количество просмотров53K
Картинка для привлечения внимания:


Кадр из сериала Person Of Interest

Сегодня мы поговорим о лёгком распознавании лиц с помощью доступных инструментов.
Используются: Python 3.6, searchface.ru, внешний сервис для преобразования ссылок на фото в id (бот в телеграме, на текущий момент)


Итак, у нас есть сайт, который ищет по лицам.
Заглянем внутрь.
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии24

Вычисляем символьные выражения с нечеткими треугольными числами в python

Время на прочтение9 мин
Количество просмотров5.8K
Привет, Хабр! Сегодня миниатюрный туториал о том, как сделать разбор строки с математическим выражением и вычислить его используя нечеткие треугольные числа. При соответствующих изменениях кода туториал сгодится для работы и с другими «кастомными» переменными. Справка: нечеткие треугольные числа — частный случай нечетких чисел (нечетких переменных на числовой оси). Ознакомиться подробнее рекомендую здесь и здесь.

Требования:

  • Язык программирования python 3.x (приводимый в статье код проверялся на python 3.5)
  • библиотека sympy
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии11

Система скриптового 3д моделирования ZenCad

Время на прочтение10 мин
Количество просмотров16K

Та работа, которую я хочу представить вашему вниманию, есть попытка еще раз написать систему скриптового 3д моделирования. Написать так, как я её хотел бы видеть.


Рецепт системы ZenCad довольно прост. Концепт скриптового 3д моделирования OpenScad, геометрическое ядро OpenCascade, python3 в качестве клея, библиотека ленивых вычислений evalcache для агресивного кеширования вычислений. Добавить специй еще из пары-тройки инструментов, приправить gui под соусом PyQt, и подать к столу перемешав, но не взбалтывая.


машинка.пнг

Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии72

Управление памятью в Python

Время на прочтение10 мин
Количество просмотров15K
Всем привет! Вот и закончились длинные мартовские выходные. Первую послепраздничную публикацию мы хотим посвятить полюбившемуся многим курсу — «Разработчик Python», который стартует менее, чем через 2 недели. Поехали.

Содержание

  1. Память – пустая книга
  2. Управление памятью: от оборудования к программному обеспечению
  3. Базовая реализация Python
  4. Концепция глобальной блокировки интерпретатора (Global Interpreter Lock, GIL)
  5. Сборщик мусора
  6. Управление памятью в CPython:
    • Пулы
    • Блоки
    • Арены
  7. Заключение



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

Прочитав эту статью, вы:

  • Узнаете больше о низкоуровневых операциях, особенно касательно памяти.
  • Поймете, как Python абстрагирует низкоуровневые операции.
  • Узнаете об алгоритмах управления памятью в Python.

Знание внутреннего устройства Python даст лучшее понимание о принципах его поведении. Надеюсь, вы сможете взглянуть на Python с новой стороны. За кулисами происходит великое множество логических операций, чтобы ваша программа работала надлежащим образом.
Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии5

Intel Xeon W-3175X, горячий ударник. Тестирование

Время на прочтение3 мин
Количество просмотров21K


За последнюю пару недель появилось сразу несколько новостей, связанных с процессором Intel Xeon W-3175X — тем самым «домашним Xeon», с 28 ядрами и 56 потоками. Прежде всего, появился сам процессор; после некоторой неразберихи с позиционированием (для широкой продажи либо в только в совместные проекты с ОЕМ производителями) и стоимостью (назывались самые различные варианты от $3000 до $8000), 3175X вдруг неожиданно тихо появился на витринах интернет-магазинов, причем не где-нибудь, а в Японии, по цене около $4000. Далее дискуссия перешла уже в практическое русло: сразу несколько крупнейших специализированных сайтов провели собственные тестирования Intel Xeon W-3175X — дабы исчерпать тему, предлагаем с ними вкратце познакомиться.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии63

Как научить людей использовать Git

Время на прочтение3 мин
Количество просмотров140K
По работе приходится участвовать в разных проектах, поэтому я хорошо знаю, как работают все мои коллеги. Помню, что компания начала использовать Git буквально за пару недель до моего прихода. На мониторах разработчиков кругом висели наклейки с напоминанием: сначала add, потом коммит, затем пуш.


Они не знали, зачем. Программистам просто сказали строго следовать инструкции, иначе беда. Но проблемы возникали так часто, что я решила провести семинар по Git.
Читать дальше →
Всего голосов 77: ↑69 и ↓8+61
Комментарии384

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность