Pull to refresh
29
0
Вадим Шандринов @suguby

Пользователь

Send message

Шаблон проекта на Джанго с инструментами сборки и утилитами

Reading time6 min
Views19K
Иногда приходится создавать с нуля сайт на Джанге. Это и тесты концепций, и простенькие странички (ведь если мы в проекте используем разные мощные инструменты, почему бы сайт-визитку не сделать тоже с их помощью, избавив себя от ручной работы?).

Итак, представляю публике проект под девизом «Поменьше писанины! Побыстрей, дебаг!» Набор для скоростной разработки на Джанго.

Это 2 шаблона:
  • шаблон конфига buildout, который подтягивает и собирает все необходимые проекту пакеты
  • шаблон проекта, а именно настройки, включающие все нужные инструменты, и набор статики (готовые файлы на Haml и Sass)


Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments19

Замена Dropbox на BitTorrent Sync + Raspberry Pi

Reading time2 min
Views65K


Для Raspberry Pi нашли ещё одно полезное применение. Мини-компьютер отлично справляется с бэкапом и синхронизацией файлов между различными устройствами. К нему можно подключить внешний диск или большую флэшку, и RPi готов работать круглосуточно, синхронизируя файлы с компьютеров, ноутбуков и Android-устройств (скоро выйдет и клиент для iOS). Незачем платить за облачный сервис, если можно сделать такое же удобное «облако» у себя дома, и бесплатно.

Американский программист Джек Минарди опубликовал пошаговую инструкцию, как запустить BitTorrent Sync на Raspberry Pi.
Читать дальше →
Total votes 89: ↑79 and ↓10+69
Comments62

Цветной man или как разукрасить вывод echo

Reading time8 min
Views110K
Когда пишешь даже минимальный скриптик, часто используешь echo — подсказки.
Согласитесь "цветной man" ведь намного приятнее читать, так почему бы не раскрасить вывод echo?
это достаточно легко.
Итак…

Задача:
Раскрасить текстовую строку выводимую на экран через команду echo
т.е. раскрасить эти самые подсказки
Читать дальше →
Total votes 66: ↑56 and ↓10+46
Comments34

Критерии качества сигнала в сетях WiMax

Reading time3 min
Views160K
imageВ статье «Тестирование антенн Wi-Fi для приема WiMax» я приводил параметры CINR и RSSI как результаты своих экспериментов, лишь примерно представляя себе, что отражают эти величины. Пребывать в неведении мне было стыдно, и я детально разобрался в этом вопросе.
Не сомневаюсь, что найдутся Хабралюди (такие, как shogunkub), для которых данный топик не откроет ничего нового, но многим, я уверен, будет так же интересно разобраться, как и мне.


Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments55

Снова о защите персональных данных или готовимся к проверке Роскомнадзора

Reading time11 min
Views184K

Вступление



Всем доброго времени суток! В этой статье я хотел бы еще раз поднять тему защиты персональных данных (далее будем обзывать их — ПДн), а также тему защиты от регуляторов. Пик дебатов на тему защиты ПДн давно прошел. Приходились эти пики как правило на приближение очередного «самого последнего срока» ввода 152-ФЗ в полную силу. В итоге «самый последний срок» наступил, активные дебаты стихли, но закон «О персональных данных» живет, регуляторы устраивают проверки и наказывают нарушителей. Поэтому тема будет еще долго актуальна.

Сразу оговорюсь, что в этой статье в основном будет информация организационного характера, нежели техническая. «А зачем такая информация нужна нам?» — спросит читатель хабра. Объясняю: так уж получилось, что начальники как крупных, так и не очень организаций не любят выстраивать длинные логические цепочки и вникать в суть вопроса, который лежит далеко от их компетенции. Поэтому при возникновении необходимости обеспечения защиты персональных данных строится вполне логичная по их мнению взаимосвязь: «Защита персональных данных» -> «Защита информации» -> «Информационные технологии» -> «Взвалить вопрос защиты ПДн на IT-шников». И пофигу, что в этом вопросе львиную долю можно поручить юристам и кадровикам, но как говорится в бородатом анекдоте: «кому не нравится грузить люминь, пойдет грузить чугуний».

image
Типичный пример разглашения ПДн специальной категории (сведения об интимной жизни)

