IT-инфраструктура штабов Навального и сбор подписей: железо и сети

В предыдущем посте мы рассказали, что такое сбор подписей и почему его бессмысленно вести без специализированной IT-инфраструктуры. А эта глава про сетевое и компьютерное оборудование федеральной сети штабов Навального, а также про разработку собственного сканера документов.




Какие задачи мы решали


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

Третье нашествие марсиан


Источник


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


Помнится, как на одной из телекоммуникационных конференций представитель профильного ВУЗа спросил представителя крупного зарубежного поставщика электроники – а нельзя ли направить к вам на завод каких-нибудь магистров для стажировки? Ответ был таков – отправить-то можно, только это, к сожалению, им никак не поможет – все производство осуществляется в «чистых комнатах» роботами, куда людям вход попросту воспрещен.


Что ни говори, а роботизация реальна, она уже происходит, и это факт. А вот каковы ее последствия… Как она отразилась на нашей жизни уже сейчас, а к чему только стоит готовиться – об этом и поговорим.

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

Метод анализа мультиканального взаимодействия с пользователем

Доброго всем!

Вот наши лапки и добрались до неIT-шных специальностей — «Digital маркетолог». Курс ведёт Виктория Александрова — руководитель отдела маркетинга в OTUS, которая и делится сегодня данной статьёй.

Поехали

Рано или поздно любой интернет-маркетолог сталкивается с проблемой оптимизации бюджета на продвижение. Нужно либо получать такое же количество конверсий при снижении бюджета, либо получать большее количество конверсий при том же бюджете. А иногда и то, и другое.
Лучший результат в решении этой проблемы обычно дает комплексный подход:

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


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

[Перевод] Создание игр на Python 3 и Pygame: Часть 2

image
Во второй из пяти частей туториала, посвящённого созданию игр с помощью Python 3 и Pygame, мы рассмотрим класс TextObject, используемый для рендеринга текста на экране. Мы создадим основное окно, в том числе и фоновое изображение, а затем научимся отрисовывать объекты: кирпичи, мяч и ракетку.

Класс TextObject

Класс TextObject предназначен для отображения текста на экране. Можно сделать вывод, что с точки зрения дизайна он должен быть подклассом класса GameObject, потому что тоже является визуальным объектом и его тоже иногда нужно двигать. Но я не хотел вводить глубокую иерархию классов, при которой весь отображаемый Breakout текст оставался на экране неизменным. Класс TextObject создаёт объект шрифта. Он рендерит текст на отдельную текстовую поверхность, которая затем копируется (рендерится) на основную поверхность. Интересный аспект TextObject заключается в том, что у него нет какого-то фиксированного текста. Он получает функцию text_func(), вызываемую каждый раз, когда он рендерится. Это позволяет нам обновлять отображение жизней и очков в Breakout, просто создав функцию, возвращающую текущие жизни и очки, а не отслеживать то, какие текстовые объекты отображают очки и жизни и обновлять их текст при каждом их изменении. Это удобный трюк из функционального программирования, и в крупных играх он позволяет поддерживать удобство и аккуратность программы. ...Далее...

Как построить REST-like API в крупном проекте


Недавно мы перезапустили API Яндекс.Кассы – платежного сервиса с 15-летней историей. Я хочу рассказать, как решить такую амбициозную задачу. Материала набралось на серию статей, поэтому здесь я подробно расскажу о проектировании, переработке наших API, а также про наши инструменты и процессы.


Ключевые слова для оценки полезности: API, REST, OpenAPI, Swagger, рефакторинг взаимодействия систем.

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

7 шагов на пути к карьере разработчика Xamarin

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

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

Cоздание цепочки поведений

Всем привет! В первой заметке я довольно поверхностно упомянул о создании цепочки поведений. В этой я хочу дать пример простой цепочки с пояснениями.

Со своей стороны я буду рад получить критику и замечания по поводу кода.
Читать дальше →

Взаимодействие C# и C++ кроссплатформенно

Вам приходилось сталкиваться с необходимостью взаимодействия кода на C# и native-C++ (или скорее С)? Причины могли быть разными: библиотека уже есть, на С/С++ написать проще, разработка частей приложения ведётся разными командами, _______________ (нужное вписать).

Известно, что языки базируются на совершенно разных наборах аксиом.

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

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

Под катом будем пробовать их подружить с учётом указанных особенностей.
Читать дальше →

IT-инфраструктура штабов Навального и сбор подписей: подготовка к сбору, сайт «Навальный 20!8»

Введение


Это рассказ о том, как устроена IT-инфраструктура региональных штабов Алексея Навального и система для сбора подписей в поддержку его выдвижения кандидатом в президенты России.



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

Для удобства материал разбит на четыре поста, которые лучше читать последовательно.

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

Cоздании цепочки поведений

Добрый день,

В первой заметке я довольно поверхностно упомянул о создании цепочки поведений. В этой я хочу дать пример простой цепочки с пояснениями.

Со своей стороны я буду рад получить критику и замечания по поводу кода.
Читать дальше →


Последние посты