Рубрика «оптимизация» - 45

Добрый день. Мне очень интересна тема продвижения программ в AppStore и для чего это делается (мы все это знаем). Я расскажу о своих наблюдениях продвижения программ несколькими разработчиками, буду признателен Вашим наблюдениям. У меня более 50 программ в AppStore и по ним есть некоторая статистика и мысли, которыми я бы хотел поделиться. Так же я заинтересован в Ваших комментариях моего мнения, желательно обоснованных, с примерами. Так же очень приветствую описание Вашего опыта в этой теме.
Читать полностью »

Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.

Дайджест интересных новостей и материалов из мира айти за последнюю неделю №48 (9 — 15 марта 2013)
Читать полностью »

Давно и с недоверием присматриваюсь к некоторым функциям WinAPI ориентированным на повышение производительности приложения. Открыв MSDN, нашел описание интересующих меня функций:

BOOL WINAPI SetPriorityClass(
  _In_  HANDLE hProcess,
  _In_  DWORD dwPriorityClass
);

Sets the priority class for the specified process. This value together with the priority value of each thread of the process determines each thread's base priority level.

BOOL WINAPI SetProcessWorkingSetSize(
  _In_  HANDLE hProcess,
  _In_  SIZE_T dwMinimumWorkingSetSize,
  _In_  SIZE_T dwMaximumWorkingSetSize
);

Sets the minimum and maximum working set sizes for the specified process.

BOOL WINAPI SetProcessPriorityBoost(
  _In_  HANDLE hProcess,
  _In_  BOOL DisablePriorityBoost
);

Disables or enables the ability of the system to temporarily boost the priority of the threads of the specified process.
Читать полностью »

Всем доброго времени суток. Хотелось бы поделиться интересным, на мой взгляд, опытом работы с SQLite.

Сам я являюсь RubyOnRails разработчиком, вследствие чего для небольших проектов стараюсь использовать стандартную конфигурацию, которая использует SQLite. Не вижу смысла тянуть в зависимость простого приложения тяжеловесные СУБД.
Читать полностью »

Практически все существующие html-шаблонизаторы используют проверенный способ — «директивы в разметке». Это позволяет создать видимость инкапсуляции шаблона и, как будто бы, позволяет достичь разделения логики и отображения. На практике, шаблоны невозможно реализовать без условий, циклов и вызовов функций, а это — зависимость непосредственно разметки от используемого языка и его возможностей. При этом поддержка и изменение шаблона ложится на плечи программиста — ведь верстальщик не должен знать о ядре системы и ее объектах.
Меня давно заинтересовал другой подход к проблеме — он пришел из JavaScript, а если взять глобальнее, то из самой сути HTML.

Итак, в этой статье я расскажу о способе шаблонизации «HTML+Код».

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

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

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

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

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

Протокол Railgun для сжатия трафика

CDN-провайдер CloudFlare в прошлом году разработал протокол Railgun для сжатия сетевого трафика. Бинарный протокол, написанный на языке программирования Google Go, передаёт хэши веб-страниц и diff’ы между ними, с поддержкой версионности. После внедрения этой технологии степень сжатия в некоторых случаях достигает 99.6%, что недостижимо с помощью gzip. Сайты 4Chan и Imgur после внедрения Railgun сократили некэшируемый трафик примерно на 50%.

Сейчас компания CloudFlare объявила, что поддержка протокола реализована также у Amazon Web Services и около 30 крупнейших хостинговых компаний. Поставить Railgun теперь как никогда просто: есть плагины для WordPress, Joomla, Drupal и прочих CMS, выпущены пакеты для большинства популярных дистрибутивов Linux и BSD.
Читать полностью »

Получаем сертификаты Intel по программированию, не выходя из домаЗдравствуй. Мне 26 лет и я бородат программист без высшего образования. Я бы хотел его получить, но не смог. Не думаю что вам это чуждо: вместо того, чтобы приходить в университет и изучать современное и интересное, там заставляют учить Pascal под DOS.

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

На практике пришлось столкнутся с некоторыми не очевидными особенностями производительности обработки шаблонов. Изучение вопроса породило небольшое исследование, результатами которого спешу поделиться.
Читать полностью »

В прошлой статье мы немного познакомились с общим представлением структуры хранения данных, платформой 1С 8.2, при использовании СУБД MS SQL Server. Теперь хотелось бы более подробно описать все то, что мы можем сделать используя эти знания.

Для решения каких задач нам могут понадобиться прямые запросы к базе данных

  • Думаю данная возможность понадобиться при активной разработки своих собственных решений, либо при реструктуризации готовых решений. В тех случаях, когда в отладочных целях, либо ещё по каким-то причинам, нам придётся переносить большие объемы данных с одной таблицы в другую, либо разбивать данные на несколько таблиц
  • Для интеграции 1С с другими, сторонними разработками. Например вывод данных из 1С, в какую-нибудь стороннюю программу анализа продаж или что-то похожее.
  • Оптимизация массивных обработок данных. Когда нам необходимо обработать большое количество данных, при этом внося какие-то изменения, корректировки и т.п. Например копирование записей регистра сведений с изменением какого-либо поля средствами 1С, займет куда больше времени, чем выполнение операции T-SQL Update

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


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