Читать дальше →
Total votes 65: ↑59 and ↓6+53
Comments39

Защищаем персональные данные по новому приказу ФСТЭК. Больше ответов или вопросов?

Reading time7 min
Views75K
15 мая 2013 года Минюст наконец-то зарегистрировал приказ ФСТЭК № 21 от 18 февраля 2013 «Об утверждении Состава и содержания организационных и технических мер по обеспечению безопасности персональных данных при их обработке в информационных системах персональных данных».

Почему же «долгожданный»? Да потому, что с момента выхода постановления Правительства РФ № 1119 (1 ноября 2012 года) любые вопросы по технической защите персональных данных оказались в неопределенно-подвешенном состоянии. Получилось так: новым постановлением отменены старые классы информационных систем персональных данных (ИСПДн) и введено понятие «Уровни защищенности ИСПДн», но как и чем защищаться в каждом конкретном случае как раз и должен был нам рассказать новый приказ ФСТЭК, который мы ждали «каких-то» полгода.

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

В этой статье я постараюсь простым языком проанализировать новый документ ФСТЭК России, взвесить его плюсы и минусы, а также постараться ответить на вопрос «что же теперь делать операторам персональных данных?».

Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments16

Список Full-Mesh VPN решений

Reading time2 min
Views234K

Введение


Многие интересуются Full-Mesh (или P2P) VPN, хотят использовать их для игр с друзьями, для связи удаленных офисов, серверов, да для чего угодно. Обычные VPN, вроде OpenVPN или PPTP, пропускают весь трафик через центральный сервер, а Full-Mesh соединяются непосредственно с нодами, зачастую пробивая NAT.
Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments48

Papeeria: облачный LaTeX редактор и IDE для научной работы

Reading time4 min
Views16K
Одной строкой: тут рекламируется Папирия, онлайновый сервис для подготовки документов в LaTeX. Ходить на papeeria.com.

Введение


Если вы студент, то наверняка либо уже пишете курсовую или диплом, либо всерьез над этим задумываетесь. Если вы к тому же учитесь в техническом вузе и в вашей работе много формул и прочего нетекста, то возможно, вы задумываетесь над тем, в чём его писать — в LibreOffice/Word или в LaTeX. И возможно, от использования LaTeX вас останавливает только то, что Word вот он, под рукой, бери и пиши, а латех надо еще устанавливать, возиться с почти неизбежными подводными камнями и потом еще тупо глядеть на белый лист и думать с чего начать. Вот вам-то мы и хотим помочь. А также тем, кто хочет вести свою научную работу из любого места, где есть интернет.

Для всех остальных: если вы вообще не знаете, что такое латех, то рекомендуем погуглить (можно начать, например, отсюда). Если же что-то знаете и просто хотите потроллить на тему latex vs word, то поищите себе, пожалуйста, другую поляну. Будем премного благодарны.

Итак, о Papeeria
Total votes 76: ↑72 and ↓4+68
Comments46

Использование runit для своих сервисов

Reading time3 min
Views52K
Супервизор сервисов runit позиционируется как замена стандартным скриптам инициализации Unix.

Но на практике оказалось, что runit идеален для управления сервисами безотносительно инициализации и т.п.

Введение


Супервизор берёт на себя такой функционал, как:
  • превращение любого процесса в демон;
  • логгирование вывода процесса и ротирование логов;
  • запуск, остановка, рестарт, запрос состояния, управляющие скрипты для init.d;
  • выключение и запуск сервисов автоматически при появлении новых сервисов в списке либо удалении старых из списка;
  • возможность ведения нескольких независимых списков сервисов одновременно (например, для каждого пользователя отдельно и для системы в целом);
  • удобный API для управления сервисами.

Для большинства операционных систем runit уже входит в репозитории пакетов (apt-get install runit). Кроме того, мы имеем уже готовый набор рецептов для популярных сервисов (nginx, apache etc.).

Читать дальше →
Total votes 43: ↑39 and ↓4+35
Comments54

FightCode: танковые войны на JavaScript

