Pull to refresh
19
0
Пьянков Сергей Михайлович @SergeyPyankov

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

Send message

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

Reading time6 min
Views23K

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

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

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

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


Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments28

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

Reading time14 min
Views22K

Я довольно часто сталкивался с тем, что разработчики на 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):

Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments46

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

Reading time22 min
Views240K
В данной статье описываются методы самостоятельной диагностики различных неисправностей жестких дисков по симптомам их проявления, а также способы относительно безопасного клонирования жестких дисков с незначительными проблемами.

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

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


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

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

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


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

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

Перейти к чтению
Total votes 40: ↑37 and ↓3+34
Comments44

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

Reading time27 min
Views40K

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


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


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


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


View or Controller

Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments31

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

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

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


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


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


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


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


Читать дальше →
Total votes 73: ↑71 and ↓2+69
Comments387

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

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



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

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

Reading time6 min
Views18K
Тщательно подбирая элементы своей аудиосистемы, люди часто забывают о важном факторе, оказывающем влияние на итоговый результат, — акустической подготовке помещения.

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

Total votes 25: ↑19 and ↓6+13
Comments63

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

Reading time6 min
Views199K
В этом посте я решил собрать все известные мне способы запуска старых игр на современном компьютере. Это не пошаговая инструкция, а именно список способов, утилит и ссылок, что бы понимать, куда копать и что делать. По каждому конкретному методу уже существуют подробные документации, написанные другими людьми, так что моя цель – просто собрать всё это добро воедино.
Откройте хабракат, и ваше импы станут мягкими и шелковистыми.
Total votes 47: ↑47 and ↓0+47
Comments42

Information

Rating
Does not participate
Location
Оса, Пермский край, Россия
Date of birth
Registered
Activity