Pull to refresh
33
0
Марсель Гиззатов @Rivethead

python developer

Send message

Прием граждан: опыт внедрения «электронной очереди» в государственной организации

Reading time3 min
Views8.4K
Добрый день, друзья!

Так или иначе, всем нам приходится обращаться в государственные органы. Взять справку, поставить на учет, снять с учета, зарегистрировать и т.д. И каждый раз приходится выстаивать многочасовые очереди ради одной-двух заветных бумажек или печатей. В сегодняшней статье я хотел бы рассказать о том, как лично мы боремся с проблемой очередей (в нашем Управлении [УФРС по Курганской области] довольно большой поток посетителей, так что задача довольно актуальна).

Сразу хочу оговориться о целях статьи:

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

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

Читать дальше →

Раздаем права на запуск/остановку сервисов под Windows

Reading time3 min
Views56K
Буквально сегодня понадобилось дать человеку возможность перезапускать тестовый вебсервер под виндой.
Права админа давать естественно давать не хочется.
«Мощный» юзер не подходит.

букв много
Читать дальше →

Бюджетные петабайты: Как построить дешевое облачное хранилище. ч. 2

Reading time7 min
Views16K
Продолжение. Начало см. здесь

Соединяя провода: Как собрать контейнер хранения Backblaze


Диаграмма разводки питания контейнера хранения Backblaze приведена ниже. Блоки питания (БП) предоставляют бОльшую часть своей мощности по 2-м разным напряжениям: 5V и 12V. Мы используем 2 БП в контейнере, поскольку 45 дисков требуют много 5V-мощности, в то время как мощные ATX БП отдают бОльшую часть своей мощности по шине 12V. Это не случайность: 1500W и более мощные ATX БП спроектированы для мощных 3D-видеоплат, которым нужна дополнительная мощность по шине 12V. Мы могли бы предпочесть 1 серверный БП, но 2 ATX БП дешевле.

Диаграмма разводки питания сервера
Читать дальше →

Бюджетные петабайты: Как построить дешевое облачное хранилище

Reading time3 min
Views34K
Познакомьтесь с Backblaze Pod: 67 терабайт за $7867

Мы в Backblaze предлагаем нашим клиентам неограниченное хранилище всего за $5 в месяц, поэтому нам пришлось выяснить, как хранить сотни петабайт клиентских данных надёжным масштабируемым образом, при этом сохраняя цены низкими. Посмотрев на несколько коммерческих решений с неоправданно высокими ценами, мы решили строить наши собственные нестандартные контейнеры хранилища Backblaze (Backblaze Storage Pods): 67-терабайтные 4U-серверы за $7867.

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

Сказ о том, как поднимался упавший fake RAID 0

Reading time8 min
Views6.4K
… или, точнее говоря, — как я восстанавливал данные с положеного мною nVidia RAID 0.

Завязка

Собственно, прелюдия. Живёт у меня дома комп, контроллер IDE у него реализован в nVidia MCP65. У данного контроллера есть опция, превращающая его в RAID-контроллер с поддержкой RAID 0 и RAID 1. В моём случае — RAID 0 из двух Samsung'ов по 250 Гб каждый. Вобщем, ничего сверхестественного, набортным RAID'ом удивить сложно было уже 5 лет назад, не то что в наше время. Если кого-то заинтересовала приставка «fake» — так принято называть полуаппаратные реализации RAID. Разберём на пальцах.
Читать дальше →

22 вещи, которые вы не знали о своих покупателях

Reading time6 min
Views1.7K
Это перевод статьи с англоязычного блога. Я, как переводчик, не могу безоговорочно согласиться со всеми утверждениями автора, но счел необходимым перевести эту статью для того, чтобы мы могли задуматься обо всех этих штуках при тестировании. Только тестирование скажет, насколько эти утверждения справедливы в каждом конкретном случае.

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


Вы не знаете кое-чего о ваших потребителях. Дело не в вас, а в них. Но вам необходимо узнать это. Вот некоторые тяжелые уроки, которые я выучил за много лет — они относятся к юзабилити, любимым мозолям и другим забавным штукам. Выучите эти уроки и получите больше довольных потребителей, посетителей, читателей и поклонников:
Читать дальше →

Секреты Гуглономики, часть 2

Reading time7 min
Views806
Это продолжение статьи "Секреты Гуглономики".

Самофокусирование на инженерных моментах, математических формулах и дата-майнинге сделало из Google компанию совершенно нового типа. Но для того чтобы полностью понять почему, стоит вернутся немного назад и заглянуть под крышу AdWords.

Большинство людей считает, что рекламный аукцион Google – это очень «прямолинейный» инструмент. Но на самом деле, есть еще один ключевой момент, о котором знает не то что меньшинство пользователей самой системы, но даже далеко не все опытные рекламщики догадываются о его существовании. Ставки сами по себе являются лишь частью системы, определяющей победителя аукциона. Другим, пожалуй самым важным фактором, определяющим победителя аукциона является т.н. «показатель качества» (the quality score). Эта величина создана для того, чтобы определить является ли реклама, которую показывает пользователям, в точности подходящей под ее описания и требования к ней, т.е. грубо говоря определяет «истинность» того или иного рекламного сообщения. Ибо если нет, то страдает вся система и компания, в итоге, получает меньше денег.

