Pull to refresh

Компилируемые привязки данных в приложениях Windows 10

Reading time 7 min
Views 13K
Development for Windows Phone *C# *Development for Windows *

Одним из нововведений Windows UAP является то, что стало возможным создавать биндинги которые будут скомпилированы. Такое нововведение значительно улучшает производительность (в том числе и скорость загрузки) приложения. Ранее привязки данных были основаны на рефлексии, а потому медленны. Плюс ко всему, стало гораздо удобнее проводить отладку кода компилируемых биндингов.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 5

Приложение Windows 10 с данными в облаке с помощью Azure Mobile Apps

Reading time 5 min
Views 9.3K
Development of mobile applications *Development for Windows Phone *Microsoft Azure *Development for Windows *
Tutorial

Руководство о том, как с помощью несложной конфигурации и нескольких строчек кода создать веб сервис с облачной базой данных и мобильное приложение с доступом к этим самым данным. Я опишу как создать приложение Windows 10, хотя сервис позволяет создавать приложения и под другие популярные платформы. Мануал будет особенно интересен студентам, так как с недавних пор обладатели студенческой подписки Microsoft Azure для DreamSpark могут воспользоваться сервисом Mobile Apps бесплатно.
Читать дальше →
Total votes 16: ↑13 and ↓3 +10
Comments 0

Хождение по мукам или долгая история одной попытки восстановления данных

Reading time 5 min
Views 34K
System administration *Data recovery *Backup *Data storage *
На дворе стоял 2019 год. В нашу лабораторию поступил не совсем обычный для нашего времени накопитель QUANTUM FIREBALL Plus KA емкостью 9.1Гб. Со слов владельца накопителя отказ случился в далеком 2004 году по вине вышедшего из строя блока питания, который прихватил за собой жесткий диск и другие компоненты ПК. Далее были хождения по различным сервисам с попытками отремонтировать накопитель и восстановить данные, которые не увенчались успехом. Где-то обещали дешево, но так и не решили проблему, где-то слишком дорого и клиент не пожелал восстанавливать данные, но в итоге диск прошел путь через множество сервисных центров. Неоднократно терялся, но благодаря тому, что владелец заблаговременно позаботился о записи информации с различных наклеек на накопителе ему удалось добиться, чтобы именно его жесткий диск был возвращен из некоторых сервисных центров. Хождения не прошли бесследно, на оригинальной плате контроллера остались множественные следы пайки, а также визуально ощущался недостаток SMD элементов (забегая вперед скажу, что это наименьшая из проблем этого накопителя).


Рис. 1 HDD Quantum Fireball Plus KA 9,1Гб
Читать дальше →
Total votes 102: ↑102 and ↓0 +102
Comments 107

Самостоятельная диагностика жестких дисков и восстановление данных

Reading time 22 min
Views 212K
System administration *Data recovery *Backup *Data storage *Computer hardware
Tutorial
В данной статье описываются методы самостоятельной диагностики различных неисправностей жестких дисков по симптомам их проявления, а также способы относительно безопасного клонирования жестких дисков с незначительными проблемами.

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

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


Читать дальше →
Total votes 101: ↑99 and ↓2 +97
Comments 114

Что нужно знать об устройстве коллекций, основанных на хешировании

Reading time 4 min
Views 15K
OTUS corporate blog Programming *Java *Algorithms *Industrial Programming *
Всем привет. На связи Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО.

Помимо преподавания, как вы могли заметить, я занимаюсь написанием авторского материала для блога OTUS на хабре и сегодняшнюю статью хочу посвятить запуску нового потока курса «Алгоритмы для разработчиков».





Введение


Хеш-таблицы (HashMap) наравне с динамическими массивами являются самыми популярными структурами данных, применяемыми в production'е. Очень часто можно услышать вопросы на собеседованиях касаемо их предназначения, особенностей их внутреннего устройства, а также связанных с ними алгоритмов. Данная структура данных является классической и встречается не только в Java, но и во многих других языках программирования.
Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Comments 4

