Pull to refresh
0
0
innuendo @innuendo

User

Send message

Монады в Python поподробнее

Reading time10 min
Views16K
Доброго времени суток!

В прошлом топике я попробовал изобразить монаду Maybe средствами языка Python. В целом задача была достигнута, как мне кажется, но совсем незнакомому с тематикой человеку будет непросто понять что к чему, а главное — зачем. В этот раз попробую остановиться на монадах поподробнее, в том числе и для закрепления собственного понимания.
Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments18

Python-digest #4. Новости, интересные проекты, статьи и интервью [23 ноября 2013 — 29 ноября 2013]

Reading time3 min
Views9.5K
Ну что же, в этот раз выпуск без опозданий. Из внутренних новостей: axce1 сделал начальную версии автоматического постинга в juick — так что все любители jabber могут читать свежепоявляющиеся анонсы новостей здесь. была также попытка постить в twitter, но аккаунт заблокировали после первых 7 постов — почему-то не понравились они твиттеру.


А еще стараниями пользователя owlman, которого почему-то нет на хабре, у нас появился замечательный логотип.

Сам дайджест под катом
Total votes 37: ↑37 and ↓0+37
Comments7

Повторяющиеся типажи людей в стартапах на энтузиазме

Reading time3 min
Views58K
Поучаствовав в нескольких стартапах начинаниях, удачных и не очень, решил выявить хорошо запомнившиеся, в основном негативные типажи поведения членов команды. Начинания были на энтузиазме, без финансирования.

Крутой стартапер




Продукт не важен, важно что он теперь крутой стартапер. Вы там, мол, делайте и работайте, a я пощеголяю. Ходит на тусовки, пишет в блоге статейки, снимает видео про стартаперство. Как быть крутым стартапером? Как выбрать название фирмы? Спросите у него! Через пару месяцев приходит разочарование: вроде бы он крутой стартапер, а дело не движется. Но ничего. Он найдёт в тусовке знакомых, у которых тоже не движется и успокоится.
Читать дальше →
Total votes 77: ↑65 and ↓12+53
Comments29

«Пластилиновая» архитектура

Reading time5 min
Views13K
Я думаю, любой руководитель проекта или ведущий программист хотя бы однажды сталкивался с ситуацией, когда код приложения вдруг оказывался совершенно запутанным, непонятным, а люди, его поддерживающие, в ответ на просьбу исправить ошибку или добавить новую функциональность отправлялись «в астрал» на несколько дней, прихватив с собой изрядную долю бюджета и, возвращаясь, предъявляли ещё более запутанный код с исправленной ошибкой, но добавленной парой других.

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

Большинство провальных проектов обладают одной закономерностью. Они абсолютно лишены структуры. Я называю архитектуру таких систем «пластилиновой».
Читать дальше →
Total votes 102: ↑93 and ↓9+84
Comments124

Python-digest #3. Новости, интересные проекты, статьи и интервью [16 ноября 2013 — 23 ноября 2013]

Reading time4 min
Views14K
В этот раз дайджест получился с задержкой на день, так как я приболел. Зато есть много интересного — вышла новая вкусная версия Python, вспомнилась неплохая книга для начинающих, ну и статьи на любой вкус.

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

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

А еще я предлагаю смешные 500 Яндекс-Денег в качестве стимула для того кто сделает перевод видео о том почему python 3.3 круче чем 2.7 в виде хабрастатьи.

Собственно дайджест под катом
Total votes 51: ↑48 and ↓3+45
Comments10

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

Reading time6 min
Views42K
«Программист должен обладать способностью первоклассного математика к абстракции и логическому мышлению в сочетании с эдисоновским талантом сооружать все, что угодно, из нуля и единиц. Он должен сочетать аккуратность бухгалтера с проницательностью разведчика, фантазию автора детективных романов с трезвой практичностью экономиста» Академик А.П. Ершов




Предисловие

Есть распространенное мнение: «если бы строители строили дома так же, как программисты пишут программу — первый залетевший дятел разрушил бы цивилизацию». С подачи индийского гуру-программиста Мурали Кришна Чимутури (Murali Krishna Chemuturi), Интернет настойчиво приписывает авторство этой цитаты Джеральду Вайнбергу (Gerald Weinberg), хотя на личном сайте Джеральда она не ищется. Скорее всего, человек, который первый заговорил о психологии в программировании, к этому высказыванию не имеет никакого отношения. И вот, почему.

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

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