Показатель качества вычисляется на основе множества других показателей, включая релевантность рекламы ключевым словам, качеству страницы на которую ведет рекламная ссылка, и, прежде всего, процент уникальных кликов по рекламному блоку, когда он появляется на конечной странице (очевидно, что есть и другие факторы, но Google никогда не будет их обсуждать по понятным причинам). К тому же есть и механизм «наказания» рекламодателей в том случае, если качество рекламы ниже среднего уровня – в таких случаях компания автоматически назначает рекламодателю минимальную ставку. В Google объясняют, что подобная тактика, вынесенная на суд общественности множеством компаний и частных лиц, которых автоматически «занизили», защищает пользователей от нерелевантной или раздражающей рекламы, которые порочат имя контекстной рекламы или оплачиваемых ссылок в целом. Уже даже успело пройти несколько судебных дел от лиц, которые заявляли что стали жертвами произвола в условиях квази-монополии.
Читать дальше →

Секреты Гуглономики

Reading time10 min
Views1.6K
image
Посреди финансового апокалипсиса, отцы и гуру глобального рынка в самом широком смысле слова, собрались вместе в конференц-зале отеля Hilton, расположенного в Сан-Франциско, для ежегодной встречи Американской Экономической Ассоциации (American Economics Assosiation). Можно представить себе атмосферу подобной встречи, но, как ни странно, человек которого все так ждут не будет говорить о токсических выхлопах, инвестициях или уровне безработицы.

«Я хочу рассказать вам об онлайн-аукционах» — говорит Хал Вариан (Hal Varian), первый на подиуме с микрофоном в руках. Вариану 62 года и он профессор в Школе Бизнеса и Школе Информации при университете Беркли, но сейчас этот человек куда более известен всему миру как главный экономист Google. И аудитория, сидящая перед ним, пришла не для того чтобы слушать об упадке кредитного мира – им всем куда более интересен рецепт приготовления секретного соуса Google.
Читать дальше →

NetSetMan — программа для быстрой смены сетевых настроек на ноутбуке

Reading time2 min
Views78K
Ноутбуки прочно вошли в жизнь человечества. :)
При перемещениях в течении дня, часто приходится менять сетевую конфигурацию для доступа к сети. За день можно побывать дома, на работе, в университете, в кафе на обеде, и во многих из этих мест есть доступ к сети internet, только приходится постоянно менять ip-шники, dns-ы, шлюзы и т.д.
Чтобы не делать этого вручную предлагаю ознакомиться с удобной и бесплатной программой для смены настроек в 2 клика.
NetSetMan - программа для быстрой смены сетевых настроек на ноутбуке
ознакомиться

Преждевременная оптимизация — зло!

Reading time1 min
Views26K
image

Предлагаю вашему вниманию первую часть перевода книги «Mature optimization» Карлоса Буэно о принципах оптимизации высоконагруженных проектов.

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

Книгу стоит прочесть, если вы:

1. Хотите повысить производительность своего проекта, но не знаете с чего начать.
2. Хотите повысить производительность своего проекта, но боитесь все сломать.
3. Не знаете о подводных камнях оптимизации производительности.
4. Давно хотели настроить мониторинг проекта, но не уверены что именно стоит мониторить.
5. У вас есть система мониторинга, но она не сообщает о проблемах заранее.

Читать дальше →

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

Reading time8 min
Views324K


Более трех лет назад я написал пост о выборе платежной системы для приема платежей на своем прошлом проекте. С тех пор прошло довольно много времени и многое в способах приема платежей изменилось. Теперь я расскажу как делал прием платежей на сайте poiskvps.ru.

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

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


Читать дальше →

Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в степень

Reading time20 min
Views84K
Пусть мы хотим вычислить десятимиллионное число Фибоначчи программой на Python. Функция, использующая тривиальный алгоритм, на моём компьютере будет производить вычисления более 25 минут. Но если применить к функции специальный оптимизирующий декоратор, функция вычислит ответ всего за 18 секунд (в 85 раз быстрее):


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

Эта статья расскажет о том, в каких случаях и каким образом декоратору удаётся делать подобные оптимизации. Также вы сможете сами скачать и протестировать библиотеку cpmoptimize, содержащую данный декоратор.
Читать дальше →

Что хабровчане носят с собой, или хвастаемся EDC (+ обзор рюкзака Thule TCBP-217)

