Pull to refresh
60
0
Alexey Shrub @worldmind

Программист

Send message

Python не запрещает вызов private/protected методов потому, что любит тебя :-)

Reading time 3 min
Views 13K
Много копий сломано в обсуждениях того, почему питон эдакий бяка — не запрещает вызывать непубличные методы. И конечно, не раз звучали объяснения в духе «мы все тут взрослые люди», но похоже их было недостаточно, мне кажется, я наконец понял, как это объяснить более понятно, надеюсь, что это действительно так.

Напомню, что для private методов питон всего-лишь динамически изменяет имя и никак не ограничивает доступ к нему, а для protected не делает и этого, это просто соглашение об именовании методов, для тех кто не очень в курсе, есть дополнительные материалы тут и тут.
Читать дальше →
Total votes 40: ↑30 and ↓10 +20
Comments 106

xonsh — python как замена shell

Reading time 5 min
Views 18K

Удивительно, на на хабре до сих пор нет поста о такой, весьма интересной, замене шеллу как xonsh (github), с моей точки зрения синтаксис всяких shell'ов ужасен и не вижу никаких оснований сохранять его в 21 веке, а Python, в свою очередь, обладает прекрасным синтаксисом и массой других преимуществ, поэтому, на мой взгляд, он и должен быть языком автоматизации по умолчанию, чего и пытаеся достичь xonsh.


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

Читать дальше →
Total votes 34: ↑27 and ↓7 +20
Comments 95

Что нужно запомнить программисту, переходящему на Python

Reading time 11 min
Views 50K

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


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


  • Билл Любанович «Простой Python. Современный стиль программирования»
  • Дэн Бейдер «Чистый Python. Тонкости программирования для профи»
  • Бретт Слаткин «Секреты Python: 59 рекомендаций по написанию эффективного кода»

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


В итоге у меня накопились какие-то заметки об особенностях питона, которые, как мне кажется, могут быть полезны тому кто пожелает мигрировать на него с других языков.

Читать дальше →
Total votes 46: ↑41 and ↓5 +36
Comments 33

Блокчейн это не экономика, это политика. Хайп не туда

Reading time 5 min
Views 10K
Был я недавно на конференции и у меня сложилось впечатление, что даже специалисты как-то слишком оптимистично смотрят на все эти якобы децентрализованные блокчейны.

Это заставило меня задуматься над теми идеями, которые ранее я уже формулировал, но держал их в фоне, и вот что получилось.
Читать дальше →
Total votes 21: ↑16 and ↓5 +11
Comments 86

Семантическая разметка: LaTeX, DocBook или ???

Reading time 4 min
Views 18K
Писал комментарий к статье и понял, что надо выносить в отдельный пост.
Как многие отмечают там в комментариях статья отстой, человек не разбирается и смешал всё в кучу, попробую поделиться своими выводами от использования разных разметок.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Comments 55

Современный найм — отстой

Reading time 4 min
Views 21K
Прежде чем начать сей вопль отчаяния, вызванный безумием этого мира, хотелось бы кратко сказать о себе — рограммист, руководитель программистов (нанимался и нанимал), значительный опыт разработки только на языке Perl.

Perl — это когда-то бывший популярным для веба, но ныне умирающий, язык. Умирающий вполне обоснованно, поэтому хотелось бы слезть с него на что-то массово востребованное (Java).

Проблема


Сменить стек технологий — это не такая простая задача, проблема в том, что если у тебя в опыте работы не указан конкретный язык программирования, а то и конкретный фреймворк/библиотека, то ты считаешься неподходящим кандидатом.
Читать дальше →
Total votes 41: ↑26 and ↓15 +11
Comments 177

Свободу информации

Reading time 8 min
Views 6.8K
Когда-то на хабре, я выкладывал заметку с предложением как можно было достичь компромисса между правообладателями и пользователями. Обратной связи было немного, а та, что была не привела к значимым изменениям в моей концепции.

Впоследствии я добавил некую выжимку из этой статьи в свою книгу и думал что вопрос решён.
Однако, прочитав доклад «Анархономика» Копенгагенского Института исследований будущего и подискутировав с одним из немногочисленных читателей моей книги, я изменил своё мнение.
Теперь я считаю, что копирование не должно преследоваться государством, идея, конечно же, не новая, но ранее она мне казалась недостаточно обоснованной, а теперь, как мне кажется, я смог достаточно убедительно обосновать её.
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Comments 20

Почему я больше не хочу програмировать на Perl

Reading time 3 min
Views 13K
Про недостатки перла как языка и платформы сказано многое, например, про то, что нет спецификации языка, про то, что странный синтаксис к которому нужно долго привыкать и т.д.

