Архив за 05 марта 2013 - 2

Хотелось бы услышать мнение общественности по следующей теме. Недавно на глаза мне попалось объявление о том, что в Компьютерной академии «Шаг» стартует новый курс под названием «Информационная безопасность». Преподаватель курса, Бочаров Виталий Вячеславович, имеет общий стаж работы более 15 лет (почему-то не указано, в какой сфере) и обладает множеством сертификатов. Более подробная информация о курсе дана здесь:

itstep.dn.ua/informatsionnaya-bezopasnost.html

Стоимость обучения достаточно высока и колеблется от 14400 грн (если оплатить сразу весь курс) до 16300 грн (если оплачивать помесячно). В рублях это от 55 до 62 тыс. руб соответственно.

Всё бы ничего, но меня в этом курсе смутила одна маааленькая деталь – по моему скромному мнению этот курс ни о чём. Давайте более подробно рассмотрим программу обучения.Читать полностью »

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

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

Под катом приводится краткое описание одного из самых известных генетических алгоритмов вещественной оптимизации — алгоритма дифференциальной эволюции (Differential Evolution, DE). Для сложных задач оптимизации функции n переменных этот алгоритм обладает настолько хорошими свойствами, что зачастую может рассматриваться как готовый «строительный блок» при решении многих задач идентификации и распознавания образов.

Читать полностью »

image

Наша небольшая команда (2 человека) приехала-таки на выставку в Ганновере под названием CeBIT. Каждый год все, кому не лень, говорят, что мероприятие изживает себя, выставка не та-а-а… И хотя стоит признать, что постепенно градус интересов компаний-участников смещается в область B2B, пока конечным пользователям тут есть, на что посмотреть! По крайней мере, мы будем стараться искать. (Кстати, можно писать мне в личку пожелания на тему того, куда сходить, на что посмотреть и о чем рассказать.) Ну а под катом видео о том, что нашли сегодня!Читать полностью »

Классический сценарий

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

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

Администратор базы данных (DBA) посмотрит и проследит, чтобы база данных была оптимально настроена. Он предложит добавить определённые индексы, убрать логирование на отдельную партицию, подправить параметры движка базы данных и убедиться, что база данных здорова. Можно также добавить выделенных IOPS (Input/Output Operations Per second) на EBS диске, чтобы увеличить скорость дисковых партиций. Это даст вам выиграть время и даст возможность решить главную проблему.

Рано или поздно вы поймёте, что данные в вашей базе данных являются узким местом (botleneck).
В базах данных многих приложений важность информации уменьшается со временем. Если вы сможете придумать способ избавиться от этой информации, ваши запросы будут проходить быстрее, время создания бэкапов уменьшится, и вы сэкономите кучу места. Вы можете удалить эту информацию, однако тогда она пропадёт безвозвратно. Вы можете послать множество DELETE запросов, вызвав создание тонн логов, и использовать кучу ресурсов движка базы данных. Так как же мы избавимся от старой информации эффективно, но не потеряв её навсегда?
В примерах мы будем использовать PostgreSQL 9.2 на Engine Yard. Вам также нужен git для установки plsh.

Читать полностью »

Qt для iOS: превью
На недавно прошедшей выставке Embedded World 2013 на стенде Qt была представлена демонстрация портируемости приложений: на стоящих в ряд устройствах под управлением iOS, Android и QNX было запущено приложение Qt5 Cinematic Experience. Сообщалось, что это одно и то же приложение: «What is really blowing minds is the consistent performance of the same Qt 5.0 application running on QNX, Android and iOS», однако внимательные пользователи могли заметить отсутствие системы частиц в примере на iPad. Сегодня в официальном блоге Qt появился анонс, раскрывающий нюансы портируемости.
Читать полностью »

Известный по BeOS, Palm и работе в Apple Жан-Луи Гассе цитирует на страницах Guardian заявление Google о запуске нового проекта - гида по приложениям в Google Play. 

Отдавая дань уважения Стиву Джобсу и его детищу iTunes, сформировавшему первые продажи софта нового типа, поисковик в этой речи констатирует непрозрачность нынешних аппсторов для пользователя: софта очень много и навигация по нему все больше затруднена.

Читать полностью »

Не смотря на развитие, внедрение новых стандартов и плюшек в браузерах, у нет единых стандартов, как отображать элемент /> по умолчанию. Более того, у этого элемента нет атрибутов, позволяющих его в какой-то мере стилизовать.
Из-за необходимости привести это поле формы к единому виду во всех браузерах и «вписать» в разработанный дизайн, после поисков и анализа материалов в интернете был разработан метод замены вида поля формы на html+css, и js для расширения функциональности.

Как по умолчанию выглядит это поле?

Читать полностью »

image

Год назад мы, украинская студия Room 8, начали делать свою первую игру под названием Cyto. Ни у кого в команде практически не было опыта гейм-девелопмента и разработки приложений под iOS, зато у всех были амбиции сделать что-то реально офигенное. Учиться всему пришлось буквально на ходу и иногда мы чувствовали себя слонами в посудной лавке:)

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

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

Читать полностью »

image

Сегодня компания Opera Software выпустила уже 3-й по счету альтернативный браузер для Android. Сначала были Opera Mini и Opera Mobile, теперь – просто Opera (правда, пока что beta). Мы сделали небольшой обзор и проверили рабоспособность браузера на Motorola RAZR i.Читать полностью »

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

Этот текст написан для того, чтобы дать начинающему или эпизодическому разработчику на JavaScript представление о способах создания объектов в JavaScript, от простого «структурного», как в языке C, к более «объектно-ориентированному», как в C++/C#/Java.

Статья может быть рекомендована как новичкам в программировании, так и профессиональным бэкенд-программистам, эпизодически вынужденным погружаться в JavaScript.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js