Це переклад вчорашньої замітки Simon Willison
Я облажався, бездумно використовуючи git (
git checkout --
— не на те файлі) і примудрився видалити код, який я тільки що написав… але він все ще був завантажений в виконуваний процес в докер-контейнері. Ось, як я відновив код використовуючи https://pypi.python.org/pypi/pyrasite/, https://pypi.python.org/pypi/uncompyle6
Читати далі →

Визначитися, яку книгу по програмуванню читати наступної, важко, та й ризиковано.

Як і належить розробнику, напевно, у вас мало часу, і левову його частку ви витрачаєте на читання книг. Ви могли б програмувати. Ви могли б відпочивати. Але замість цього ви виділяєте дорогоцінний час на розвиток своїх навичок.



Отже, яку книжку вам варто прочитати? Ми з колегами часто обговорюємо прочитану літературу, і я помітив, що наші думки з конкретних книг сильно відрізняються.

Тому я вирішив заглибитися в проблему. Моя ідея була така: проаналізувати найпопулярніший у світі ресурс для програмістів на предмет посилань на відомий книжковий магазин, а потім підрахувати, скільки разів згадується кожна з книг.

Читати далі →

Процес парсинга ускладнюється істотними витратами часу на обробку даних. Багатопоточність допоможе в рази збільшити швидкість обробки даних. Сайт для парсингу — «Довідник купюр світу», де отримаємо валюту у співвідношенні до інших.

Читати далі →

Logo
Працюючи в конструкторському відділі, я зіткнувся із завданням — розрахувати трудомісткість розробки конструкторської документації. Якщо брати за основу документ: «Типові нормативи часу на розроблення конструкторської документації. ШИФР 13.01.01" (затв. Минтрудом Росії 07.03.2014 N 003)», то для розрахунку трудомісткості креслення деталі нам необхідні наступні дані:
  • Формат креслення та кількість аркушів
  • Масштаб
  • Кількість розмірів на кресленні (включаючи знаки шорсткості і виносні лінії)
  • Кількість технічних вимог
З наявних інструментів на підприємстві маємо: Kompas 3D v14 і Python 3.5.
В інтернеті не так багато статей про написання програм з використанням API Kompas 3D, і ще менше інформації про те, як це зробити на Python. Спробую розповісти по кроках, як вирішувалася поставлена задача і на які граблі доводилося наступати. Стаття розрахована на людей, які володіють основами програмування і знайомих з мовою Python. Отже, приступимо.

Читати далі →

Навіщо це потрібно
Закони Зіпфа оописывают закономірності частотного розподілу слів у тексті на будь-якому природному мовою[1]. Ці закони крім лінгвістики застосовуватися також в економіці [2]. Для апроксимації статистичних даних для об'єктів, які підкоритися Законам Зіпфа використовується гіперболічна функція виду:

(1)

де: a.b – постійні коефіцієнти: x – статистичні дані аргументу функції (у вигляді списку): y — наближення значень функції до реальних даними отриманими методом найменших квадратів[3].

Зазвичай для апроксимації гіперболічною функцією методом логарифмування її приводять до лінійної, а потім визначають коефіцієнти a,b і роблять зворотне перетворення [4]. Пряме і зворотне перетворення призводить до додаткової похибки апроксимації. Тому наводжу просту програму на Python, для класичної реалізації методу найменших квадратів.
Читати далі →



GitHub надав можливість мільйонам розробників легко публікувати свої проекти і тим самим залучати користувачів і однодумців. Часто перед розробниками виникає проблема неефективного використання ресурсів — вони витрачають сотні годин на створення проекту з метою просунути його на GitHub, а отримують максимум дві зірки.

Читати далі →

Вітаю тебе %username%. Прочитавши статті про способи обходу sudo, вирішив теж спробувати описати щось подібне, але для мови Python. Спасибі root-me за такі задачки. Вирішуючи їх, можна багато чого дізнатися про роботу того чи іншого механізму. Прошу строго не судити, це моє перше творіння.
Почнемо!

Читати далі →

Введення
На Хабре вже повно статей-туториалов з заголовками «Створення бота на Python», але багато з них використовують готові обгортки над HTTP-інтерфейсом Bot API Телеграма. Я ж використовую стандартну бібліотеку для відправки і отримання GET- і POST-запитів — requests. І так, розглянемо створення примітивного Телеграм бота, який буде відповідати на всі наші текстові повідомлення. Це буде заготовка для подальшого розширення.
image
Читати далі →

PyNSK #12 — лютнева зустріч питонистов Новосибірська

чи Любите ви Python так, як ми любимо його? Запрошуємо всіх любителів і «любителів» Python на зустріч спільноти PyNSK.

26-го лютого (неділя) відбудеться чергова, 12-а, зустріч. Вона пройде в новому для нас місці — в офісі компанії AgoraDoxa (мапа) і розпочнеться о 13-00.

Реєстрація (там пропускний режим)
image
Минулого разу на зустріч прийшло близько 30 чоловік, що для нас рекорд.
Говорили про пакети в Python і чому TOML цілком придатний формат. Зачепили тему управління кодом проекту і довго обговорювали управління релізами. Була цікава дискусія.
Не обійшли боком тему «Python на Android». Було незвично, з'являються все нові і нові способи помістити інтерпретується в microsoft мова в світ Java.

Цього разу ми обрали два цікавих доповіді:

Читати далі →

Рівняння теплопровідності в tensorflow

Привіт, Хабр! Деякий час тому захопився глибоким навчанням і став потихеньку вивчати tensorflow. Поки копався в tensorflow згадав про свою курсову з паралельного програмування, яку робив в тому році на 4 курсі університету. Завдання там формулювалося так:

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

\frac{\partial u}{\partial t} = \sum \limits_{\alpha=1}^{2} \frac{\partial}{\partial x_\alpha} \left (k_\alpha \frac{\partial u}{\partial x_\alpha} \right ) -u, \quad x_\alpha \in [0,1] \quad (\alpha=1,2), \ t>0;
k_\alpha =
\begin{cases}
50, (x_1, x_2) \in \Delta ABC\\
1, (x_1, x_2) \notin \Delta ABC
\end{cases}
(\alpha = 1,2), \ A(0.2,0.5), \ B(0.7,0.2), \ C(0.5,0.8);
u(x_1, x_2, 0) = 0,\ u(0,x_2,t) = 1 - e^{-\omega t},\ u(1, x_2, t) = 0,
u(x_1,0,t) = 1 - e^{-\omega t},\ u(0, x_2, t) = 0,\ \omega = 20.
Хоча правильніше було б назвати це рівнянням дифузії.

Завдання тоді вимагалося вирішити методом кінцевих різниць за неявною схемою, використовуючи MPI для розпаралелювання і метод спряжених градієнтів.

Я не фахівець у чисельних методах, поки не фахівець в tensorflow, але досвід у мене вже з'явився. І я загорівся бажанням спробувати обчислювати урматы на фреймворку для глибокого навчання. Метод спряжених градієнтів реалізовувати другий раз вже не цікаво, зате цікаво подивитися як з обчисленням впорається tensorflow і які труднощі при цьому виникнуть. Цей пост про те, що з цього вийшло.

Чисельний алгоритм

Читати далі →