Архив за 05 марта 2016

В прошлой заметке мы обсудили самую известную пару из лагеря инструментов синхронизации тредов — mutex и cond. Сегодня встретимся с sema — примитивом, который умеет заменять предыдущие два в одиночку.

Но сначала — пара слов о случайных пробуждениях. (Спасибо xaizek, который мне об этом напомнил.) В принципе, строго реализованные механизмы синхронизации этим не страдают, но, тем не менее, опытный программист на это никогда не полагается.

Напомню фрагмент кода:

while(total_free_mem <= 0)
    {
    wait_cond(&got_free_mem, &allocator_mutex);
    }

Здесь цикл вокруг wait_cond гарантирует нам, что даже если мы вернёмся из ожидания события случайно или по ошибке, ничего страшного не случится — проверка в while обеспечит нам уверенность, что нужное состояние проверяемого объекта достигнуто. Если нет — поспим ещё в ожидании.

Отметим ещё раз, что проверяем мы состояние объекта (total_free_mem <= 0) при запертом мьютексе, то есть никто не может его менять в то же самое время.
Читать полностью »

Thanko MCSFAD01- недорогой эндоскоп для смартфонов на ОС Android

Если Вы желаете осмотреть труднодоступные места, то без эндоскопа Вам никак не обойтись.

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

Но на днях появилось бюджетное решение- Thanko MCSFAD01.

Устройство нужно лишь подключить к смартфону на операционной системе Android.

Связь осуществляется по Micro-USB.

В наличии фирменное приложение.

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

Tesoro Ascalon H7L — компьютерная мышь с сенсором 6400 DPI

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

Новинка Tesoro Ascalon H7L также является устройством для игроков и предлагает несколько функций, полезных в сетевых сражениях.

При этом отличается данное изделие довольно агрессивным внешним видом.

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

Планшет Dell Venue 8 7000 значительно подешевел

Год назад компания Dell на выставке CES 2015 представила свой планшет Venue 8 7000.

Устройство получилось удачное и востребованное, если говорить о «безрамочном» дизайне.

Спецификации у гаджета на уровне, но был один минус- завышенная стоимость.

На старте за планшет просили $400.

Однако теперь этот недостаток исправлен.

Недавно разработчики объявили о снижении цены на смартфон до $200.

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

Всем привет! Хабр жив! Данный пост вряд ли соберёт кучу лайков и комментов, но надеюсь, поможет здоровью хабра.

В данной статье рассмотрим принцип аутентификации в веб-приложениях на платформе Spring с использованием относительно нового механизма аутентификации — JSON Web Token (JWT). Этот механизм уже обкатан и реализован для многих языков программирования.

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

Scribble- «умная» ручка, которая пишет 16 миллионами цветами

Создана «умная» ручка под названием Scribble.

Работает она так: сверху имеется LED-датчик, считывающий цвет, который обрабатывается микропроцессором.

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

Писать данной ручкой можно на любой поверхности.

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

SH-03H- новая «раскладушка» от Sharp

Еще совсем недавно телефоны, выполненные в виде «раскладушки», пользовались большой популярностью.

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

С появлением сенсорных девайсов популярность складных телефонов угасла.

Особенно в последние годы, когда каждый второй имеет смартфон или планшет.

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

В предыдущей статье я закончил на создании и конфигурировании имитатора… Продолжим…
Читать полностью »

Всем привет!

Сегодня я хотел бы с вами поделится информацией как можно достаточно легко и быстро с помощью технологии Group Policy Preferences (GPP) (Она доступна с Windows Server 2008) создавать и мапить пользовательские личные папки на сервере.

Данный процесс можно разбить на несколько основных этапов

  • Создание и настройка прав на корневую папку в которой будут хранится папки пользователей
  • Создание папки для пользователя
  • Мапинг сетевого диска для пользователей

Добавление сетевых дисков с персональными папками для пользователей через GPP на примере Windows Server 2012R2 - 1
Читать полностью »

В данной статье будет описан процесс создания приложений для СУБД Firebird с использованием компонентов доступа Entity Framework и среды Visual Studio 2015.

ADO.NET Entity Framework (EF) — объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для .NET Framework от Microsoft. Предоставляет возможность взаимодействия с объектами как посредством LINQ в виде LINQ to Entities, так и с использованием Entity SQL.

Entity Framework предполагает три возможных способа взаимодействия с базой данных:

  • Database first: Entity Framework создаёт набор классов, которые отражают модель конкретной базы данных.
  • Model first: сначала разработчик создаёт модель базы данных, по которой затем Entity Framework создаёт реальную базу данных на сервере.
  • Code first: разработчик создаёт класс модели данных, которые будут храниться в БД, а затем Entity Framework по этой модели генерирует базу данных и её таблицы

В своём приложении мы будем использовать подход Code First, однако вы без труда сможете использовать и другие подходы.

Наше приложение будет работать с базой данных, модель которой представлена на рисунке ниже.

diagramm
Внимание!

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

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