Страницы

2015-12-30

Docker и ubuntu 15.10

Решил поставить docker на новую версию убунты.
Как выяснилось если нет интерфейса eth0 то задача уже не тривиальная

У меня интерфейс именуется enp3s0

Так, что пришлось импровизировать
sudo apt-get install bridge-utils -y

После чего пробуем
sudo brctl addbr docker0
sudo ifconfig docker0 172.17.0.1/16

2015-12-28

Полезные инструменты: virtualenv + pip

Опыт показывает, что каждый проект обладает своими зависимостями (библиотеками), а если и одинаковыми, то версии не совпадают. Чтобы упростить запуск и настройку проекта разработчики пишут INSTALL.md, README.md, make-файлы и что более важно - requirements.txt.

Файл requirements.txt - это правило хорошего тона для Python проектов. Файл содержит список необходимых библиотек для запуска с указанием версий:

cat requrements.txt
requests==2.7.0
Django==1.8.3
jsonfield==1.0.3
django-hstore==1.4
django-filebrowser==3.5.7
django-object-actions==0.5.1
sorl-thumbnail==12.3
django-ajax==0.2.0
git+https://github.com/maraujop/django-crispy-forms.git


Дальше>>

2015-12-23

SPF-запись, настройка DNS для почтовых рассылок


SPF – Sender Policy Framework (структура политики отправителя).

SPF позволяет владельцу домена указать в TXT-записи домена специальным образом сформированную строку, указывающую список серверов, имеющих право отправлять email-сообщения с обратными адресами в этом домене.

Понимать, что либо всегда проще на примерах:

example.org. IN TXT "v=spf1 a mx -all"

2015-12-21

Как мы переходили на Unisender и почему. И как попали в кабалу от emarsys

Основная тема настройка Unisender о причинах перехода к этому рассыльщику чуть позже.

Настройка ДНС записей
Для чего это рассказывать не буду и так все знают
Я использую ДНС яндекса т.к.  не люблю быть зависимым от своего сервера если отключают свет или ещё чего. Да и подтверждать владение доменом на яндексе проще (метрики магазины постмастера и т.д.)

@              TXT  v=spf1 redirect=_spf.yandex.net include:spf.unisender.com ~all
@              TXT  spf2.0/mfrom,pra include:senderid.unisender.com ~all
_domainkey     TXT  o=~
us._domainkey  TXT  k=rsa; p=XXXXXXXXXXXXXXXXXXXXX


После настройки всего этого (кроме домен-ключа - его надо запросить в службе поддержке).

Делаем запрос и ждём проверку проверив служба поддержки  прислала домен-ключ.

И как выяснелось надо настроить несколько интересных вещей
Значит настраиваем postoffice.yandex.ru, postmaster.mail.ru и postmaster.google.com

Из них у гугла ещё не работает механизм FBL а у яндекса он настроен на unisender автоматически. Единственный для кого пришлось настраивать пересылку FBL это был mail.ru
FBL настраивался для отслеживания нерабочих адресов, и для тех кто кликнет кнопку "спам".

Правильно настроив и сделав несколько рассылок (пока репутация домена стала более менее адекватной) убедились в эффективности рассылок.

Теперь почему ушли от emarsys

2015-12-16

LibreOffice Online - Collabora и ownCloud представили CODE

В рамках сотрудничества компаний Collabora и ownCloud подготовлен специализированный дистрибутив CODE (Collabora Online Development Edition) для быстрого развёртывания платформы LibreOffice Online и организации удалённой работы с офисным пакетом через Web. Дистрибутив представляет собой преднастроенный образ (706 Мб) для виртуальных машин, включающий все компоненты, необходимые для работы сервера LibreOffice Online и облачного хранилища ownCloud, через которое организован доступ к документам.

Selenium для Python. Глава 5. Ожидания


Продолжение перевода неофициальной документации Selenium для Python. Оригинал можно найти здесь.


 Содержание:

1. Установка
2. Первые шаги
3. Навигация
4. Поиск элементов
5. Ожидания
6. Объекты Страницы
7. WebDriver API
8. Приложение: Часто Задаваемые Вопросы

5. Ожидания