Reading time5 min
Views68K
FightCode — это онлайн-игра для программистов, построенная по образу и подобию классической Robocode. Для программирования танков используется JavaScript, все сражения происходят прямо в браузере, а редактор кода на сайте имеет встроенную «песочницу», которая позволяет в реальном времени видеть эффект от изменений кода. В отличие от многих других подобных игр, создатели неплохо поработали над дизайном — игровое поле и весь сайт в целом выглядят привлекательно и ярко.



Всё это делает FightCode одним из лучших вариантов для новичков в подобных играх или для обучения программированию. Проект довольно молодой, и несмотря на то, что на сайте зарегистрировано почти 9000 игроков, пробиться в первую сотню рейтинга можно без особых усилий. Очень удобно организована система боёв со случайными соперниками — из всех доступных роботов автоматически выбираются те, чей рейтинг близок к вашему. Очки считаются по системе Эло — победа над более сильным противником даёт гораздо больше очков, чем над слабым.

Каждый участник может иметь сколько угодно роботов. Создание нового робота начинается с примитивного шаблона, который не делает почти никаких осмысленных действий. Добавив обработчики основных событий, таких как столкновения или попадания вражеского снаряда можно дать роботу набор «безусловных рефлексов», которые сделают его поведение более целесообразным и послужат отправной точкой для дальнейшего развития.
Вот как это делается:
Total votes 88: ↑87 and ↓1+86
Comments70

Cacti: Мониторинг SMART

Reading time5 min
Views46K


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

У жестких и твердотельных накопителей есть встроенная технология, которая позволяет производить самостоятельную самодиагностику — S.M.A.R.T., к ней мы и будем работать.
S.M.A.R.T. — технология оценки состояния жёсткого диска встроенной аппаратурой самодиагностики, а также механизм предсказания времени выхода его из строя.

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

В качестве исходного сервера выступает Linux CentOS 6, работающий, в роли файлового хранилища.

Linux содержит группу пакетов под названием «Smartmontools», которые представляют собой набор утилит для проверки состояния дисков. Непосредственно конфигурация демона smartd для регулярного тестирования и мониторинга SMART, выходит за рамки данной статьи, интересующиеся могут самостоятельно найти примеры настройки в Интернете.

Нас же интересует графическое отображение ключевых параметров, аномальное изменение которых можно увидеть порой только визуально. И в этом нам поможет Cacti.
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments21

Lenovo P770 — «долгоиграющий» смартфон с аккумулятором на 3500мАч

Reading time6 min
Views344K
image
Выпуская новые смартфоны производители очень часто забывают о самом главном — хорошем аккумуляторе. Да, 4 ядра, большой экран, ультратонкий дизайн — это хорошо. Но не доживать до вечера на одном заряде? Это слишком!
Есть ли на данный момент хороший компромисс? Чтобы и производительность хорошая, и экран, и аккумулятор. И при этом телефон не выглядел кирпичом?
Да, есть!
Компания Lenovo выпустила свой новый смартфон под названием — Lenovo P770. Два ядра, хороший экран, 2 сим-карты, аккумулятор на 3500мАч. А цена…
Интересно? Тогда читаем далее!
Читать дальше →
Total votes 118: ↑94 and ↓24+70
Comments144

Continuous Integration в Дневник.ру

Reading time8 min
Views17K
В этой статье мы решили немного рассказать о средствах continuous integration (CI), которые используем в компании Дневник.ру, и поделиться небольшими наработками в этом направлении. Большая часть материала может показаться банальной рекламой выбранного движка CI или попыткой вызвать holy war (причем не один), но подобного не было в целях. Статья также не является путеводителем или описанием каких-либо фитч и может быть расценена как статья от кэпа – главное, чтобы она была интересна и вызвала дискуссию.
Читать дальше →
Total votes 29: ↑22 and ↓7+15
Comments39

Объединяя C++ и Python. Тонкости Boost.Python. Часть первая