Достаточно того, что авторы языка, задумывая новые версию, по сути создали новый язык мало похожий на исходный (Perl 6), тем самым признали что текущий перл вышел не очень удачным, что в принципе понятно т.к. язык создавался как замена shell'у, а потом оброс фичами.

Я бы хотел сказать о своих личных наблюдениях, которые привели меня к тому, что работать на перле я пойду только в крайнем случае, несмотря на то, что этой мой основной язык.
Читать дальше →
Total votes 19: ↑10 and ↓9 +1
Comments 227

Нужны ли социальные сети?

Reading time 4 min
Views 22K
Прежде чем начать разговор о социальных сетях, необходимо дать определение социальной сети, а значит описать то, без чего социальная сеть не будет таковой.

Социальная сеть это люди (объективная информация о человеке, его профиль) и связи между ними (тип отношений и субъективное мнение/знание индивидов друг о друге).

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

Далее необходимо вспомнить историю социальных сетей, вернуться к истокам. Начать необходимо со времён когда представители вида homo sapiens жили малыми группами (до 150-200 особей) на значительном удалении друг от друга.
Читать дальше →
Total votes 20: ↑12 and ↓8 +4
Comments 25

Почему земляне делают глючный софт и железо

Reading time 5 min
Views 41K
Думаю никто не станет спорить с тем, что качество сколь-либо сложных систем создаваемых землянами далеко от идеала. Конечно, можно сказать, что всё работает — самолёты летают, космические корабли бороздят просторы орбиты Земли и т.д.

Но при этом все привыкли к тому, что ПО на их устройствах работает непредсказуемо, через раз, что даже установка самых последних обновлений не гарантирует отсутствия проблем с безопасностью, что часто в открытом, массово используемом коде находят ошибки существующие там много лет, что даже у крупных и «технологических» компаний бывают сбои и утечки данных, что космические аппараты разбиваются или теряют часть функциональности вовсе не из-за козней инопланетян (марсиане клянутся что не сбивали ExoMars).

Хотелось бы рассмотреть причины и возможные пути решения этой планетарной проблемы.
Читать дальше →
Total votes 49: ↑32 and ↓17 +15
Comments 306

Объективные критерии качества Perl кода

Reading time 1 min
Views 5.6K
Захотелось мне объективных критериев качества кода и конечно я вспомнил про свои давние наработки (коллекцию нефункциональных тестов, см. тут и тут).
Ещё тогда была идея оформить их не в виде коллекции тестов, а в виде отдельной утилиты, но удалось сделать только теперь, встречаем perlqual (от perl quality).
Читать дальше →
Total votes 16: ↑13 and ↓3 +10
Comments 24

Работа будущего

Reading time 2 min
Views 7.7K
Сегодня большая часть работы выглядит так: есть некий деловой человек-владелец бизнеса, который нанимает людей для делегирования им каких-то видов деятельности.
Цель дельца — заработать на машину/дом/яхту/остров и т.п. в зависимости от амбициозности.
Нанятые сотрудники — это винтики в механизме, создатель механизма не очень-то заинтересован в том чтобы винтики возомнили себя бизнесменами, поэтому старается не перегружать никого информацией о всех тонкостях бизнеса (некоторая разновидность принципа «разделяй и властвуй»).
Золотое правило управления: В каждой фирме всегда есть один человек,
который понимает что происходит на самом деле, вот его-то и нужно
уволить в первую очередь.

Мотивированы эти сотрудники денежными средствами необходимыми для выживания, Маркс называл это отчуждённым трудом.
Есть конечно исключения, который выглядят как инопланетяне или посланцы из будущего
Читать дальше →
Total votes 15: ↑12 and ↓3 +9
Comments 3

Что делать?

Reading time 3 min
Views 7.3K
В последнее время много говорят о том, как быть эффективнее, но мне почему-то кажется, что это не работает. Нет, конечно, некоторые практики могут быть полезны, нельзя отрицать, что совет «не отвлекаться на коммуникации во время работы, требующей концентрации» полезен, хотя он очевиден и не требует прочтения книг и посещения тренингов. Суть в том, что если вы занимаетесь бессмысленной с вашей точки зрения деятельностью, то никакая система не поможет, хотя нет, есть один вариант, если вы занимаетесь нетворческим трудом, то надсмотрщик с плетью может помочь, ну или голод, например.
Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Comments 18

Правообладатели vs пользователи: компромисс

Reading time 4 min
Views 3.9K
Хотелось бы попытаться сформулировать как мог бы выглядеть компромисс между владельцами/производителями развлекательного контента и потребителями.

Противостояние «пиратов» и держателей прав на контент (в первую очередь развлекательный) выглядит сегодня так.
С одной стороны владельцы прав на контент (обычно огромные корпорации), которые владеют правами на произведения:
Читать дальше →
Total votes 14: ↑11 and ↓3 +8
Comments 14