MVCC как один из способов обеспечения изоляции транзакций

Reading time 4 min
Views 8K
OTUS corporate blog High performance *System Analysis and Design *Database Administration *Industrial Programming *
Привет, хабр. Меня зовут Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО.

Специально к старту нового набора на курс «Архитектор высоких нагрузок» я написал небольшой материал, которым с радостью делюсь с вами.



Введение


В прошлый раз мы поговорили с вами о том, к чему приводит ослабление изоляции транзакций в базах данных. Сегодня мы обсудим более подробно один из способов обеспечения этой самой изоляции и избегания рассмотренных аномалий. Как вы могли заметить, в прошлой статье часто выделялись два подхода: один был основан на том, что у записей есть некоторые версии, а второй на том, что мы будем запись так или иначе блокировать. Таким образом, выделяются два класса баз данных: версионники и блокировочники. Сегодня мы поговорим о том, что из себя представляют версионники, а рассмотрение блокировочников оставим на следующий раз.
Читать дальше →
Total votes 15: ↑10 and ↓5 +5
Comments 3

Блокировки как один из способов обеспечения изоляции транзакций

Reading time 4 min
Views 9.8K
OTUS corporate blog High performance *System Analysis and Design *Database Administration *Industrial Programming *
Привет, Хабр. Меня зовут Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО.

Эту статью я подготовил специально к старту нового набора на курс «Архитектор высоких нагрузок».




Введение


В позапрошлый раз мы поговорили с вами о том, к чему приводит ослабление изоляции транзакций в базах данных. Сегодня мы обсудим более подробно один из способов обеспечения этой самой изоляции и избегания рассмотренных аномалий. Как вы могли заметить, в позапрошлой статье часто выделялись два подхода: один был основан на том, что у записей есть некоторые версии, а второй на том, что мы будем запись так или иначе блокировать. Таким образом, выделяются два класса баз данных: версионники и блокировочники. О том, что из себя представляют версионники, мы поговорили в прошлый раз, а сейчас я предлагаю обсудить блокировочники.
Читать дальше →
Total votes 11: ↑7 and ↓4 +3
Comments 0

Сортировка выбором

Reading time 4 min
Views 5.6K
OTUS corporate blog High performance *Programming *Algorithms *Industrial Programming *
Всем привет. Эту статью я написал специально к запуску курса «Алгоритмы и структуры данных» от OTUS.




Введение


Сортировка массива является одной из первых серьезных задач, изучаемых в классическом курсе «Алгоритмы и структуры данных» дисциплины computer science. В связи с этим задачи на написание сортировок и соответствующие вопросы часто встречаются на собеседованиях на позиции стажера или junior разработчика.
Читать дальше →
Total votes 15: ↑11 and ↓4 +7
Comments 2

Сортировка вставками

Reading time 4 min
Views 5.1K
OTUS corporate blog High performance *Programming *Algorithms *Industrial Programming *
Всем привет. Сегодня продолжаем серию статей, которые я написал специально к запуску курса «Алгоритмы и структуры данных» от OTUS.




Введение


Сортировка массива является одной из первых серьезных задач, изучаемых в классическом курсе «Алгоритмы и структуры данных» дисциплины computer science. В связи с этим задачи на написание сортировок и соответствующие вопросы часто встречаются на собеседованиях на позиции стажера или junior разработчика.
Читать дальше →
Total votes 15: ↑11 and ↓4 +7
Comments 1

Проблематика распределенных транзакций в контексте микросервисной архитектуры

Reading time 4 min
Views 5.4K
OTUS corporate blog High performance *Programming *System Analysis and Design *Industrial Programming *
Всем привет. Уже в сентябре OTUS открывает набор в новую группу курса «Highload Architect». В связи с этим я продолжаю серию своих публикаций, написанных специально для этого курса, а также приглашаю вас на свой бесплатный вебинар, в рамках которого я подробно расскажу о программе курса и формате обучения в OTUS. Записаться на вебинар можно тут.