В наши дни большинство веб-приложений используют AJAX технологии. Когда страница загружена в браузере, элементы на этой странице могут подгружаться с различными временными интервалами. Это затрудняет поиск элементов, если элемент не присутствует в DOM, возникает исключение ElementNotVisibleException. Используя ожидания, мы можем решить эту проблему. Ожидание дает некий временной интервал между произведенными действиями — поиске элемента или любой другой операции с элементом.

Selenium WebDriver предоставляет два типа ожиданий — неявное (implicit) и явное (explicit). Явное ожидание заставляет WebDriver ожидать возникновение определенного условия до произведения действий. Неявное ожидание заставляет WebDriver опрашивать DOM определенное количество времени, когда пытается найти элемент.
Дальше >>

2015-12-04

PHP 7.0 релиз

Официально состоялся релиз языка программирования PHP 7, вобравший в себя изменения, подготовленные в рамках проекта PHPNG. Новая ветка отличающейся кардинальной переработкой некоторых подсистем, значительной порцией новых возможностей и наличием изменений, нарушающих совместимость. Скачок в номере версии не только подчёркивает значительность релиза, но и связывается с переходом к новой нумерации выпусков, при которой разработчики избавились от лишней цифры в значительных релизах (7.0 вместо 5.7.0).

Некоммерческий удостоверяющий центр Let's Encrypt начал выдачу сертификатов всем желающим

Проект Let’s Encrypt, нацеленный на создание простого, общедоступного и контролируемого сообществом удостоверяющего центра, объявил о начале программы публичного бета-тестирования. Одновременно с анонсом запуска сервиса сообщается о вхождении компании Facebook в число золотых спонсоров проекта.

Отныне любой желающий может бесплатно получить TLS-сертификат для организации доступа через защищённое соединение к своему сайту. Полученные подтверждены во всех основных web-браузерах, т.е. использующие их сайты помечаяются в браузерах как безопасные, аналогично сайтам с сертификатами, полученными от коммерческих удостоверяющих центров. Процедура получения TLS-сертификата бесплатна, предельно проста и лишена бюрократических проволочек в вопросах проверки владельца. Ожидается, что снятие барьера на получение подтверждённых сертификатов поможет поднять на новый уровень степень внедрения HTTPS в Web.

2015-12-02

Полезные инструменты: sandman - админка над базой + REST за пару секунд

Сейчас редкий проект обходится без базы данных. Это может быть реляционная БД, или NoSQL, да может просто текстовые файлы. И каждый раз возникает необходимость посмотреть данные в ней, а иногда и другим показать.

В этом случае подойдет инструмент - sandman.

Sandman - позволяет за пару секунд сделать web-интерфейс для популярных БД.
Читать дальше>>

2015-12-01

Как настроить ACL, если необходимо, чтобы PPPoE-соединение проходили только на Uplink-порт


PPPoE - концентратор подключён к порту 26 коммутатора DES-3526, клиенты подключены к портам 1-25, MAC-адрес концентратора - 00-13-5F-AA-BB-CC.
Примечание: За полным описание протокола PPPoE обращайтесь к RFC 2516.
Настройки DES-3526:
# Создаём профиль ACL для разрешения PPPoE-пакетов от концентратора клиентам
create access-profile ethernet source_mac FF-FF-FF-FF-FF-FF ethernet_type profile 1
# Разрешаем PPPoE-session-пакеты от концентратора клиентам
config access-profile 1 add access_id 100 ethernet source_mac 00-13-5F-AA-BB-CC ethernet_type 0x8863 port 26 permit
# Разрешаем PPPoE-data-пакеты от концентратора клиентам
config access-profile 1 add access_id 200 ethernet source_mac 00-13-5F-AA-BB-CC ethernet_type 0x8864 port 26 permit
# Создаём профиль ACL для разрешения PPPoE-пакетов от клиентов концентратору или серверу
create access-profile ethernet destination_mac FF-FF-FF-FF-FF-FF ethernet_type profile 2
# Разрешаем широковещательные PPPoE-session PADI пакеты от клиентов
config access-profile 2 add access_id 100 ethernet destination FF-FF-FF-FF-FF-FF ethernet_type 0x8863 port 1-25 permit
# Разрешаем PPPoE-session пакеты от клиентов к серверу
config access-profile 2 add access_id 200 ethernet destination 00-13-5F-AA-BB-CC ethernet_type 0x8863 port 1-25 permit
# Разрешаем PPPoE-session пакеты от клиентов к серверу
config access-profile 2 add access_id 300 ethernet destination 00-13-5F-AA-BB-CC ethernet_type 0x8864 port 1-25 permit
# Создаём профиль ACL для запрещения всех остальных PPPoE-пакетов
create access-profile ethernet ethernet_type profile 3
# Запрещаем все остальные PPPoE пакеты
config access-profile 3 add access_id 100 ethernet ethernet_type 0x8863 port 1-26 deny
config access-profile 3 add access_id 200 ethernet ethernet_type 0x8864 port 1-26 deny



