Как стать автором
Обновить
171
0
Алексей Рембиш @Rembish

Python

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

[Личная история] Как живется разработчику в Чехии. Поиск работы, любовь к Python, кнедлики и и чешское пиво

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


Чехия кажется центром Европы — развитым, красивым и с достойными зарплатами. Но насколько хорошо здесь жить IT-иммигранту? И не лучше ли выбрать соседнюю Германию?


Мы поговорили с Алексеем Рембишем (/u/rembish/), который в Чехии вырос до руководителя бэкенд-разработки и архитектора ПО.


О поисках работы в Чехии, получении гражданства, зарплатах, кулайде и свиной рульке. Том, какое пиво обязательно стоит попробовать, и почему в Чехии у вас вряд ли взлетит стартап.


Будет много фото. Здесь есть, что показать!

Читать дальше →
Всего голосов 44: ↑35 и ↓9+26
Комментарии177

Фантастические сериалы — обзор от фаната

Время на прочтение8 мин
Количество просмотров81K
Мне наступили на больную мозоль, сделав некий обзорный пост по нескольким фантастическим сериалам.
А так как субботним вечером делать особенно нечего, давайте-ка я сделаю свой, более полный.
Да, будут спойлеры, имейте в виду.
Да, и очень много картинок! Трафик!

Начнём со Stargate

Целое семейство сериалов, начавшихся с одноимённого фильма.
Это во-первых, конечно,

Stargate SG-1
10/10
image
Читать дальше →
Всего голосов 238: ↑132 и ↓106+26
Комментарии262

Великолепная подборка инди-игр*. Часть первая

Время на прочтение7 мин
Количество просмотров19K
*или чем занять все выходные на полгода вперёд.

В определении инди-игр я волен соглашаться с энциклопедией Google Knol(привет, Mio :):
Инди-игры (англ. indie games от англ. independent — «независимый») — видео-игры, созданные независимо от крупных издателей. Большинство изначально свободных игр также относится к этой категории. Инди-игры обычно — дешёвые или бесплатные, часть из них разрабатывается как open source. Разработчиками инди-игр руководят чаще всего «некоммерческие» мотивы — желание самореализации, воплощения своих идей и фантазии, некоторой славы и пр. На создание такой игры могут уйти годы или она может быть завершена за несколько дней или даже часов, в зависимости от её сложности, участников, оформления.

Читать дальше →
Всего голосов 136: ↑97 и ↓39+58
Комментарии44

Запасаемся на зиму

Время на прочтение1 мин
Количество просмотров22K
Книги — пища для мозгов программиста. А художественные — десерт. Хорошая книга — как вкусное блюдо, которое хочется дочитать растянув удовольствие, испробовать снова и снова. Но есть куча книг, которые мы еще не нюхали и, возможно, никогда не попробуем, потому что нам их не посоветовали несколько человек.

У каждого есть одна-две любимые книги, которые могут понравится другим, поделитесь пожалуйста, заразите. Думаю многим будет интересно поставить в очередь «к прочтению» несколько новых. Давайте устроим «дегустацию» книг в формате: одна книга — один комментарий. Чтобы другие могли добавить в избранное (и оценить, и обсудить) каждую книгу по отдельности.

Читать дальше →
Всего голосов 158: ↑148 и ↓10+138
Комментарии476

Блог российского космонавта Максима Сураева

Время на прочтение1 мин
Количество просмотров884
Один из космонавтов в российском сегменте MКС, Максим Сураев, завел свой блог на сайте Роскосмоса:
www.roscosmos.ru/DocDoSele.asp?DocID=528

Контент интересный, а вот навигация совершенно идиотская, да простят меня авторы. Про RSS даже говорить не приходится. Поэтому убил вечерок и, используя Yahoo Pipes, распарсил блог нашего героя в RSS. Правда и тут обошлось не без проблем. Сервер Роскосмоса выпадает в 500 Internal server Error при попытке получить более одной страницы одновременно. Поэтому, в RSS только самый последний пост, но он будет обновляться:
feeds.feedburner.com/dfayruzov/ISSBlog
Либо как вариант, могу сделать все записи на странице, но без содержимого.

PS: уже почти написав статью, обнаружил трансляцию этого блога на сайте Эхо Москвы, содержащую большее количество записей:
www.echo.msk.ru/blog/surayev_maxim

PPS: как вы думаете, стоит согласовать трансляцию с Роскосмосом?  : )
Всего голосов 59: ↑45 и ↓14+31
Комментарии23

Активацию Windows 7 доломали окончательно

