Как стать автором
Обновить
19
0
Пьянков Сергей Михайлович @SergeyPyankov

Delphi- и SQL-разработчик

Отправить сообщение

Как проверить работоспособность батареи ноутбука вне устройства и восстановить практически любую модель аккумулятора

Время на прочтение6 мин
Количество просмотров23K

Всем привет! Продолжаю свой цикл DIY-публикаций, посвященных ремонту различных устройств — от ноутбуков до Nintendo Switch. На этот раз поговорим про аккумуляторы лэптопов и их тяжелой судьбе.

А точнее, о ситуации, когда батарея лежит без дела (без разницы, установлена она внутри ноутбука или находится где-то отдельно). Лежит месяц, два, полгода — а потом, когда приходит ее очередь, оказывается, что ноутбук перестал заряжаться. Кроме того, бывает крайне необходимо узнать, в каком состоянии батарея, причем без ноутбука. Под катом расскажу об интересном инструменте для этого, владельцем которого я являюсь уже пару месяцев. Сразу скажу — он больше подходит для сервисных центров, но узнать о нем будет интересно любому из нас, кто увлекается ремонтом ноутбуков и прочей электронной техники.
Читать дальше →
Всего голосов 72: ↑66 и ↓6+60
Комментарии63

Аудиофилькина грамота: немного букв о критериях качества, характеристиках и классах HI-FI усилителей

Время на прочтение9 мин
Количество просмотров40K
В комментариях к предыдущим статьям возникало масса вопросов относительно выбора HI-FI усилителя. Судя по комментариям и специфическим форумам, на текущий момент актуальны вопросы о критериях качества звука при выборе современных усилителей, о паспортных характеристиках, значимых при покупке, о зависимости качества (верности воспроизведения) от класса усилителя. Отдельно спрашивают о том, действительно ли все усилители класса D хуже, чем усилители других классов. Под катом краткие ответы на эти вопросы.


Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии28

Автоматизированная сборка Delphi-приложения

Время на прочтение14 мин
Количество просмотров22K

Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-коленке", хотя продукты бывают весьма серьёзными и продаваемыми. Вероятно, это пошло ещё с тех пор, когда для автоматизации нужно было придумывать свои батнички, которые запускали компилятор командной строки dcc32 с нужными параметрами. Некоторые даже сделали свой "Публикатор" — Delphi-expert, который делает работу сервера сборок: компилирует (правда, открытый в IDE) проект, выставляя ему взятый из какой-то БД инкрементированный номер версии, записывает некий changelog и копирует это куда-то в сетевой каталог.


Я не буду вдаваться в исторический экскурс как было раньше. Я расскажу как есть/можно сейчас, и как это использовать для повышения эффективности своей работы.


Файл проекта современной версии Delphi — это .dproj-файл (здесь и далее я буду ориентироваться на Delphi 10 Rio, но с небольшими отличиями это верно для всех более ранних версий Delphi, начиная с 2007). В нём хранятся все настройки проекта, которые обычно изменяют в IDE (меню Project - Options (Ctrl+Shift+F11)). В рамках данной статьи я сконцентрируюсь на "основных", которые понадобятся для демонстрации общих принципов: это Config — конфигурация, Platform — платформа, OutputDirectory — путь выходного файла и ConditionalDefines (директивы условной компиляции). Остальные настройки, если таковые нужно менять при сборке, я предлагаю выявить самостоятельно. Этот же .dproj-файл, если в него заглянуть обычным текстовым редактором, является ничем иным как скриптом сборки MSBuild (давайте создадим простое консольное приложение и назовём его DelphiAutomatedBuild):

Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии46

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

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

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

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


Читать дальше →
Всего голосов 101: ↑99 и ↓2+97
Комментарии114

14 вопросов об индексах в SQL Server, которые вы стеснялись задать

Время на прочтение26 мин
Количество просмотров1.1M
Индексы — это первое, что необходимо хорошо понимать в работе SQL Server, но странным образом базовые вопросы не слишком часто задаются на форумах и получают не так уж много ответов.
Роб Шелдон отвечает на эти, вызывающие смущение в профессиональных кругах, вопросы об индексах в SQL Server: одни из них мы просто стесняемся задать, а прежде чем задать другие сначала подумаем дважды.


От переводчика
Данный пост является компиляцией двух статей Роба Шелдона:

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