www.dlink.ru/ru/faq/62/print_206.html

2015-11-25

Apache FlexJS 0.5, позволяет портировать Flex-приложения на HTML5 и JavaScript

Организация Apache Software Foundation представила релиз проекта FlexJS 0.5, продолжающего развитие Flex SDK в направлении ухода от привязки к технологиям Adobe Flash. FlexJS позволяет компилировать Flex-приложения, написанные с использованием разметки MXML и языка ActionScript, не только в формат SWF, но и в форму универсальных web-приложений на базе HTML5, CSS и JavaScript. Одновременно выпущен компилятор Apache Flex FalconJX 0.5.0, предоставляющий средства для компиляции MXML и ActionScript в представление на HTML/JS/CSS.

2015-11-24

NodeOS, операционная система с пользовательским окружением на JavaScript и Node.js

Представлен предварительный выпуск новой операционной системы NodeOS, развивающей идею создания работающего поверх ядра Linux пользовательского окружения, написанного на языке JavaScript с использованием платформы Node.js. В качестве пакетного менеджера для установки приложений в NodeOS применяется npm (Node Package manager). Готовые сборки созданы в форме загрузочных ISO и в виде окружений для QEMU и Vagga. Возможно формирование контейнеров для Docker и LXC.

2015-11-23

В состав OpenBSD включён новый гипервизор VVM

Разработчики OpenBSD объявили о включении в кодовую базу OpenBSD-CURRENT компонентов с реализацией гипервизора VVM, а также сопутствующего инструментария vmmctl и virtio-бэкенда для управления виртуальными машинами vmd. VVM пока отключен по умолчанию так как не все задуманные возможности реализованы и не завершена работа по устранению ошибок. Кроме того, в ядро OpenBSD перенесены только уже более-менее протестированные возможности, например, пока не добавлен код для работы на архитектуре i386 и загрузки ядер, отличных от OpenBSD.

Tor 0.2.7 - стабильный выпуск

Представлен выпуск инструментария Tor 0.2.7.5, используемого для организации работы анонимной сети Tor. Tor 0.2.7.5 является первым стабильным выпуском ветки 0.2.7, развивающейся последние восемь месяцев. Главные новшества новой ветки: добавление поддержки более защищённых типов ключей аутентификации (Ed25519) для шлюзов Tor, увеличение производительности криптографических операций, решение нескольких давних проблем с производительности скрытых сервисов и улучшение средств управления скрытыми сервисами (новые команды ADD_ONION, DEL_ONION, GETINFO, HSFETCH и HSPOST).

2015-11-11

Анонсирована СУБД Apache Cassandra 3.0

Организация Apache Software Foundation проедставила релиз распределённой СУБД Apache Cassandra 3.0, относящейся к классу noSQL-систем и рассчитанной на создание высокомасштабируемых и надёжных хранилищ огромных массивов данных, хранимых в форме ассоциативного массива (хэша). Код проекта написан на языке Java и распространяется в рамках лицензии Apache 2.0. Изначально СУБД Cassandra была разработана в недрах компании Facebook и в 2009 году передана под покровительство фонда Apache. Промышленные решения на базе Cassandra, хранящие сотни терабайт данных, охватывающие сотни серверов и способные обрабатывать тысячи запросов в секунду, развернуты для обеспечения сервисов таких компаний и организаций, как Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Netflix, Sony, Rackspace, Reddit и Twitter.

2015-11-02