Время на прочтение1 мин
Количество просмотров213K
Как известно, механизм активации Windows 7 был взломан ещё до официального выхода этой системы. Но старый метод требовал изменений в BIOS, что является весьма нетривиальной задачей.

Сейчас хакеры нашли вариант полного обхода механизма Windows Activation Technologies (WAT) без манипуляций с BIOS'ом и вообще без использования ключа активации.
Читать дальше →
Всего голосов 276: ↑237 и ↓39+198
Комментарии232

Русификация Windows 7 Professional

Время на прочтение2 мин
Количество просмотров177K
Наконец-то дошли руки поставить и посмотреть Windows 7. Поскольку ВУЗ подключен к программе MSDN Academic Alliance, то я решил не пиратствовать, а честно поставить предоставляемую по программе Windows 7 Professional. С русской локализацией она не доступна, потому ставил английскую. В придачу скачал Language Pack со всеми доступными языками.

Видеть родной русский интерфейс привычнее, потому уже начал потирать руки и искать как поставить скачанный Language Pack. Но тут то и возникла проблема… поставить его можно лишь на Ultimate или на Enterprise.
читаем дальше
Всего голосов 84: ↑58 и ↓26+32
Комментарии57

Движок СУБД на PHP

Время на прочтение4 мин
Количество просмотров3.2K
Здравствуйте, уважаемые читатели. Моя СУБД не является портом никакой из существующих СУБД на PHP (в отличие от C#-SQLITE, к примеру), а является уникальной разработкой. Основным отличием от существующих движков, вроде TxtSQL, является поддержка индексов. Если используется только PRIMARY INDEX, скорость вставки на моём ноутбуке достигает 5000/сек. Для PHP, как мне кажется, это вполне неплохо.
Читать дальше →
Всего голосов 193: ↑164 и ↓29+135
Комментарии186

Python, каким бы я хотел его видеть

Время на прочтение11 мин
Количество просмотров46K
Всем известно, что мне не нравится третья версия Python и то, в каком направлении развивается этот язык программирования. За последние несколько месяцев я получил много писем с вопросами о моём видении развития Python и решил поделиться своими мыслями с сообществом, чтобы, по возможности, дать пищу для размышлений будущим разработчикам языка.

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

Я хочу начать наш разговор с одной странности интерпретатора (слоты) и закончить его самой большой ошибкой архитектуры языка. По сути, эта серия постов является исследованием решений, заложенных в архитектуре интерпретатора, и их влияния как на интерпретатор, так и на сам язык. Я считаю, что с точки зрения общего дизайна языка такие статьи будут выглядеть гораздо интереснее, чем просто высказывание мыслей по улучшению Python.
Читать дальше →
Всего голосов 97: ↑87 и ↓10+77
Комментарии37

Synology призывает пользователей обновить ОС DSM для защиты от вируса SynoLocker, угрожающего старым версиями

Время на прочтение2 мин
Количество просмотров13K
Тайбэй, Тайвань – 8 августа 2014 года – компания Synology занимается расследованием всех обстоятельств недавнего возникновения программы-вымогателя SynoLocker и работает с пострадавшими от нее пользователями. Было установлено, что эта программа влияет на NAS-сервера со старыми версиями ОС DSM, используя уязвимость, устраненную в декабре 2013 года с выходом новой версии. После чего компания Synology через различные каналы информировала пользователей о необходимости обновления системы.

Пострадавшие пользователи могут столкнуться со следующими симптомами:

При попытке войти в DSM появляется окно, сообщающее пользователю, что его данные были зашифрованы, а за их восстановление необходимо заплатить;
Чрезвычайно высокая загруженность процессора или выполняющийся процесс под названием “synosync” (смотрите: Главное меню > Мониторинг Ресурсов);
На устройстве с установленной ОС:
— DSM 4.3-3810 или более ранней версией;
— DSM 4.2-3236 или более ранней версией;
— DSM 4.1-2851 или более ранней версией;
— DSM 4.0-2257 или более ранней версией;

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

https://myds.synology.com/support/support_form.php
Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Комментарии24

Ускоряем процесс разработки с помощью Vagrant

Время на прочтение10 мин
Количество просмотров67K
image Как часто вам приходится разрабатывать и запускать приложение локально и упорно искать проблемы, потому что на продакшене приложение ведёт себя не совсем так, как вы этого хотели? А как часто вам присылают тикеты для решения проблемы в приложении, хотя на самом деле проблема именно в несовместимости версий разных приложений? А как долго вам приходится ждать виртуалку, когда для запуска новой версии приложения недостаточно ресурсов локальной машины? Для нас эти вопросы были довольно больными, и мы сломали тысячи копий в спорах, стараясь решить их. Практика показывает, что одним из вариантов для решения этих проблем может стать Vagrant.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии10

Обзор: Puppet, Chef, Ansible, Salt

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

Ведущие инструменты для управления конфигурацией по разному подходят к автоматизации серверов


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

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

В этот момент средства управления конфигурациями и вступают в игру. Во многих случаях, мы управляем группами одинаковых серверов, на которых запущены одинаковые приложения и сервисы. Они размещаются на системах виртуализации внутри организации, или же запускаются как «облачные» и гостевые в удаленных ЦОД. В некоторых случаях, мы можем говорить о большом количестве оборудования, которое существует только для поддержки очень больших приложений или об оборудовании, обслуживающем мириады небольших сервисов. В любом случае, возможность «взмахнуть волшебной палочкой» и заставить их всех выполнить волю системного администратора не может быть обесценена. Это единственный путь управлять огромными и растущими инфраструктурами.

Puppet, Chef, Ansible и Salt были задуманы чтобы упростить настройку и обслуживание десятков, сотен и джае тысяч серверов. Это не значит, что маленькие компании не получат выгоды от этих инструментов, так как автоматизация обычно делает жизнь проще в инфраструктуре любого размера.
Я пристально взглянул на каждый из этих четырех инструментов, исследовал их дизайн и функциональность, и убежден, что несмотря на то, что некоторые оценены выше, чем другие, для каждого есть свое место, в зависимости от целей внедрения. Здесь я подвожу итоги моих находок.

Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии17

Chef для новичков

Время на прочтение7 мин
Количество просмотров76K
На тему систем централизованного управления конфигурациями на Хабре написано немало статей и, в частности, про Chef есть несколько хороших статей. Однако, количество релизов Chef растет, и я решил немного освежить его описание для читателей Хабра. Статья предназначена как для новичков, так и для тех, кто уже знакомился с системой, но по какой-то причине отложил изучение и хочет все-таки продолжить. А продолжать стоит! Поскольку, Chef полезен и для администрирования нескольких VPS, и для управления большим парком серверов. Особенно, если вам часто приходится заниматься настройкой серверов с нуля, подключением дополнительных нод в кластер и т.д.
Подробности под катом
Всего голосов 37: ↑30 и ↓7+23
Комментарии13

Deploy с помощью Salt

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

До сих пор во многих компаниях deploy создает большие проблемы и может занимать дни, недели и в особо запущенных случаях месяцы. Но ситуация не безнадежна. Существует много инструментов и практик, способных помочь в этом нелегком деле. Вот только эти инструменты чаще всего за один-два дня не освоишь, а сроки горят.

Чего обычно хочется:
  • Возможность поднять проект локально на машине разработчика. Весь или хотя бы частями. Причем очень хочется, чтобы Dev конфигурация отличалась от Prod в минимуме параметров. Это позволит избежать “work on my machine” багов. Да и вообще, когда один разработчик работает на OS X, другой на Windows, а продакшен на Debian, то жди беды, это не считая того, что каждый делает работу по настройке окружения.
  • Dev конфигурацию хочется разворачивать на любой машине и ОС в пару команд в консоли. Это опять же позволит уменьшить фактор “work on my machine” багов. А еще позволит привлекать других разработчиков в проект за минимальное время (vagrant up и поехали).
  • Конфигурация должна быть понятна и программисту, и админу.

Всего этого мы добьемся на связке Salt + Vagrant на примере Django проекта. Но большинство техник будут полезны разработчикам не только на Python, но на других языках.
Читать дальше →
Всего голосов 50: ↑47 и ↓3+44
Комментарии34

Как заставить себя работать?

Время на прочтение6 мин
Количество просмотров413K
В понедельник утром за неделю до Нового Года этот вопрос, думаю, актуален для многих.

Есть куча статей на эту тему. Вот основные советы:
  • Начинайте с самой сложной задачи
  • Сделайте первый шаг — продолжать будет уже легче
  • Составьте план и неукоснительно ему следуйте
  • Занимайтесь любимым делом
  • Не отвлекайтесь

Всё просто. Закройте Хабр и приступайте к работе!

Только почему-то на меня все эти советы не действуют. Вроде правильные вещи люди говорят, но — не работает. Кстати, на тему «Почему не получается заставить себя работать?» тоже есть статьи. В них проблема описывается с точки зрения психологии и предлагаются решения вроде «избавьтесь от внутренних противоречий и страха перед неудачей». Наверное, если это сделать, то всё получится, но где найти эту волшебную кнопку «Избавиться от...»?
Читать дальше →
Всего голосов 143: ↑123 и ↓20+103
Комментарии112

Менеджер версий python

Время на прочтение5 мин
Количество просмотров92K
Иногда полезно держать несколько версий python на одной машине. Допустим для разработки двух проектов нам необходима вторая и третья ветка python. Или вы поддерживаете проект который использует старую версию python.

Обычно для этого мы используем виртуальное окружение virtualenv или же обертку для него virtualenvwrapper. Об этом я рассказывать не буду, так как есть уже много подобных статей, да и в документациях к самим утилитам все очень хорошо объяснено. Достаточно только забить virtualenv или virtualenvwrapper в поисковик.
Но в дополнение к ним я хочу рассказать в этой статье про менеджер версий python. Кому любопытно прошу под кат.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии7

Профилирование и отладка Python, инструменты

Время на прочтение14 мин
Количество просмотров107K
В предыдущей статье мы на практике разобрались, где и в каких случаях можно использовать ручное профилирование, а так же познакомились со статистическими профайлерами.

Сегодня мы познакомимся с основной и самой многочисленной группой инструментов — событийными профайлерами.

Приступим!
Всего голосов 72: ↑69 и ↓3+66
Комментарии9

Второй Python meetup: чего ждать от PEP и стоит ли стрелять себе в ногу?

Время на прочтение2 мин
Количество просмотров13K
Воодушевившись большим количеством слушателей июньского митапа, мы решили проводить его каждый месяц. Как итог – вторая встреча «питонщиков» в пятницу 26 июля. В этот раз мы (более 100 участников!) прошлись по наиболее популярным Python-библиотекам, покопались во внутренностях интерпретатора, а также разобрались в создании классов и объектов. Все подробности в must-see видео.

image
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии7

LVMOO LM028N — мобильное зарядное устройство с Wifi-роутером

Время на прочтение5 мин
Количество просмотров16K
image
В продаже всё чаще стали появляться мобильные зарядные устройства, которые включают в себя Wifi-роутер и возможность подключения 3G-модема или flash-накопителей. LVMOO LM028N отличается от других похожих устройств наличием слота для MicroSD карт памяти.
Читать дальше →
Всего голосов 9: ↑6 и ↓3+3
Комментарии10

Python изнутри. Объекты. Хвост

Время на прочтение10 мин
Количество просмотров25K
1. Введение
2. Объекты. Голова
3. Объекты. Хвост
4. Структуры процесса

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

Приветствую вас в третьей части нашего цикла статей о внутренностях Питона (строго рекомендую прочитать вторую часть, если вы этого ещё не сделали, иначе ничего не поймёте). В этом эпизоде мы поговорим о важном понятии, к которому всё никак не подберёмся, — об атрибутах. Если вы хоть что-нибудь писали на Питоне, то вам доводилось пользоваться ими. Атрибуты объекта — это другие, связанные с ним, объекты, доступные через оперетор . (точка), например: >>> my_object.attribute_name. Кратко опишем поведение Питона при обращении к атрибутам. Это поведение зависит от типа объекта, доступного по атрибуту (уже поняли, что это относится ко всем операциям, связанным с объектами?).

В типе можно описать специальные методы, модифицирующие доступ к атрибутам его экземпляров. Эти методы описаны здесь (как мы уже знаем, они будут связаны с необходимыми слотами типа функцией fixup_slot_dispatchers, где создаётся тип… вы же прочитали предыдущий пост, так ведь?). Эти методы могут делать всё, что угодно; описываете ли вы свой тип на C или на Python, вы можете написать такие методы, которые сохраняют и возвращают атрибуты из какого-нибудь невероятного хранилища, если вам так угодно, вы можете передавать и получать атрибуты по радио с МКС или даже хранить их в реляционной базе данных. Но в более-менее обычных условиях эти методы просто записывают атрибут в виде пары ключ-значение (имя атрибута/значение атрибута) в каком-нибудь словаре объекта, когда атрибут устанавливается, и возвращают атрибут из этого словаря, когда он запрашивается (или выбрасывается исключение AttributeError, если в словаре нет ключа, соответствующего имени запрашиваемого атрибута). Это всё так просто и прекрасно, спасибо за внимание, на этом, пожалуй, закончим.

Стоять! Друзья мои, фекальные массы ещё только начали своё стремительное приближение к вращающемуся ветрогенератору. Пропадать, так всем пропадать. Предлагаю совместно изучить, что происходит в интерпретаторе, и задать, как мы обычно делаем, несколько раздражающих вопросов.
Стать умнее
Всего голосов 37: ↑36 и ↓1+35
Комментарии6

Информация

В рейтинге
Не участвует
Откуда
Praha, Hlavni Mesto Praha, Чехия
Дата рождения
Зарегистрирован
Активность