Архив за 29 декабря 2012 - 2

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

От переводчика: привожу перевод истории одного человека, который чуть не лишился своего Dropbox-аккаунта только из-за того что принял приглашение от командного аккаунта.

Алгоритм действий для того чтоб уничтожить чей-то аккаунт

Создайте командный аккаунт в Dropbox. Это обойдется вам в $795.
1. Пригласите вашего недруга, который пользуется Dropbox, в свою команду. Это не значит, что он сразу согласится, но предложение довольно заманчивое. 1TB пространства (не только для ваших папок, но и для всех его файлов).
2. После того как он согласится, аннулируйте его доступ к командному пространству. Это полностью удалит его аккаунт в Dropbox (а не просто файлы “команды”).

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

Ответ на этот пост

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

Люди будут делать одно и то же, как ты не бейся.
Марк Аврелий

В этом посте показано, как люди путают несколько вещей, а о чем-то просто не имеют представления.

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

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

Теперь идеологию. Дело в том, что само разделение на результат и процесс весьма условно. Все почему-то забывают, что это — взаимосвязанные вещи. К примеру, для улучшения процесса производства чего-либо нужна отрицательная обратная связь, сравнение получаемого результата с тем, что ожидается. И обратно, результат является следствием процесса, поэтому без настройки процесса результат меняться не будет.
Читать полностью »

При написании много-сервисной системы в корой каждый сервис должен быть многопоточен, столкнулись с проблемой использования подключения к базе данных. Сервисы разрабатываются на QT, поэтому использовали модуль QtSql для взаимодействие с БД.

Проблемы

  1. Для каждого потока необходимо свое собственное подключение к БД (QSqlDatabase). При использовании одного подключения из разных потоков возникаем ошибка сегментирования.
  2. Т.к. в текущий момент времени возможно держать открытыми ограниченное число подключений к БД, необходимо реализовать захват, освобождение и ожидание подключения потоками.
  3. В контексте потока, для правильной работы с транзакциями необходимо работать только с одним подключением. Например: Сущность заказ содержит в себе сущности Товар. При сохранении Заказа должны сохранится все товары. Если при сохранении товара возникает исключительная ситуация, то вся транзакция по сохранению заказ должна отменится.
  4. Библиотека должна уметь работать с несколькими БД одновременно, причем разных типов (Mysql,PostgreSQL)

Решение

В итоге у нас получилось 3 класса:

  • Connection — класс обертка отвечающий за работу с БД: Подключение, выполнение и обработка результатов запросов.
  • ConnectionManager — синглтон хоронящий в себе подключени и отвечает за выдачу и освобождение подключений.
  • ManagedConnection — класс обертка для автоматизации захвата и освобождения подключения.

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

Недавно представители Microsoft заявили о том, что платформа Windows Phone 8 будет поддерживаться большинством современных игровых движков и инструментов разработчика. На пресс-конференции упоминались такие платформы и инструменты, как Unity, Marmalade, Cocos2D, Havok, и Ogre.

image

Сегодня мы рады сообщить, что Ideaworks3D Limited, создатели Marmalade SDK (экс-Airplay SDK), объявили о поддержке платформы Windows Phone 8.
Читать полностью »

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

Конечно, мы помним, что задача классификации формулируется следующим образом:

Нам дано некоторое множество объектов X и конечное множество номеров классов Y. Определено отображение ƒ*:X→Y. Причем известно, что некоторым элементам x∈X соответствуют некие классы из множества C. Задача классификации заключается в нахождении функции ƒ, аппроксимирующей ƒ* на всех элементах из X.

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

Тернистый путь в Windows Store Как и многие программисты, я с опаской относился (и отношусь) к Windows 8, но не удержался попробовать написать пару программ для Windows Store. Все-таки, это модная тенденция: .Net 4.5, C# 5, XAML.

Как раз в эти дни, 4го декабря, мне попалась на глаза статья про конкурс приложений для W8 от Microsoft. Выкладывать экспериментальные программы было как-то не серьезно (хотя маркет такими поделками буквально переполнен), потому я решился портировать достаточно масштабный проект с MonoTouch и iOS. Запаситесь попкорном, потому как кроме программистских деталей тут будет и комедия, и драма, и жизненный финал.

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

Всех с наступающим!

Digia предлагает Qt5 для Windows только скопилированную под Visual Studio 2010, причем с параметрами, которые не для всех идеальны. В частности это

  • Собственно, сама необходимость использовать только VS2010
  • зависимость Qt5Core.dll (и соответственно вашего приложения) от ICU. Это следущие DLL-ки: icuin49.dll, icudt49.dll, icuuc49.dll
  • зависимость Qt5Gui.dll от Angle Library. Это следущие DLL-ки — libEGL.dll, libGLESv2.dll
  • зависимость от Visual C++ 2010 Runtime (msvcr100.dll, msvcp100.dll). Для большинства это пожалуй не минус, т.к. в случае 2008 студии идут другие DLL-ки (msvcp90.dll и msvcr90.dll). Однако, во-первых последние стоят на многих машинах, а во-вторых в конце статьи будет приведет удобный способ таскать их с собой без необходимости устанавливать Microsoft Visual C++ 2008 Redistributable Package при установке вашего приложения.

В конце также будет рассмотрен вопрос последущего распространения приложений.
Читать полностью »

Вечер добрый, читатели!

Последний рабочий день в этом году подходит к концу, с чем всех вас от души и поздравляем! Заключительной новинкой 2012 года, которую компания Samsung Electronics анонсировала пару дней назад, стал новый смартфон из семейства GALAXY — Samsung GALAXY Grand.
Последняя новинка этого года от Samsung: GALAXY Grand
Читать полностью »

От переводчика: Недавно презентовал на Хабре один проект, в котором использовал MySQL. Многие пользователи удивлялись, почему я не использую NoSQL для моих задач, и настоятельно порекомендовали переходить на нереляционные базы данных. Сегодня я наткнулся на эту статью, которая отлично объясняет, почему я “боюсь” NoSQL.

Должен признаться, что долго думал над тем стоит ли писать эссе о базах данных, потому что трогать эту тему всё равно, что открыть банку с червяками (в оригинале – “opening a can of worms” – английская идиома; можно интерпретировать как “Холивар” – прим. перев.). Во-первых, многое было написано до меня, а во-вторых, тема слишком сложна, что бы делать какие-либо выводы из личного опыта.

Последние две недели, однако, заставили меня понять, что я больше никогда не начну проект на основе MongoDB или любой другой нереляционной базы данных (НРДБ) в качестве первичного хранилища данных. Обратите внимание – я сказал “начну”. Я не говорю, что больше никогда не буду использовать MongoDB как таковую.
Читать полностью »


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