— Ну что, Тимофей, давно криптой банчишь?
— У нас запрещено торговать криптой?
— Нет, если её происхождение известно. А вот той, происхождение которой неизвестно, — запрещено. Ты же программист, тебе должно быть это известно.
— Эту крипту оставил мне отец. Это своего рода наследство. Ты же следователь, вам должно быть известно, что мой отец всю жизнь был программистом.
— Дерзите, Тимофей? Хотите массаж лица? Нам известно, что ваш отец был программистом, но он участвовал во многих сомнительных проектах, связанных с криптой.
— Не хочу, просто отец оставил мне это. Вы в курсе, что я сейчас имею гораздо больше, просто он считал, что это не должно пропасть. Уверен, вам известна и сумма. Вы же уже взломали защиту флешки?
— Взломали, известна.
— Так что? Возьмите и радуйтесь жизни.
User
О хакерах и женщинах-хакерах
В принципе, этот момент рассматривался не раз, но как-то поверхностно. Поэтому смею надеяться, что своими рассуждениями внесу некоторую ясность в этот весьма популярный вопрос.
Почему этот вопрос популярен, и вообще, зачем мы здесь сегодня собрались? Не секрет, что большинство фильмов, в том числе и отечественного кино, всегда ставят на роль хакера молодую, красивую, очень сексуальную девушку. Исключение, пожалуй, составляют только недорогие полицейские боевики, в которых хакер - это второстепенный молодой молокосос (лейтенант), увлеченный компьютерами, которого все при каждом удобном случае учат реальной жизни (real life and so on).
Забегая вперед, недорогие полицейские боевики гораздо ближе к реальности, чем все остальное.
Про собеседования
Хотите знать как проходят собеседования при приеме на работу в АйТи? В то самое АйТи в которое многие мечтают войти. Повествование будет аллегорическое, на примере столяров краснодеревщиков.
Блокчейн для распределенного реестра
Эта статья не о криптовалюте, а о блокчейне и совокупности технологий и идей, которые, на мой взгляд, помогут создать быстрый, масштабируемый и безопасный распределенный реестр (DLT). Простые DLT могут быть созданы с использованием возможностей смарт-контрактов блокчейнов второго или третьего поколения, но более сложные реестры могут потребовать альтернативных решений. Примером достаточно сложного и специфического DLT может быть децентрализованная платежная система общего пользования, совместимая с государственной денежно-кредитной политикой, то есть платформа для "цифровых денег". Реализация такого проекта на смарт-контрактах едва ли возможна. Поэтому в статье предлагаю рассмотреть для этой роли AppChain - гибридную платформу приложения и блокчейна.
Python 3.5; async/await
Поверхностный просмотр «PEP 0492 — Coroutines with async and await syntax» поначалу оставил у меня вопрос «Зачем это надо». Сопрограммы удовлетворительно реализуются на расширенных генераторах и на первый взгляд может показаться, что все свелось к замене yield from на await, а декоратора, создающего сопрограмму на async. Сюда можно добавить и возникающее ощущение, что все это сделано исключительно для использования с модулем asyncio.
Но это, конечно же, не так, тема глубже и интереснее.
Фишки языка D
Python реализация парадигмы event-driven с помощью сопрограмм
Использование в языке D сторонних библиотек
Ниже будут рассмотрены возможности утилиты dub, а так же подключение сторонних пакетов и библиотек написанных на C/C++ на примере замечательной библиотеки libev.
Примеры использования asyncio: HTTPServer?!
В статье на примере простого TCP (Echo) сервера я постараюсь показать с чем едят
asyncio
, и рискну устранить «фатальный недостаток» этого модуля, а именно отсутствие реализации асинхронного HTTP сервера.Кэширование фронтэнда: Flask, Nginx+Memcached+SSI
- nginx, memcached и SSI
- Nginx + Memcached + SSI — кеширование страниц и блоков (partials)
- Кеширование страниц — ускоряем сайт в 100 раз (Varnish + ESI)
С PHP я дружу, поэтому попробовал примеры и убедился, что это работает. Но всё это имело «фатальные недостатки» :) — PHP, а я фанат Python и по работе занимаюсь в основном бэкендом. Серьёзно говоря, применить на практике это не представлялось возможным.
Однако в начале года поступило предложение поучаствовать в одном амбициозном проекте, изначально подразумевающий HiLoad и прочие плюшки из этой оперы. Пока составлялись бизнес-планы, искались инвесторы и тому подобные дела, я решил изучит вопросы которые на мой взгляд пригодились бы в этой работе, в том числе и вопросы кэширования.
В первую очередь было реализовано черновое решение для моего любимого фрэймворка Flask использующее для кэширования стек Varnish+ESI. Это заработало и даже показало неплохие результаты. Позже пришло понимание, что возможно Varnish «лишний игрок» и всё тоже и даже гибче можно получить на связке Nginx+Memcached+SSI. Был сделан и этот вариант, по производительности особых отличий замечено не было, но последний показался более гибким и управляемым.
Тот проект не вырулил даже на взлетную полосу, или вырулил но без меня. Подумав, я решил «причесать код» и выложить его в OpenSource и на суд общественности.
Trac и его друзья Gitolite, Nginx и UWSGI
После небольшой увертюры с бубном у меня родился этот документ являющийся практически пошаговой инструкцией по развертыванию проекта Trac. Надеюсь это пригодится кому-нибудь еще.
Information
- Rating
- 1,807-th
- Location
- Москва и Московская обл., Россия
- Registered
- Activity