Сказ про Петьку-подлеца из шоколадного яйца

Действие первое

Рассказчик

За горами, за полями,
За широкими морями,
Вдалеке, едва видна
Есть Америка-страна

Правит той страной Обама
Правит плохо. Скажем прямо -
Как правитель он, увы,
Где-то в уровень ботвы

Но зато горазд бузить,
Миру целому грозить,
Ежли кто ему перечит -
Может даже забомбить

Утром встанет, съест салат
Влезет в шлёпки и халат
И зовет скорее Псаки,
В смысле, значит, на доклад

2015-10-29

Пишем web-проекты: Погружение в полнотекстовый поиск, используя Python

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

2015-10-28

Учебные материалы: Куда ползёт питон?

Чем Python и его экосистема отличается от других языков программирования? Какая у Python ниша? Какие сильные и слабые стороны у языка и батареек? На все эти вопросы Григорий попробует ответить в своём обзорном докладе, рассказывающем о том, куда ползёт Python в 2015 году

2015-10-16

Python + GPGPU: ожидания и реалии

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

HAProxy 1.6 - HTTP/TCP балансировщик

После шестнадцати месяцев разработки увидел свет HTTP/TCP-балансировщик нагрузки HAProxy 1.6.

2015-10-09

NetBSD 7.0


После более двух лет разработки состоялся релиз операционной системы NetBSD 7.0, в котором реализована очередная порция новых возможностей. Для загрузки подготовлены установочные образы, размером 410 Мб.

Релиз NetBSD 7.0 официально доступен в сборках для 58 системных архитектур и 16 различных семейств CPU. Отдельно выделены 8 первично поддерживаемых портов, составляющих ядро стратегии развития NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 и xen. Остальные 50 портов, связанных с такими CPU, как alpha, hppa, m68010, m68k, sh3, sparc и vax, отнесены ко второй категории, т.е. ещё поддерживаются, но уже потеряли актуальность или не имеют достаточного числа заинтересованных в их развитии разработчиков.

Выпуск СУБД Couchbase Server 4.0, сочетающей возможности CouchDB, memcached и Membase

После года разработки представлен релиз СУБД Couchbase Server 4.0, которая относится к классу NoSQL-систем и предоставляет похожие на Apache CouchDB средства для создания документ-ориентированных баз данных в сочетании с напоминающими Membase хранилищами в формате ключ-значение. При этом, благодаря поддержке стандартного протокола memcached, система остаётся совместимой с большим числом уже имеющихся приложений и может выступать в роли прозрачной замены других NoSQL-систем. Код системы распространяется под лицензией Apache.

2015-10-08

tox как средство тестирования

Если вы автор Python-библиотеки, то скорее всего вам необходимо поддерживать несколько версий Python. Стандартный набор - 2.6, 2.7, 3.3, 3.4 и сейчас уже 3.5. Поддерживать несколько версий Python помогают тесты.

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

Пускай написали тесты для озвученных версий Python, как их запускать? Постоянно менять venv и тыкать python run_test.py? Есть удобнее инструмент - tox.

tox - это средство автоматизации, которое позволяет свести запуск тестирования до одной команды (а можно и до 0).
Дальше >>

В Ubuntu планируют включить поддержку ZFS

В дискуссии об использовании модуля ZFSonLinux Марк Шаттлворт сообщил о намерении включить поддержку ZFS в штатную поставку Ubuntu. По данным одного из разработчиков ZFSonLinux вопрос несовместимости лицензий GPL c CDDL не является нерешаемой проблемой и модули ядра с реализацией ZFS будут включены в состав Ubuntu 16.04 LTS.

2015-10-07

Proxmox VE 4.0, дистрибутива для организации работы виртуальных серверов

Состоялся релиз Proxmox Virtual Environment 4.0, специализированного Linux-дистрибутива на базе Debian GNU/Linux, нацеленного на развертывание и обслуживание виртуальных серверов с использованием LXC и KVM, и способного выступить в роли замены таких продуктов, как VMware vSphere, Microsoft Hyper-V и Citrix XenServer. Размер установочного iso-образа 678 Мб. Начиная с выпуска 3.1 по умолчанию предлагается платный репозиторий Enterprise, возможность использовать бесплатный репозиторий сохранена и он является достаточно стабильным, но создатели дистрибутива не гарантируют качество его работы не рекомендуют к промышленному использованию.

