Python: коллекции, часть 3: объединение коллекций, добавление и удаление элементов

imageПродолжим изучать общие принципы работы со стандартными коллекциями (модуль collections в ней не рассматривается) Python. Будут рассматриваться способы объединения и обновления коллекций с формированием новой или изменением исходной, а также способы добавлять и удалять элементы в изменяемые коллекции.


Данная статья является продолжением моей статьи «Python: коллекции, часть 2: индексирование, срезы, сортировка«.

Для кого: для изучающих Python и уже имеющих начальное представление о коллекциях и работе с ними, желающих систематизировать и углубить свои знания, сложить их в целостную картину.
Читать дальше →
Python: коллекции, часть 3: объединение коллекций, добавление и удаление элементов
Source: habrahabr

Как сделать кроссплатформенное десктопное приложение на базе веб-технологий

Дмитрий Дудин (xbSoftware)


Сегодня я вам расскажу про технологию nw.js, большинство слайдов моей презентации будет посвящено ей. Это технология позволяет разрабатывать десктопные приложения и писать их на html, javascript и css. Причем приложение будет кроссплатформенное — под Windows, Linux и Mac. Можно их сбилдить и они будут иметь доступ к графическому интерфейсу системы, т.е. смогут еще работать с менюшками и т.д.
Читать дальше →
Как сделать кроссплатформенное десктопное приложение на базе веб-технологий
Source: habrahabr

Управление своим разумом

Программистам очень нужен ясный ум. Если поискать на Хабре по слову «медитация», то обнаруживается 191 статья.


Из этих публикаций можно почерпнуть много полезной инфорамации:

  • Google применяет медитацию у себя и строит отдельные комнаты для этой практики
  • медитация — древнейший способ стресс-менеджмента
  • «расслабите свой ум — станете эффективнее» © Будда


И так далее.


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


Даже Apple добавили в свой Apple Health отдельный раздел Mindfullness, куда сбрасывают данные о проведённых упражнениях приложения по медитации и сосредоточению (типа шикарной Headspace).

.


Поэтому мы решили снять обучающий видео-курс «Медитация для программистов (и не только)».

.
Читать дальше →
Управление своим разумом
Source: habrahabr

Генерация фиктивных данных с Elizabeth: Часть II

image

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

Читать дальше →
Генерация фиктивных данных с Elizabeth: Часть II
Source: habrahabr

[Из песочницы] Нескучный Powershell

По работе мне периодически приходится править и дописывать скрипты для авто-тестов. И так исторически сложилось, что написаны они на Powershell. Но статья будет не об этом.


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

image

Читать дальше →
[Из песочницы] Нескучный Powershell
Source: habrahabr

Пример восстановления таблиц PostgreSQL с помощью новой мега фичи pg_filedump


Позвольте я расскажу вам об одной классной фиче, которую мы с коллегами из Postgres Pro недавно запилили в утилите pg_filedump. Фича эта позволяет частично восстанавливать данные из базы, даже в случае, если база была сильно повреждена и инстанс PostgreSQL с такой базой уже не запустишь. Конечно, хочется верить, что потребность в таком функционале возникает крайне редко. Но на всякий случай нечто подобное хотелось бы иметь под рукой. Читайте дальше, и вы узнаете, как данная фича выглядит в действии. Читать дальше →
Пример восстановления таблиц PostgreSQL с помощью новой мега фичи pg_filedump
Source: habrahabr

Bitcoin in a nutshell — Transaction

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

Когда мы имеем дело с финансовой системой на основе блокчейна, то процесс денежного перевода выглядит совершенно иначе. В Bitcoin не существует никакой общей таблицы вида <адрес, баланс>, ровно как и не существует регулятора, который бы эту таблицу редактировал. В этой статье я покажу, что из себя представляет транзакция в Bitcoin, как она строится, и объясню, зачем же внутри Bitcoin добавлен свой язык программирования, про который все слышали, но никто не видел.

meme

Читать дальше →
Bitcoin in a nutshell — Transaction
Source: habrahabr

Bitcoin in a nutshell — Protocol

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

Ниже я объясню, каким образом формируется транзакция, покажу как она подписывается и продемонстрирую механизм общения между нодами.

meme

Читать дальше →
Bitcoin in a nutshell — Protocol
Source: habrahabr

Bitcoin in a nutshell — Cryptography

Одна из причин, почему Bitcoin продолжает привлекать столько внимания — это его исключительная «математичность». Сатоши Накамото удалось создать систему, которая способна функционировать при полном отсутствии доверия между ее участниками. Все взаимодействия основаны на строгой математике, никакого человеческого фактора — вот в чем была революционность идеи, а не в одноранговой сети, как многие думают. Поэтому первую главу я решил посвятить именно математическим основам Bitcoin.


Ниже я постараюсь объяснить вам самые базовые вещи — эллиптические кривые, ECC, приватные / публичные ключи и так далее. По возможности я буду иллюстрировать свои слова примерами кода, преимущественно на Python 2.7, если что-то непонятно — спрашивайте в комментариях.

intro
Читать дальше →
Bitcoin in a nutshell — Cryptography
Source: habrahabr

jl-sql: работаем с JSON-логами в командной строке с помощью SQL

Вступление никому не интересно, поэтому начну сразу с примеров использования

json-pipe-sql

% cat log.json

{"type": "hit", "client": {"ip": "127.1.2.3"}}
{"type": "hit", "client": {"ip": "127.2.3.4"}}
{"type": "hit", "client": {"ip": "127.3.4.5"}}
{"type": "hit", "client": {"ip": "127.3.4.5"}}
{"type": "hit", "client": {"ip": "127.1.2.3"}}
{"type": "click", "client": {"ip": "127.1.2.3"}}
{"type": "click", "client": {"ip": "127.2.3.4"}}

Выполняем запрос:

% cat log.json | jl-sql 'SELECT client.ip, COUNT(*) AS count WHERE type = "hit" GROUP BY client.ip'

{"client":{"ip":"127.1.2.3"},"count":2}
{"client":{"ip":"127.2.3.4"},"count":1}
{"client":{"ip":"127.3.4.5"},"count":2}

Читать дальше →
jl-sql: работаем с JSON-логами в командной строке с помощью SQL
Source: habrahabr