Реализация и взлом шифра гаммирования

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

Шифр гаммирования

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

читать далее «Реализация и взлом шифра гаммирования»

Вставить код JavaScript в страницу WordPress

Во время изучения премудростей великого и ужасного JavaScript`а, я задался очевидным вопросом: «Как тестировать скрипты?». Да ладно, тестировать можно и на локальном сервере, но внедрять в конечном счете мне их нужно на сайты с WP. Из коробки WordPress не позволяет подключать JavaScript в любом виде, а уж тем более исполнять PHP код. Но если для обхода второго ограничения есть легкие простые плагины, например Exec-PHP, то ради джаваскрипта ставить еще один плагин совсем не хочется.

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

читать далее «Вставить код JavaScript в страницу WordPress»

Раскрывающийся список с помощью JavaScript и jQuery

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

Допустим, у нас такой список.

<ul>
    <li><h3>Аверченко Аркадий</h3>
        <ul>
            <li>Повести и рассказы</li>
        </ul>
    </li>
    <li><h3>Андреев Леонид</h3>
        <ul>
            <li>Иуда Искариот</li>
        </ul>
    </li>
    <li><h3>Бодров Виталий</h3>
        <ul>
            <li>Кровь титанов(4 книги)</li>
            <li>Хоббит, или туда-сюда-обратно</li>
        </ul>
    </li>
</ul>

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

читать далее «Раскрывающийся список с помощью JavaScript и jQuery»

Установка и настройка Quagga

Всем привет! Я очень мало интересуюсь темой сетевого взаимодействия. Меня не прет от проектирования и построения различных сетей, но совсем недавно мне пришлось второй раз в жизни устанавливать себе на Linux квагу. И снова я гуглил, много. Поэтому решил раз и навсегда закрепить инструкцию в быстром доступе. А учитывая то, что в интернете я не нашел ни одного мануала на русском языке, эта статья рискует стать кому нибудь полезной. Итак, для начала поймем, кто такая Quagga, и для чего она нужна, поехали!

Что такое Quagga

Это такой пакет программ, который позволяет компьютеру поддерживать протоколы динамической маршрутизации. К сожалению, а может быть и к счастью, квага может быть установлена только на UNIX-подобные операционные системы. Грубо говоря — машина с настроенной quagga может играть роль маршрутизатора в сети.

Поддерживаемые протоколы: Static, OSPF, BGP, RIP.

читать далее «Установка и настройка Quagga»

Zend Framework 2 + Doctrine. Настройка и структура проекта

Привет всем! С этой статьи я начну погружение в удивительный мир Zend Framework 2. Не могу точно сказать, насколько глубоко уйду, но настройка и простейший пример реализации будут точно. С первого взгляда Zend для меня показался просто жуткой бессмыслицей. Зачем прятать работу с базой данных в такую замысловатую ООП оболочку? Нам давали задание написать простейший каталог интернет магазина и там мы вполне обошлись безо всяких фреймворков.

Но все мои возмущения улетучились, когда этап настройки миновал и началась, непосредственно, реализация. Фреймворки — это круто! Стоит один раз пройти через круги ада и понять, как все работает и сразу круто! Давайте вступим на самый первый круг и поймем, что это вообще такое и что здесь происходит.

читать далее «Zend Framework 2 + Doctrine. Настройка и структура проекта»