Перейти к чтению
Всего голосов 40: ↑37 и ↓3+34
Комментарии44

Охота на мифический MVC. Построение пользовательского интерфейса

Время на прочтение27 мин
Количество просмотров40K

Детектив по материалам IT. Часть вторая


В этой части я покажу как изначально выглядело деление пользовательского интерфейса и что из себя представляли Вид и Контроллер. Попробую рассказать почему в современных GUI библиотеках используется их объединение и какие вообще интересные решения можно найти в этой области на сегодняшний день. Ссылки на первоисточники приведены в начале первой части.


Начну с Вида. Не смотря на то, что Вид определяется как модуль, отображающий Модель – "а view is a (visual) representation of its model", на практике к Виду, как правило, просто относят все графические элементы GUI, то есть Видом считается все то, что мы видим на экране ЭВМ.


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


View or Controller

Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии31

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

Время на прочтение24 мин
Количество просмотров141K
— Не понимаю, почему люди так восхищаются этим Карузо? Косноязычен, гугнив, поёт — ничего не разберешь!
— А вы слышали, как поёт Карузо?
— Да, мне тут кое-что из его репертуара Рабинович напел по телефону.

Детектив по материалам IT. Часть первая


Я осознаю, что писать очередную статью на тему Модель-Вид-Контроллер это глупо и вредно для «кармы». Однако с этим «паттерном» у меня слишком личные отношения – проваленный проект, полгода жизни и тяжелой работы «в корзину».


Проект мы переписали, уже без MVC, просто руководствуясь принципами – код перестал быть похож на клубок спагетти и сократился наполовину (об этом позже, в обещанной статье про то, как мы применяли «принципы» в своем проекте). Но хотелось понять, что же мы сделали не так, в чем была ошибка? И в течении долгого времени изучалось все, что содержало аббревиатуру MVC. До тех пор пока не встретились исходные работы от создателя – Трюгве Реенскауга…


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


Более 30 лет собранные в MVC идеи и решения остаются наиболее значимыми для разработки пользовательских интерфейсов. Но как ни странно, несмотря на существующую путаницу и обилие противоречивых трактовок, разработчики продолжают довольствоваться информацией «из вторых рук», черпая знания о MVC из википедии, небольших статей в интернете и фреймворков для разработки веб-приложений. Самые «продвинутые» читают Мартина Фаулера. И почему-то почти никто не обращается к первоисточникам. Вот этот пробел и хотелось бы заполнить. И заодно развеять некоторые мифы.


Читать дальше →
Всего голосов 73: ↑71 и ↓2+69
Комментарии387

Акустика помещений: подготовка комнаты для домашнего кинотеатра

Время на прочтение6 мин
Количество просмотров51K
Общеизвестно, что на звучание аудиоаппаратуры влияет множество факторов и одной из важнейших составляющих качества звука является акустика помещения. Учитывая многочисленные просьбы наших читателей и активное обсуждение вопроса на GT, мы решили посвятить этой теме несколько публикаций.



В этом материале мы рассмотрим акустическую подготовку помещений для домашнего кинотеатра. Следует также отметить, что принципы, описанные в этой статье, во многом будут полезны при создании комнат для прослушивания музыки, домашних музыкальных студий и репетиционных баз.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии51

Как подготовить помещение для прослушивания музыки

Время на прочтение6 мин
Количество просмотров18K
Тщательно подбирая элементы своей аудиосистемы, люди часто забывают о важном факторе, оказывающем влияние на итоговый результат, — акустической подготовке помещения.

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

Всего голосов 25: ↑19 и ↓6+13
Комментарии63

Запуск старых игр на современном компьютере — список методов

Время на прочтение6 мин
Количество просмотров199K
В этом посте я решил собрать все известные мне способы запуска старых игр на современном компьютере. Это не пошаговая инструкция, а именно список способов, утилит и ссылок, что бы понимать, куда копать и что делать. По каждому конкретному методу уже существуют подробные документации, написанные другими людьми, так что моя цель – просто собрать всё это добро воедино.
Откройте хабракат, и ваше импы станут мягкими и шелковистыми.
Всего голосов 47: ↑47 и ↓0+47
Комментарии42

Информация

В рейтинге
Не участвует
Откуда
Оса, Пермский край, Россия
Дата рождения
Зарегистрирован
Активность