Введение


Как известно, переход от монолита к микросервисной архитектуре вызывает ряд сложностей, связанных как с технической частью проекта, так и с человеческим фактором. Одной из самых сложных технических проблем вызывает обеспечение согласованности в распределенной системе.
Читать дальше →
Total votes 12: ↑7 and ↓5 +2
Comments 7

Паттерн «сага» как способ обеспечения консистентности данных

Reading time 3 min
Views 12K
OTUS corporate blog High performance *Programming *System Analysis and Design *Industrial Programming *
Всем привет. Уже сейчас в OTUS открывает набор в новую группу курса «Highload Architect». В связи с этим я продолжаю серию своих публикаций, написанных специально для этого курса, а также приглашаю вас на свой бесплатный демо урок по теме: «Индексы в MySQL: best practices и подводные камни». Записаться на вебинар можно тут.





Введение


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

В прошлый раз мы обсудили причины возникновения проблем с согласованностью в микросервисной архитектуре, оптимистичный подход к обеспечению согласованности и обеспечение согласованности с применением двухфазного коммита.
Читать дальше →
Total votes 20: ↑14 and ↓6 +8
Comments 0

Быстрая сортировка

Reading time 3 min
Views 40K
OTUS corporate blog High performance *Programming *Algorithms *Industrial Programming *
Всем привет. Сегодня продолжаем серию статей, которые я написал специально к запуску курса «Алгоритмы и структуры данных» от OTUS. По ссылке вы сможете подробно узнать о курсе, а также бесплатно посмотреть запись Demo-урока по теме: «Три алгоритма поиска шаблона в тексте».



Введение


Сортировка массива является одной из первых серьезных задач, изучаемых в классическом курсе «Алгоритмы и структуры данных» дисциплины computer science. В связи с этим задачи на написание сортировок и соответствующие вопросы часто встречаются на собеседованиях на позиции стажера или junior разработчика.
Читать дальше →
Total votes 26: ↑16 and ↓10 +6
Comments 13

HDD для Mac или заурядный случай для лаборатории восстановления данных

Reading time 14 min
Views 13K
System administration *Data recovery *Data storage *Computer hardware Data storaging
К нам на диагностику поступил накопитель Seagate ST4000DM000 семейства Lombard. Со слов клиента можно было понять, что накопитель использовался на компьютере Apple Macintosh и был на нем отформатирован, и не один раз, за все время эксплуатации. Вопросы касательно состояния накопителя или типа файловой системы остаются без ответа. Клиентом дается лишь сбивчивое пояснение, что необходимо восстановление файлов с оригинальной структурой каталогов. Также клиент уточняет, что в одном из сервисов были получены файлы без оригинальных имен с помощью какой-то программы восстановления данных, но его такой результат не устраивает.


Читать дальше →
Total votes 34: ↑34 and ↓0 +34
Comments 45

Хождение по рукам или грустные реалии рынка услуг восстановления данных

Reading time 9 min
Views 40K
System administration *Data recovery *Data storage *Computer hardware Data storaging
Для обычного пользователя отказ жесткого диска представляет из себя стрессовую ситуацию, так как в большинстве своем рядовой потребитель не задумывается о том, что все то, что для него представляет ценность, может быть легко утрачено от одного неловкого движения. Человек, который не является продвинутым пользователем или техническим специалистом, впервые столкнувшись с отказом диска, как правило, задумывается о том, как ему привести в чувство свой компьютер, и лишь когда узнает о неисправности накопителя, начинает думать о том, как бы это скопировать с него данные.

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

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

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

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


Рис. 1 Hitachi HTS547575A9E384 обычно выглядит так.
Читать дальше →
Total votes 87: ↑85 and ↓2 +83
Comments 141