Позволю крамольную мысль. Разработка ПО – новый вид человеческой деятельности, история которой насчитывает чуть больше полувека. В посте я хочу представить свое видение принципиальных особенностей разработки ПО, которые отличают ее от материального производства и следствий, которые из них вытекают.
Особенности и их следствия
Total votes 90: ↑69 and ↓21+48
Comments45

Python-digest #2. Новости, интересные проекты, статьи и интервью [8 ноября 2013 — 15 ноября 2013]

Reading time5 min
Views14K
Теперь статей и проектов стало больше — включены новости с pycoders, pythonplanet и по-прежнему мониторятся новые пакеты и релизы уже популярных проектов на PyPI и github.
Увы, все также мало материалов на русском языке. Присылайте мне пожалуйста ссылки если находите достойные и актуальны статьи.

Огромное спасибо гитхабо-пользователю и земляку axcel, благодаря которому на нашем инструменте для сбора новостей появились rss лента и optimistic locks при сохранении объектов.

Собственно дайджест под катом
Total votes 65: ↑62 and ↓3+59
Comments13

Как создать мир, спрятать труп и обшмонать перса. Стеки зажатых клавиш. Виртуальные УФМС и ФСКН (или кто разруливает 228 и «пудрит носик»)

Reading time17 min
Views20K


Демо по мотивам одного видео:
Пример 1 — Вы большой гриб, а повсюду таблетки (как на кислотной вечеринке)
Пример 2 — Человек, управляет грузовиком
Пример 3 — Кидание бракованных кирпичей в колодец
Пример 4 — Битва роботов (PvP)

Дублирующий сервер: 1, 2, 3, 4
Читать дальше →
Total votes 51: ↑35 and ↓16+19
Comments11

Получаем тип и размеры изображения без скачивания его целиком, используя Python

Reading time2 min
Views17K
Возникла задача профильтровать базу данных ссылок на изображения и удалить большие. В результате было найдено решение на Python, которым я поделюсь под хабракатом:

image
Читать дальше →
Total votes 53: ↑47 and ↓6+41
Comments14

Ресайз изображений на лету

Reading time9 min
Views20K
Практически в любом веб-приложении использующем изображения существует потребность формировать уменьшенные копии этих изображений, причем зачастую, форматов дополнительных изображений несколько.
Так же вызывает некоторую головную боль добавление новых размеров на существующем приложении. Отсюда задача:
Читать дальше →
Total votes 73: ↑69 and ↓4+65
Comments65

Избранное: ссылки по IT безопасности

Reading time3 min
Views110K




Давно хотел написать этот пост с подборкой полезных ссылок, так как очень часто спрашивают подобное (думаю, у многих, кто в этой (да и в других) сфере). Ссылки разбиты на категории.




Читать дальше →
Total votes 92: ↑86 and ↓6+80
Comments18

Nginx на стероидах — расширяем функционал с помощью LUA

Reading time9 min
Views54K
Для обеспечения работы всех наших внешних продуктов мы используем популярный nginx. Это быстро и это надежно. Проблем с ним почти нет. Наши продукты также постоянно развиваются, появляются новые сервисы, добавляется новый функционал, расширяется старый. Аудитория и нагрузка только растет. Сейчас мы хотим рассказать о том, как мы ускорили разработку, неплохо увеличили производительность и упростили добавление в наши сервисы этого нового функционала, при этом сохранив доступность и отказоустойчивость затронутых приложений. Речь пойдет о концепции “nginx as web application”.
А именно, о сторонних модулях (в основном LUA), позволяющих делать совершенно магические вещи быстро и надежно.
image
Читать дальше →
Total votes 72: ↑69 and ↓3+66
Comments40

По следам Кусто, или Новая одиссея для российского краудфандинга

Reading time7 min
Views47K
Дорогие друзья! Продолжаем рассказывать про наиболее интересные российские краудфандинговые проекты. На этот раз мы познакомились (и хотим познакомить вас) с экспедицией «Акватилис», которая также получила название «Новая одиссея». Как вы видите, проекту нужно собрать 1,5 млн рублей до 31 октября. В общем, знакомьтесь с автором, которого мы на канале «Простая наука» между собой называем «Кусто»

image