OpenSwitch - открытая сетевая операционная система представленная Hewlett-Packard

Компания Hewlett-Packard анонсировала новую сетевую операционную систему OpenSwitch, построенную с использованием ядра Linux. HP позиционирует OpenSwitch как полностью открытый проект, развиваемый при участии сообщества и в соответствии с его потребностями. Кроме HP к разработке уже подключились компании Broadcom, Intel, VMware, Accton, Arista и Qosmos.

2015-10-05

OpenIndiana 2015.10, продолжающий развитие OpenSolaris

Состоялся выпуск проекта OpenIndiana 2015.10, в рамках которого независимым сообществом развивается полностью свободный дистрибутив, пришедший на смену бинарному дистрибутиву OpenSolaris, развитие которого было прекращено компанией Oracle. Для загрузки сформировано два вида iso-образов - редакция с консольными приложениями (646 Мб) и сборка с графическим окружением GNOME (1.2 Гб).

2015-10-02

Пробуем JSON в Django и PostgreSQL (и сравниваем с MongoDB)

В Django 1.9 будет добавлено поле JSONField, его можно использовать с базой данных PostgreSQL >= 9.4. Давайте попробуем с ним поработать и оценить, насколько оно удобно.

В данный момент доступна альфа версия django 1.9, финальная запланирована на декабрь 2015. Установить альфа версию можно так:

pip install --pre django

Итак представим, что у нас есть интернет магазин, в котором мы предлагаем товары разных типов. Например, ноутбуки и футболки. Очевидно, что у таких товаров будет разный набор параметров: у футболок будет размер, цвет, а у ноутбуков - размер экрана, частота процессора, объем жесткого диска и прочее. Один из подходов для работы с такими данными в SQL - Entity–attribute–value model (EAV).

GitHub объявил о доступности хранилища больших файлов для всех репозиториев

После нескольких месяцев закрытого тестирования GitHub открыл повсеместный доступ к системе хранения Git LFS (Git Large File Storage), позволяющей использовать Git для отслеживания версий больших файлов, содержащих наборы данных, звук, видео и графику. В рамках проекта подготовлены специальное дополнение к Git, переработанный для эффективной передачи больших данных HTTP-клиент и реализация сервера. Для настройки методов хранения объектов на сервере предоставляется экспериментальная система расширений.

2015-09-30

VeraCrypt 1.15

Увидел свет выпуск проекта VeraCrypt 1.15, в рамках которого развивается форк системы шифрования дисковых разделов TrueCrypt, прекратившей своё существование. VeraCrypt примечателен заменой используемого в TrueCrypt алгоритма RIPEMD-160 на SHA-512 и SHA-256, увеличением числа итераций хэширования, упрощением процесса сборки для Linux и OS X, устранением проблем, выявленных в процессе аудита исходных текстов TrueCrypt. При этом, VeraCrypt предоставляет режим совместимости с разделами TrueCrypt и содержит средства для преобразования TrueCrypt-разделов в формат VeraCrypt. Код VeraCrypt поставляется под лицензией Apache 2.0.

2015-09-24

LibreSSL 2.3.0

Разработчики проекта OpenBSD представили выпуск переносимой редакции пакета LibreSSL 2.3.0, в рамках которого развивается форк OpenSSL, нацеленный на обеспечение более высокого уровня безопасности. Проект LibreSSL ориентирован на качественную поддержку протоколов SSL/TLS с удалением излишней функциональности, добавлением дополнительных средств защиты и проведением значительной чистки и переработки кодовой базы.

Генераор Latex to HTML5

2015-09-23

Tails 1.6

Представлен релиз специализированного дистрибутива Tails (The Amnesic Incognito Live System) 1.6, основанного на пакетной базе Debian и предназначенного для обеспечения анонимного выхода в сеть. Для загрузки подготовлен iso-образ, способный работать в Live-режиме, размером 941 Мб.

Тесты тесты тесты: Selenium как инструмент тестирования

Selenium – это проект, в рамках которого разрабатывается серия программных продуктов с открытым исходным кодом.
Среди продуктов интересен Selenium WebDriver - это программная библиотека для управления браузерами. WebDriver представляет собой драйверы для различных браузеров и клиентские библиотеки на разных языках программирования, предназначенные для управления этими драйверами.

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

2015-09-15

python-scripts - набор различных полезных скриптов

github.com/realpython/python-scripts
  • 01_remove_all_pyc.md: remove all .pyc files from a git repo
  • 02_find_all_links.py: get all links from a webpage
  • 03_simple_twitter_manager.py: accessing the Twitter API, example functions
  • 04_rename_with_slice.py: rename group of files, within a single directory, using slice
  • 05_load_json_without_dupes.py: load json, convert to dict, raise error if there is a duplicate key
  • 06_execution_time.py: class used for timing execution of code
  • 07_benchmark_permissions_loading_django.py: benchmark loading of permissions in Django
  • 08_basic_email_web_crawler.py: web crawler for grabbing emails from a website
  • 09_basic_link_web_crawler.py: web crawler for grabbing links from a website
  • 10_find_files_recursively.py: recursively grab files from a directory
  • 11_optimize_images_with_wand.py: recursively grab images from a directory, then optimize them for the web
  • 12_csv_split.py: Splits a CSV file into multiple files based on command line arguments.
  • 13_random_name_generator.py: random name generator
  • 14_html_to_markdown.sh: Convert all html files in a single directory to markdown
  • 15_check_my_environment.py: Pass in a config file based on your environment.
  • 16_jinja_quick_load.py: Render a quick Jinja2 template
  • 17_rewrite_git_history.md: Backdating/Rewriting Git history (use at your own risk)
  • 18_zipper.py: Zip contents of a directory, adding a timestamp to the filename
  • 19_tsv-to-csv.py: Convert TSV to CSV
  • 20_restore_file_from_git.py: Restore file from Git History
  • 21_twitter_bot.py: Twitter Bot
  • 22_git_tag.py: Create Git Tag based on a commit
  • 23_flask_session_test.py: Just a simple app to see if the sessions are working
  • 24_sql2csv.py: SQL to CSV.
  • 25_ip2geolocation.py: Given a CSV file with an ip address (see sample - 25_sample_csv.csv), return the geolocation based on the ip.
  • 26_stock_scraper.py: Scrape the S&P 500 Companies list from Wikipedia, then output the data.
  • 27_send_sms.py: Send SMS message via TextBelt
  • 28_income_tax_calculator.py: Income tax calcuator via Taxee

2015-09-08

Top Java систем управления контентом

Корпоративный портал Liferay - программный продукт, представляющий собой корпоративный портал, то есть решение, предназначенное для централизованного доступа к нескольким различным корпоративным приложениям в одном месте. Liferay иногда описывается как система управления содержимым (CMS) или платформу для веб-приложений. Написан на языке Java и распространяется под двумя видами лицензий, свободной и проприетарной, используя бизнес-модель двойного лицензирования. Liferay Portal позволяет пользователям настроить общий доступ к разным приложениям через один единственный сайт. Это реализуется с помощью функциональных модулей, называемых портлеты. Liferay поддерживает разработку портлетов на нескольких языках программирования, включая Ruby и PHP.

C3D - 140 гигабайт на одном CD

Статья 1999 года, а диска так и нету!...

Как всегда бывает, все новое - это хорошо забытое старое. О «трехмерной записи на компакт-диск» многие СМИ писали еще два года назад. Тогда ее преподносили как некий мало афишируемый проект. И вот 4 октября пришло сообщение о том, что компания C3D анонсировала именно эту технологию, способную полностью перевернуть индустрию оптических носителей информации. Событие само по себе весьма значительное, для нас же оно примечательно еще и тем, что в работах по созданию новой технологии непосредственное участие принимали ученые из России и Украины.

Основной особенностью последней разработки C3D является возможность создания многослойных носителей информации, емкость которых во много раз превышает показатели, скажем, тех же дисков DVD (нынешние оптические носители, как известно, являются максимум двухслойными). Достигается это за счет использования явления флуоресценции, поэтому новые носители так и называются - флуоресцентный многослойный диск (Fluorescent Multi-layer Disk, FMD) и флуоресцентная многослойная карта (Fluorescent Multi-layer Card, FMC).

Идея использования флуоресцентного излучения в оптических накопителях возникла, в принципе, достаточно давно, однако проблема считалась по крайней мере трудно решаемой вследствие нестабильности такого излучения.

2015-09-04

Заблокировать MySQL, MariaDB, Percona для записи

Я это делал на СУБД MariaDB но технология одинакова для Percona и MySQL

Понадобилось мне развернуть из дампа базу
Но пользователи тыкаются в неё и создают deadlock - чем ооочень тормозят процесс

Победить это можно так:
  • Блокируем запись в базы для всех пользователей
    Исключением будет только роли с флагом SUPER (чем и воспользуемся)
  • Если используются таблицы MyISAM сбросим блокировки
  • И разворачиваем дамп

FLUSH TABLES WITH READ LOCK;
SET GLOBAL read_only = ON;

red - утилита, аналог 'perl -ne'

 
Утилита позволяет прям в консоли выполнить регулярное выражение, после чего сгруппировать результаты. 

2015-09-02

Новые курсы программирования на языке Python от Фоксфорд

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

2015-09-01

Почему не все так просто с MongoDB

В последнее несколько лет MongoDB приобрела огромную популярность среди разработчиков. То и дело в интернете появляются всякие статьи как очередной молодой популярный проект выкинул на свалку истории привычные РСУБД, взял в качестве основной базы данных MongoDB, выстроил инфраструктуру вокруг неё, и как все после этого стало прекрасно. Даже появляются новые фреймворки и библиотеки, которые строят свою архитектуру целиком на Mongo (Meteor.js например).

По долгу работы я примерно 3 года занимаюсь разработкой и поддержкой нескольких проектов, которые используют MongoDB в качестве основной БД, и в этой статье хочу рассказать, почему на мой взгляд с MongoDB далеко не все так просто, как написано в мануалах, и к чему вы должны быть готовы, если вдруг решите взять MongoDB в качестве основной БД в ваш новый модный стартап :-) Все что описано ниже можно воспроизвести с использованием библиотеки PyMongo для работы с MongoDB из языка программирования Python. Однако скорее всего с аналогичными ситуациями вы можете столкнуться и при использовании других библиотек для других языков программирования...
Почему не все так просто с MongoDB

OpenBSD анонсировал собственный гипервизор

Объявлено о работе над новым гипервизором, специально развиваемым для использования в операционной системе OpenBSD. Первый выпуск гипервизора OpenBSD планируется представить в конце октября, но, в конечном счёте, сроки будут зависеть от успешности написания бэкендов для virtio. Работа профинансирована организацией OpenBSD Foundation.

Гипервизор будет поддерживать запуск виртуальных окружений с любыми операционными системами для которых имеются драйверы virtio, т.е. все системы, которые поддерживаются в KVM. В дальнейшем на базе кода эмуляции оборудовния от проекта QEMU планируется реализовать прослойку для выполнения немодифицированных операционных систем в режиме полной виртуализации, в том числе устаревших ОС и систем, требующих для загрузки BIOS/UEFI.

2015-08-31

LibreSSL 2.2.3

We have released LibreSSL 2.2.3, which will be arriving in the
LibreSSL directory of your local OpenBSD mirror soon.

This release is based on the stable OpenBSD 5.8 branch, fixing a bug
that affects interoperability with some SSL clients.

2015-08-28

postgresql-metrics - Инструмент, который извлекает метрики из PostgreSQL

postgresql-metrics - Инструмент, который извлекает метрики из PostgreSQL 

быдло в ДР

Очень трогательно когда быдло рагуль поздравляет тебя с днём рождения.
Сидит такой ночью и пишет свои поздравления.
Не важно, что он там пишет - главное, что он помнит о тебе (я уже забыл о этом недоразвитом)
Но всё равно спасибо педиковатый рогуль ;)

2015-08-27

Часто задаваемые вопросы

Некоторые не совсем очевидные вещи, с которыми сталкиваются начинающие программисты Python.
pythonworld.ru/osnovy/faq.html

django-extensions - 1.5.6

Набор пользовательских расширений для Django-проектов. Изменения описаны по ссылке allmychanges.com/p/python/django-extensions/#1.5.6. Скачать можно по ссылке: pypi.python.org/pypi/django-extensions

Введение в Grab - фреймворк для веб-парсинга

Grub написал наш соотечественник, это мощный фреймворк для веб-парсинга. Эта статья описывает базовые основы работы с этим фреймворком. 

2015-08-21

Забавный диалог с сапортом домру

Некоторое поправил, ну не совсем честные были ответы на вопросы барышни из саппорта
В итоге в подъезде была поломка, после того как там монтажники на кануне ковырялись (этого провайдера или конкурентов - не знаю)

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

2015-08-20

Как я node.js и npm ставил

Все действия происходят в LXC контейнере
В Ubuntu пакет называется nodejs и после установки имеет такое же название, почему многое не хочет работать. Можно конечно сделать симлинк с именем node., но лучше поставить правильный пакет

Вытягиваю гит с ноджс
git clone https://github.com/nodejs/node.git

Затем захожу в каталог с вновь выкачанным нодом и:

./configure
make
sudo make install

Запускаю для проверки файло с содержимым
console.log("Hello World");

node ~/test.js

Если в ответ написано "Hello World" то всё прошло отлично

django-webshell - приложение для запуска Python кода прямо из админки.

Django приложение для запуска Python-кода в вашем проекте из админки. 

Java 8 Update 60 Release

Компания Oracle опубликовала корректирующий выпуск Java SE 8 Update 60 (номер версии присвоен в соответствии с новой схемой нумерации выпусков) с устранением накопившихся ошибок.
В выпуске представлены только не связанные с безопасностью исправления, устранения уязвимостей были представлены в версии JavaSE 8u45. JDK 8 Update 60 доступен в сборках для Linux (x86, x64, ARM), Solaris (x64, SPARC), Windows (x86, x64) и OS X (x64).

Ключевым новшеством Java SE 8 Update 60 является начало формирования выпусков JDK для архитектуры ARM (ARMv8). Кроме того, в новый выпуск внесены улучшения, связанные с работой Nashorn (JavaScript-движок, работающий поверх JVM) и DRS (Deployment Rule Set) 1.2. В javax.net.ssl отключены по умолчанию шифры, основанные на алгоритме RC4.

2015-08-18

Whonix 11, дистрибутив для обеспечения анонимных коммуникаций

Состоялся выпуск Linux-дистрибутива Whonix 11, нацеленного на предоставление гарантированной анонимности, безопасности и защиты частной информации. Загрузочные образы Whonix сформированы для VirtualBox, KVM, QEMU и для использования в качестве альтернативы TorVM в операционной системе Qubes. Образ гостевой системы Whonix-Gateway занимает 1.5 GB, а Whonix-Workstation - 1.6 GB. Наработки проекта распространяются под лицензией GPLv3. Дистрибутив основан на Debian GNU/Linux и использует Tor для обеспечения анонимности.

Забавная свастика в Сан-Диего

2015-08-17

Выпуск дистрибутива ZFSguru 0.3

Представлен релиз проекта ZFSguru 0.3, в рамках которого развивается серверная редакция FreeBSD, ориентированная на создание сетевых хранилищ с использованием файловой системы ZFS. В отличие от FreeNAS и NAS4Free, в ZFSguru используется полноценная, не урезанная, базовая система FreeBSD, что даёт возможность опытным пользователям развернуть любые дополнительные сервисы. Дистрибутив поставляется в форме LiveCD (422 Мб) и LiveUSB (375 Мб).

Docker 1.8. Представлена система для запуска Docker-контейнеров поверх гипервизора

Представлен релиз инструментария для управления изолированными Linux-контейнерами Docker 1.8, предоставляющего высокоуровневый API для манипуляции контейнерами на уровне изоляции отдельных приложений. В частности, Docker позволяет, не заботясь о формировании начинки контейнера, запускать произвольные процессы в режиме изоляции и затем переносить и клонировать сформированные для данных процессов контейнеры на другие серверы, беря на себя всю работу по созданию, обслуживанию и сопровождению контейнеров. Код Docker написан на языке Go и распространяется под лицензией Apache 2.0.