Reading time8 min
Views116K
С каждым днем количество электроники которую человек берет с собой за пределы дома растет, и несмотря на ее тотальное уменьшение и облегчение, количество гаджетов у отдельных особей может составлять весьма длинный список. Встает вопрос: в чем носить? Да так, чтобы удобно и безопасно для электроники? Сегодня расскажу о годном гик-рюкзаке на 32 литра Thule TCBP217 ну, и конечно же, всех приглашаю в EDC тред.


Осторожно: много картинок!
Читать дальше →

Чек-лист по юзабилити интернет-магазинов

Reading time7 min
Views90K
Апофеоз сотни холиваров и улучшения работы QA — чек-лист по юзабилити интернет-магазинов. В нем частично задействованы прошлые документы — чек-листы по формам и фильтрам. Пользуйтесь.


Читать дальше →

Reedy – Скорочтение, которое действительно можно использовать

Reading time9 min
Views244K
Reedy – продвинутая реализация технологии скоростного чтения

В последнее время наблюдается рост интереса к скорочтению на основе технологии RSVP. Однако большинство приложений и расширений на эту тему, при более близком знакомстве, увы, оказываются не очень удобны для ежедневного использования. А ведь в потенциале они могу помочь значительно экономить время и быстрее получать информацию. Мой друг OlegCherr решил доработать технологию, создав реализацию пригодную для постоянного использования, а я ему в этом помогаю. После двух месяцев постоянной практики чтения, тестирования, исследований и улучшений решил написать статью с разбором того, что получилось в результате, потому что результат, смею считать, будет интересен и другим. На текущий момент всё выполнено в виде расширения к браузеру Chrome и названо Reedy. Приложение под Android на подходе.
Подробности

Как правильно лгать с помощью статистики

Reading time7 min
Views241K

Существуют три вида лжи: ложь, наглая ложь и статистика (источник)

Есть такой замечательный жанр — "вредные советы", в котором детям дают советы, а дети, как известно, всё делают наоборот и получается всё как раз правильно. Может быть и со всем остальным так получится?

Статистика, инфографика, big data, анализ данных и data science — этим сейчас кто только не занят. Все знают как правильно всем этим заниматься, осталось только кому-то написать как НЕ нужно этого делать. В данной статье мы именно этим и займемся.


Hazen Robert "Curve fitting". 1978, Science.

Структура статьи:
  1. Введение
  2. Предвзятая выборка (Sampling bias)
  3. Правильно выбираем среднее (Well-chosen average)
  4. И еще 10 неудачных экспериментов, про которые мы не написали
  5. Играем со шкалой
  6. Выбираем 100%
  7. Скрываем нужные числа
  8. Визуальная метафора
  9. Пример качественной визуализации
  10. Заключение и дальнейшее чтение

Читать дальше →

Материалы продвинутого уровня по Питону

Reading time5 min
Views45K
PythonВ мире все примерно распределяется в соответствии с принципом Паретто. Меньшая часть — богатые, большая часть — бедные (читающий, ты входишь в золотой миллиард). Тоже касается и материалов о программировании. Порой очень сложно найти хоть что-нибудь не начального уровня.

После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.

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

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

Подробнее

Мега-Учебник Flask, Часть 1: «Привет, Мир!»

Reading time6 min
Views581K
Это первая статья в серии, где я буду документировать мой опыт написания веб-приложения на Python, используя микрофреймворк Flask.

Здесь список всех статей в серии:
Часть 1: Привет, Мир!
Часть 2: Шаблоны
Часть 3: Формы
Часть 4: База данных
Часть 5: Вход пользователей
Часть 6: Страница профиля и аватары
Часть 7: Unit-тестирование
Часть 8: Подписчики, контакты и друзья
Часть 9: Пагинация
Часть 10: Полнотекстовый поиск
Часть 11: Поддержка e-mail
Часть 12: Реконструкция
Часть 13: Дата и время
Часть 14: I18n and L10n
Часть 15: Ajax
Часть 16: Отладка, тестирование и профилирование
Часть 17: Развертывание на Linux (даже на Raspberry Pi!)
Часть 18: Развертывание на Heroku Cloud

Моя предыстория


Я разработчик ПО с двузначным числом лет опыта разработки комплексных приложений на нескольких языках. Впервые я познакомился с Python для создания привязок к C++ библиотеке на работе. Вдобавок к Python, я писал веб-приложения на PHP, Ruby, Smalltalk и, верите вы или нет, еще на С++. Из всего этого, я нахожу комбинацию Python/Flask самой гибкой.
Я хочу начать это долгое и удивительное путешествие

Профилирование и отладка Python

Reading time7 min
Views40K

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



Поскольку выступление вызвало живой интерес, а беседы с коллегами позволили мне переосмыслить некоторые моменты презентации и исправить достадные ляпы, я решил оформить доклад и свои мысли в виде статьи. Это позволит ознакомиться с темой гораздо большему кругу заинтересованных лиц, к тому же Хабр предоставляет из себя идеальную площадку для комментирования предложенного материала и общения с интересными собеседниками.


Welcome!

Python на Хабре

Reading time7 min
Views453K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity