Обновить

Спасем Хабрахабр и его жителей от рук законодателей

Здравствуй, Хабрахабр. Картинок сегодня не будет.

Я пишу этот пост из-за вступающего в силу 1 июля расширения Антипиратского закона, и я хочу, что бы если какой то дурак неосведомленный пользователь выложит картинку, аудио-файл или видео-файл, Хабрахабр не заблокировали.
Все — под так называемом «Катом»
Как мы можем спасти Хабрахабр

Автоматическая подпись в Outlook с помощью Powershell и GPO

Доброго времени суток, коллеги!
В своём первом посте, я хотел бы затронуть проблему единообразия подписи в почтовом клиенте Outlook. Зачастую, в организации нет единого стандарта этой полезной детали, и я бы хотел предоставить на ваш суд, своё решение данной проблемы. Данное решение было сделано на основе этого скрипта. Вкратце о механизме работы скрипта: Скрипт выполняется с помощью GPO Logon Scripts. При выполнении скрипта, проверяется:

1. Наличие данной подписи
2. Актуальность таких атрибутов как:
а. email адрес
b. ФИО
c. Внутренний телефонный номер
d. Должность
e. Дата редактирования шаблона (MS Word файла)
Читать дальше →

Yet another PHP performance tips

header


Здравствуйте, меня зовут Михаил и я люблю выигрывать наносекунды на выполнении кода.
Хочу поделиться своими знаниями в области микрооптимизаций в PHP.
Большинство нижеуказанных «советов» были найдены опытным путем, проходили синтетические тесты в вакууме. Другие были обнаружены на просторах интернета и впечатаны в память.
Итак, поехали.
Читать дальше →

Менеджер сертификатов на Go — crtman.go

В статье Своё Certificate Authority — в 5 OpenSSL команд я предложил разработчикам создавать свои СА и применять SSL всегда, вместо изобретения велосипеда. В нашей компании мы активно используем SSL. У нас есть несколько СА и множество доменов. Основным потребителем наших сертификатов являются виртуальные сервера.

Пришло время автоматизировать эту задачу и я создал веб приложение на Go — менеджер сертификатов. (Программа решила основную проблему — как называть файлы сертификатов. Программа назовет ключ сертификата для домена secret.mywebsite.com — secret.mywebsite.com.key, а не как душе угодно. Например: secret_mywebsite_com.key, + программа не перепутает папку где разместить сертификат и ключ). Приложение представляет из себя один единственный файл на Go.

Его предлагается скачать (если у вас линукс или мак)
wget https://raw.githubusercontent.com/CossackPyra/crtman/master/crtman.go

и запустить
go run crtman.go

Подробности и скриншоты

Создаем первую программу на j2se с помощью сборки Netbeans 8+Jdk

Здравствуйте, меня зовут Сергей, я знаком с языком программирования java около 8 лет. Этот язык мне очень понравился своей функциональностью. В этой статье я расскажу и покажу как создать свою первую программу на j2se с помощью сборки NetBeans 8+Jdk, а также в какой папке искать полученную программу, чтобы посмотреть ее работу.
Читать дальше →

Стоит ли ожидать у себя в кармане голографическую память

image

Прогресс идет семи мильными шагами и уже вчерашний носитель не способен обработать и сохранить нужное количество информации. Вместительность современных устройств массовой памяти отражают эту тенденцию. Диски СD-ROM позволяют хранить до 700МВ информации, развивающаяся технология DVD-ROM — до 17GB. Технология магнитной записи также развивается очень быстро — за последний год типичная емкость жесткого диска в настольных компьютерах возросла до 15-20 GB и более. Однако в будущем компьютерам придется обрабатывать сотни гигабайт и даже терабайты информации — гораздо больше, чем может вместить любой из существующих сегодня CD-ROM-ов или жестких дисков. Обслуживание таких объемов данных и перемещение их для обработки сверхбыстрыми процессорами потребует инновационных устройств работающих по иному принципу.
Читать дальше →

C# 5.0 и обработка ошибок во вложенном await

Здравствуйте уважаемые читатели!

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

Я скачал Visual Studio 2013, создал WPF проект, добавил элементов на форму, привязал необходимые команды, создал функции реализующие нужные действия и понял, что неплохо бы выполнять работу асинхронно.

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

Настройка проксирования внешнего адреса через GRE туннель между Linux серверами

Привет, друзья!
Я имею два сервера, сервер А и сервер Б, оба на Debian Wheezy. На сервер А зароучено определенное количество внешних IP-адресов, а на сервер Б — один, и то он стоит за натом. И возникла у меня на днях весьма нетривиальная задача — понадобилось пробросить один из IP-адресов сервера А на сервер Б, да так, чтобы реальные IP посетителей при проксировании сохранялись, и была возможность управлять трафиком, который будет поступать на сервер Б. NAT и ip-ip отпал сам собой из-за второго условия, да и они далеко не самые производительные. И я решил смотреть в сторону GRE туннеля.
Под катом настройка и тестирования GRE-туннеля, а также проксирование внешнего IP-адреса через GRE-туннель на другой сервер.
Читать дальше →

Система безопасности микрофинансового обьекта

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

  • Систему видеоконтроля,
  • Пожарно-охранную сигнализацию,
  • Систему контроля доступа.

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

Набор полезностей для Yii-разработчика. Часть 1

Введение


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

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

RESTup: RESTful java-сервер консольных приложений или опять о вызове shell из Oracle

Завязка не оригинальна: в процессе разработки приложения на Oracle-XE (Linux) возникла необходимость вызова консольной команды проверки пакета XML-файлов checkPFR (Windows). Действо заключалась в передаче файлов, вызове команды и получении, в моем случае, одного из двух файлов-протоколов проверки.

Вы скажете: DBMS_SCHEDULER в руки, некоторое количество грантов и все срастется, но Oracle-XE ограничен в возможности запуска удаленных команд, выгрузке данных в файловую систему,…

Зато имеет эффективный интерфейс: APEX_WEB_SERVICE.MAKE_REST_REQUEST!

С учетом того, что консольных программ преобразующих, проверяющих, создающих файлы — великое множество, возникло непреодолимое желание прикрутить технологию RESTful к этому счастью. Т.е. создать легкий сервер для распределенного использования в Intra-сети.
Читать дальше →

Асинхронный шаблонизатор для node.js (на основе jade)

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

Уязвимости в Final Exam MongoDB

В начале мая записался на курсы M102: MongoDB for DBAs. Курсы включают в себя теорию и практику, а по окончании теории — финальный тест (Final Exam). Final Exam включает в себя 11 вопросов. На 4 вопроса требуется ввести открытый ответ, а оставшиеся 7 вопросов представлены в виде тестов. Во время прохождения одного из тестов решил взглянуть на вёрстку. Выбрав «Inspect element» на одном из radio button, заметил элемент DOM, в котором хранится информация о правильных ответах.

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

Мигающий текст в Safari на -webkit-

С появление -webkit- почти все web разработчики начали использовать его возможности на всю «катушку» забив в этом плане полностью на кроссбраузерность.
Но вот как и во всём новом, в -webkit- есть некие недостатки, одним из которых является мигающий текста на страницах сайта и многие из верстальщиков понятия не имеют в чём тут причина.
Как бы это прискорбно не звучала многие просто закрывают глаза на эту проблему и просматривая очередной раз themeforest в поисках новшеств всё больше и больше натыкаешься на шаблоны с проблемой такого рода.
Не став мириться с этой проблемой я начал искать во все возможных поисковиках решение данной проблемы, пересматривать -webkit- свойства css.
Оказывается далеко ходить не нужно было! На все любимом сайта верстальщиков htmlbook.ru я нашёл интересно свойство «Сглаживание шрифтов в Safari».
тег спаситель -webkit-font-smoothing имеет 3 значения:

  • none — сглаживания нет;
  • subpixel-antialiased — сильное сглаживание;
  • antialiased — среднее сглаживание.


При значении none текст вообще потерял какую-либо читабельность, при subpixel-antialiased текст кажется жирным и это не всем нравится, antialiased дает наиболее универсальное сглаживание.

Использование:


body {-webkit-font-smoothing: antialiased; }
Читать дальше →

Планшеты и смартфоны для измерений и управления

За 2013 год продажи устройств на базе iPhone, Android ОС достигли 990 миллиона, что на 30% больше показателей 2012 года. Пользователи используют смартфоны и планшеты, в основном, для развлекательных услуг, однако с недавнего времени смартфоны и планшеты стали использоваться и для решения инженерных задач.

image
Около 990 миллионов смартфонов были проданы в 2013 году.

Компания National Instruments разработала приложения на NI LabVIEW для iOS и Android устройств, позволяющие работать с аппаратным обеспечением NI. Эти приложения предназначены для отображения данных встраиваемых измерительных систем на смартфонах и планшетах. Благодаря возможностям удаленного доступа и визуализации данных, новые приложения идеально подходят для систем мониторинга состояния агрегатов и автоматизированных систем испытаний. В случае аварийного состояния запущенные на мобильных устройствах приложения обеспечивают мгновенное уведомление и проведение диагностики проблемы, что позволяет сократить время простоя системы.
Компактные и производительные смартфоны и планшеты позволяют инженерам проводить портативные измерения с использованием мощных процедур обработки данных для полного анализа. Длительное время автономной работы и большая память мобильных устройств предоставляют расширенные возможности для архивирования и чтения измерительных данных по сравнению с ручными измерителями.
Читать дальше →

Полезная и интересная статья об Установке сервера БД MySQL на компьютер пользователя

Все больше наших клиентов задают вопросы по использованию функционала баз данных MySQL в скриптах Human Emulator. По большому счету алгоритм работы и функционал, точно такой же как и в PHP. Поэтому все ответы на вопросы по работе с базами данных MySQL в Human Emulator Вы можете найти в мануалах PHP. Но не смотря на это мы решили написать серию вводных статей на эту тему. Предлагаем Вашему вниманию первую из них.
Читать дальше →

Один из способов генерации таблиц в Drupal 7

Возникла однажды необходимость вывести данные в табличном виде. Для Drupal это не проблема, ведь в Form API есть tableselect, либо можно использовать prefix и suffix, оборачивая таким образом каждый элемент в соответствующий табличный тег. Оба подхода имеют свои недостатки (здесь они описаны не будут), поэтому пришлось искать другой путь, и он был найден.
Читать дальше →

Имя класса и метода в логах Rails

Добрый день, уважаемое сообщество.
Заметка не претендует на истину в последней инстанции, это всего лишь способ поделиться полученным опытом.

В общем, как-то появилась необходимость в одном проекте (проект на Rails 3.2) писать в production лог имя класса и метода, в котором был вызван логгер. Необходимо для того, чтобы после было понятно в каком классе и методе класса ошибка.
Есть тонкость: класс, в котором вызыван логгер — свой, и не наследуется ни от ApplicationController ни от ActiveRecord.

А нужно было получить что-то типа:
2014-06-24 10:16:31 INFO SMARTCHEQUE(perform_psp_query) -- response: #<Net::HTTPOK 200 OK readbody=true>

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