Reading time10 min
Views148K
Boost.Python во всех отношениях замечательная библиотека, выполняющая своё предназначение на 5+, хотите ли вы сделать модуль на С++ для Python либо хотите построить скриптовую обвязку на Python для нативного приложения написанного на С++.
Самое сложное в Boost.Python — это обилие тонкостей, поскольку и C++ и Python — два языка изобилующие возможностями, и потому на стыке их приходится учитывать все нюансы: передать объект по ссылке или по значению, отдать в Python копию объекта или существующий класс, преобразовать во внутренний тип Python или в обёртку написанного на C++, как передать конструктор объекта, перегрузить операторы, навесить несуществующие в C++, но нужные в Python методы.
Не обещаю, что в своих примерах опишу все тонкости взаимодействия этих фундаментальных языков, но постараюсь сразу охватить как можно больше частоиспользуемых примеров, чтобы вы не лазили за каждой мелочью в документацию, а увидели все необходимые основы здесь, или хотя бы получили о них базовое представление.
Читать дальше →
Total votes 64: ↑64 and ↓0+64
Comments8

Видео лекций всего курса первой Школы разработки интерфейсов Яндекса

Reading time2 min
Views179K
Разработка интерфейсов — одно из важнейших направлений в Яндексе, сервисами которого пользуются миллионы людей. А ни один российский вуз, к сожалению, не готовит разработчиков интерфейсов. Все знания, которые необходимы современному верстальщику или фронтенд-программисту, приходится черпать из статей в интернете, книг, докладов на конференциях. Но зачастую этого бывает недостаточно. Почти каждого нового разработчика интерфейсов, которого мы принимали на работу, приходилось многому обучать.

За долгое время работы в Яндексе нам удалось систематизировать все наши знания и огромный опыт в создании фронтенда веб-сервисов. Результатом этого осмысления и длительной работы стала первая Школа разработки интерфейсов, занятие которой шли в московском офисе Яндекса. Вся практическая часть обучения проходила в реальных проектах Яндекса. Теоретическая же состояла из лекций, которые читали ведущие разработчики интерфейсов Яндекса: Сергей veged Бережной, Михаил mishanga Трошев, Алексей doochik Андросов, Михаил azproduction Давыдов и другие.

Выпускники первой Школы разработки интерфейсов Яндекса

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

Читать дальше →
Total votes 164: ↑155 and ↓9+146
Comments64

Игры для программистов

Reading time3 min
Views134K
Должен признаться, что я плохой программист. Я не люблю настраивать Maven и писать конфигурации для Spring Framework. Я не знаю в деталях, как работает JVM (да и в общих чертах представляю это себе довольно смутно). Я плохо понимаю паттерны проектирования, а любая новая технология вводит меня в уныние. И тем не менее, я люблю программировать.

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

Минуточку внимания.

Я не стану говорить о Robot Battle и тому подобных вещах. Вот не стану и всё. Возможно, я странный человек, но мне не нравится иметь дело с чем-то, хоть отдалённо напоминающим реальную физику. Интересующиеся могут почитать об этой игре здесь, а статья немного о другом.

Так о чём же статья?
Total votes 120: ↑102 and ↓18+84
Comments89

Настройка Jenkins для django проекта с нуля

Reading time3 min
Views55K
Всем привет.

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

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

В качестве новой системы был выбран Jenkins, о его установке и настройке для django-проекта и пойдет речь в этой статье. Кто заинтересовался, добро пожаловать под кат.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments18

Боевой сервер для Django-приложения: Ubuntu Server 10.04 LTS + django 1.4 + nginx + gunicorn

Reading time11 min
Views121K
Многие учебные пособия по разработке на Django раскрывают как быстро получить работающий отладочный сервер (python manage.py runserver), а вопрос развертывания в боевом режиме часто остается нераскрытым или освещаются далеко не самые простые и эффективные методы.
Ниже я расскажу о об одном из способов развернуть сайт на Django в боевом режиме, начиная от выбора хостинга, заканчивая развертыванием веб-сервера. Таким образом статья может быть полезна тем, кто освоил разработку на базе Django, но не имеет опыта развертывания серверов. Мой способ один из многих, но он достаточно прост, эффективен в работе и легок в поддержке. Используем VPS-хостинг, Ubuntu 10.04, nginx, gunicorn.

Читать дальше →
Total votes 34: ↑29 and ↓5+24
Comments41

Обработка Excel файлов с использованием Python

Reading time4 min
Views206K
image
По работе пришлось столкнуться с задачей обработки xls файлов средствами python. Немного по гуглив, я натолкнулся на несколько библиотек, с помощью которых можно работать с файлами excel.
Читать дальше
Total votes 59: ↑52 and ↓7+45
Comments57

Information

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