Читать дальше →
Total votes 108: ↑104 and ↓4+100
Comments78

Python Meetup: Garbage collector and a bit of memory management

Reading time1 min
Views8.3K
image

Координаты для любителей пообщаться на около-python-овские темы уже определены: последняя пятница месяца, центр Минска, Python Meetup. И традиционно, до проведения следующего митапа мы публикуем видео предыдущей встречи – в сентябре мы обсуждали Garbage collector: что, зачем, почему?
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments5

RESTful API для сервера – делаем правильно (Часть 1)

Reading time13 min
Views333K
В 2007-м Стив Джобс представил iPhone, который произвел революцию в высокотехнологичной индустрии и изменил наш подход к работе и ведению бизнеса. Сейчас 2012-й и все больше и больше сайтов предлагают нативные iOS и Android клиенты для своих сервисов. Между тем не все стартапы обладают финансами для разработки приложений в дополнение к основному продукту. Для увеличения популярности своего продукта эти компании предлагают открытые API, которыми могут воспользоваться сторонние разработчики. Пожалуй Twitter был первым в этой сфере и теперь число компаний, последовавших этой стратегии, растет стремительно. Это действительно отличный способ создать привлекательную экосистему вокруг своего продукта.

Читать дальше →
Total votes 73: ↑70 and ↓3+67
Comments57

Введение в анализ данных с помощью Pandas

Reading time3 min
Views239K
Сегодня речь пойдет о пакете Pandas. Данный пакет делает Python мощным инструментом для анализа данных. Пакет дает возможность строить сводные таблицы, выполнять группировки, предоставляет удобный доступ к табличным данным, а при наличии пакета matplotlib дает возможность рисовать графики на полученных наборах данных. Далее будут показаны основы работы с пакетом, такие как загрузка данных, обращение к полям, фильтрация и построение сводных.
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments15

Petrovich просклоняет русские имена

Reading time3 min
Views64K
Вам часто приходится иметь дело со склонением имён пользователей на русском языке? При рассылке писем, при отображении страниц и упоминаний, при генерации рекламных объявлений? Скорее всего, приходится изворачиваться и писать все сообщения в именительном падеже — Иванов Пётр Сергеевич.

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

Для решения этой проблемы при использовании Ruby существует Petrovich — удобная легковесная библиотека для автомагического склонения русскоязычных имён, фамилий и отчеств.


Склоняй меня полностью!
Total votes 161: ↑155 and ↓6+149
Comments141

Технический долг

Reading time6 min
Views25K
Будь вы простым программистом, матерым лидом, архитектором или даже ПМ-ом, вы наверняка в своей нелегкой работе сталкивались с проблемой выбора при добавлении в систему новой возможности. Одно решение гораздо проще реализовать в сжатые сроки и успеть к очередному очень важному релизу, однако оно будет более затратное в сопровождении, менее расширяемое или менее надежное. Другое решение может не обладать всеми этими недостатками, однако обладать другим, в некоторых случаях более важным недостатком – на его реализацию потребуется значительно больше времени.
Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments8

Erlang для самых маленьких. Глава 1: Типы данных, переменные, списки и кортежи

Reading time8 min
Views66K

Добрый день, дорогие хабражители.

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


Если интересно - давайте начнем...
Total votes 95: ↑88 and ↓7+81
Comments65

Цитаты о языках программирования

Reading time3 min
Views41K
Что учёные, писатели и программисты думают о популярных языках программирования.

Все языки


«Есть два подхода к программированию. Первый — сделать программу настолько простой, чтобы в ней очевидно не было ошибок. А второй — сделать её настолько сложной, чтобы в ней не было очевидных ошибок.»
Tony Hoare. Профессор, занимался реализацией Алгол 60, сейчас исследователь в Microsoft Research.


Algol 60 (позже повлиявший на C)


«Я не мог устоять перед искушением добавить в язык нулевой указатель (null), просто потому, что его так легко было реализовать. Это привело к бессчётному множеству ошибок, уязвимостей и сбоев, которые нанесли ущерб, наверное, в миллиард долларов за последние сорок лет.»
Tony Hoare.
Читать дальше →
Total votes 256: ↑235 and ↓21+214
Comments103

Information

Rating
Does not participate
Location
Красноярск, Красноярский край, Россия
Date of birth
Registered
Activity