Что ускоряет принудительная сверхурочная работа

Reading time 3 min
Views 68K
Многие аутсорсинговые компании грешат тем, что по любому капризу заказчика готовы заставлять (отдельный вопрос могут ли заставить, но это зависит от личностных качеств человека, многие соглашаются) сотрудников работать в выходные, я уверен что это совершенно неразумно почти всегда. Конечно с точки зрения аутсорсера и конкретного менеджера всё выглядит отлично — проект ускоряется, менеджер получает премии за выполнение сроков, заказчик доволен, заказчик платит больше денег, сотрудники получают двойную оплату (правда это в самом лучшем случае). Вроде все должны быть рады.
Читать дальше →
Total votes 63: ↑47 and ↓16 +31
Comments 102

Что должен знать начинающий Perl разработчик о перловой инфраструктуре

Reading time 5 min
Views 35K
В связи с тем, что дефицит кадров в ИТ отрасли велик, а перловиков совсем мало (а те, что есть, уже хотят быть техдирами и получать много денег), многие конторы с радостью берут способную молодёжь для превращения в перловиков.
Компания, в которой я сейчас работаю, тоже об этом задумалась и я вспомнил свою идею набросать некую шпаргалку-карту для начинающих шеф-поваров по приготовлению перловой каши.

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

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

Также отмечу что весь свободный софт, и перл не исключение, делается для Unix-подобных ОС, на винде всё это можно делать, но не нужно, рекомендую сразу осваивать нормальную для девелопера ОС (GNU/Linux, FreeBSD).

Как обычно всё будет в шпаргалочном стиле, ссылки будут в основном на официальные доки, всяких док для быстрого старта полно в сети:
Читать дальше →
Total votes 55: ↑48 and ↓7 +41
Comments 120

Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами

Reading time 3 min
Views 290K
Долгое время меня глодало незнание того, как сделать некоторые элементарные вещи в дебиановских менеджерах пакетов, но, как часто бывает, спросить рядом было не у кого, а до написания куда-либо руки не доходили. И вот наконец вопросы вызрели и я написал свой вопрос в дебиановскую рассылку. Естественно оказалось что пропустил что-то очевидное, но и узнал много неочевидных полезностей, посему решил набросать шпаргалку, авось кому пригодится.
Читать дальше →
Total votes 103: ↑90 and ↓13 +77
Comments 64

Шпаргалка по mock-объектам в Perl

Reading time 3 min
Views 3.5K
В богатом русском языке к сожалению нет некоторых слов, поэтому вместо того чтобы начать заметку словами «Пися/Пиша модульные тесты», я вынужден удлинить фразу.
В процессе написания модульных тестов часто приходится заглядывать в старые тесты, чтобы быстро вспомнить как подменить тот или иной объект, поэтому я решил что пришло время набросать небольшую шпаргалку, авось и кому-то ещё сгодится.
Сразу прошу сильно не пинать, это шпаргалка, а не руководство, поэтому всё предельно кратко.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Comments 8

Unix-way напоминалка

Reading time 2 min
Views 7.6K
На хабре много пишут о повышении эффективности своей работы, важной составляющей этого процесса является управление своим временем. С моей точки зрения без инструмента хорошо управлять временем не получится, либо ты погрузился в задачу, забыл обо всё и эффективно над ней работаешь, либо ты постоянно дёргаешься проверяя не пришло ли время переключиться на что-то, тем самым теряя эффективность.

Поиск по хабру показал что ещё никто не рассказывал об инструменте, который я решил использовать. Важным отличием этого инструмента является то, что это настоящий unix-way, что намекает на одинаковую её работу на всех GNU/Linux дистрибутивах, хотя по слухам утилита работает и на ОС от Apple и даже на MS Windows (cygwin), хотя автор не очень рад такому использованию.
Читать дальше →
Total votes 40: ↑36 and ↓4 +32
Comments 19

Нефункциональное модульное тестирование — «главное чтобы блестел». Часть 2

Reading time 2 min
Views 2.5K
В прошлом году я написал небольшую заметку о нефункциональном тестировании — т.е. о тестах пытающихся выявить уродливый и сложный в сопровождении код. Конечно такие тесты не гарантируют идеального кода, но какой-то минимальный уровень качества обеспечат т.к. несмотря на очевидность требований этих тестов многие их игнорируют и потом приходиться разбираться в процедурах на 5 000 строк.
Заметка в ЖЖ не вызвала ожидаемой мной обратной связи (хотелось бы знать что я упустил), поэтому несмотря на сопротивление хабра решил выложить продолжение тут (спасибо людям добавившим кармы).
Со времени публикации первой заметки произошли следующие изменения:
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 17
1

Information

Rating
Does not participate
Location
Гомель, Гомельская обл., Беларусь
Registered
Activity