Pull to refresh
2
0
Send message

Полуфабрикат Windows-службы

Reading time16 min
Views8.3K
Один из способов доморощенной классификации служб основывается на времени их жизни: некоторые из них запускаются сразу же при старте ОС, оставаясь активными постоянно (сюда, скажем, можно отнести веб-серверы и СУБД), другие же запускаются лишь при необходимости, делают свои архиважные дела и сразу завершаются; при этом, ни один из вариантов сам по себе не делает реализацию службы сложнее, однако второй требует от разработчика как минимум ещё и умения программно стартовать, а при необходимости и досрочно останавливать её работу. Именно указанный аспект управления службой, плюс добавление некоторых отсутствующих в штатной поставке Delphi возможностей, и сподвиг автора на данный опус.

Чтобы статья воспринималась максимально полезной и практичной, в ней предлагается заготовка (почти готовый к употреблению шаблон) службы, обрабатывающей очередь неких задач (или заданий – кому как больше нравится); после того, как все из них обработаны, служба тут же завершается. Если представить графически, то читатель познакомится со следующей конструкцией:

Взаимодействие службы с очередью и управляющим приложением
Читать дальше →

«Страна-бензоколонка» и другие распространённые предубеждения о российской экономике

Reading time15 min
Views22K

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

Читать далее

Мониторинг СУБД Firebird с помощью Zabbix

Reading time4 min
Views6.7K

Примерно 20 лет назад была установлена СУБД Firebird, если не ошибаюсь, версии 1.0.3, на сегодняшний день база все еще жива и нужна, размер ее перевалил за 30ГБ, что по сегодняшним меркам очень мало, но и основной рост базы пришелся на начало века.

С повсеместным внедрением средств мониторинга захотелось снимать минимальную статистику и определять работоспособность СУБД и самой БД. Для мониторинга использую Zabbix установленный на Ubuntu 20.04 LTS, а сама СУБД находится на виртуальной машине с Windows 2008 Server. Версии на которых был использован метод мониторинга описанный ниже для СУБД Firebird 2.5.9, версия Zabbix 6.0. Но думаю что и с другими версиями проблем быть не должно.

Читать далее

Особенности портирования сложного модульного ПО написанного на Delphi под ОС Linux

Reading time34 min
Views41K

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

Меня зовут Тимофеев Константин, мне 40 лет и я являюсь ведущим программистом компании 3В Сервис в подразделении, занимающемся системами автоматизации динамических расчётов (САДР).

Данная статья посвящена разбору подводных камней при портировании разрабатываемого нами программного комплекса на операционные системы семейства Linux.

Читать далее

О видеоиграх как об искусстве и культуре

Reading time8 min
Views5.5K

Немного истории.  Еще в 2011 году в США видеоигры были официально признаны отдельным видом искусства правительством США и американским Национальным фондом. Как только это произошло, все местные разработчики получили доступ к получению государственных грантов. Компьютерные игры встали в один ряд с театром, кино, скульптурой, живописью и прочим. А независимые разработчики получили финансовую поддержку для своих концептуальных проектов. О том, заслуживают ли компьютерные игры такого гордого звания, или это попытка геймеров приобщить свое хобби к полезному провождению времени – знакомству с искусством, в то время не писал только ленивый. Однако факт остается фактом. Но можно разобраться, что же приобщает любимую многими сферу развлечений к искусству.

Читать далее

Удивительное приключение в стране оптимизирующих компиляторов

Reading time17 min
Views25K

Приглашаю вас в небольшое приключение выходного дня, в котором никто никому ничего не будет доказывать. Мы просто будем реализовывать один и тот же несложный алгоритм, разыскивающий простые числа в некотором диапазоне, на нескольких языках программирования: C, C++, Scheme и Python - и смотреть, что этим кодом могут сделать современные оптимизирующие компиляторы. В процессе приключения мы увидим, что «динамический» не означает «совсем уж медленный», и посмотрим на приёмы программирования на Scheme, что, как мне кажется, можно сравнить с путешествием на экзотический остров.

Читать далее

Положение дел у Windows: сколько разношёрстных уровней UI в Windows 10?

Reading time5 min
Views52K

Все мы слышали байку: если в Windows 10 копнуть достаточно глубоко, можно найти элементы, относящиеся еще ко временам Windows 3.x. Но так ли это на самом деле? В этой статье мы узнаем, сколько уровней пользовательского интерфейса присутствует в Windows и когда они были впервые представлены.

Откопать старый UI

Заметки о SQL и реляционной алгебре

Reading time12 min
Views99K


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

Зачем это может быть нужно сегодня? Не только специалистам по анализу данных и администраторам баз данных приходится работать с данными, фактически мало кому не приходится что-то извлекать из (полу-)структурированных данных или трансформировать уже имеющиеся. Для того, чтобы иметь хорошее представление почему языки запросов устроены определенным образом и осознанно их использовать нужно разобраться с ядром, лежащим в основе. Об этом мы сегодня и поговорим.

Большую часть статьи составляют примеры с вкраплениями теории. В конце разделов приведены ссылки на дополнительные материалы, а для заинтересовавшихся и небольшая подборка литературы и курсов в конце.

Содержание



Читать дальше →

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

Reading time15 min
Views24K
Вспомните свой самый необычный сон. У меня он таков: спасаясь от преследования, я распахиваю окно и выхожу в воздух на высоте седьмого этажа. От высоты и чувства свободного полёта захватывает дух. Вижу внизу кирпичные многоэтажки, дворы с зелёными деревьями, на которых колышутся листья. Поднимаюсь ввысь и уже становиться страшно от высоты, от того, что я могу упасть или улететь слишком высоко.


Действие фильма Кристофера Нолана “Начало” происходит во сне.

Хорошо, вы когда-нибудь задумывались о том, где находиться то самое место из сна? Можно ли показать его на карте? Ваше тело посапывает в кровати. Вы не знаете, что спите, не можете сказать, где находиться ваше тело — у себя дома, в гостях или в отеле на берегу мексиканского залива. Мир вашего сна кажется совершенно реальным, однако из чего он состоит? Есть ли в мире снов масса и энергия, состоит ли он из молекул? Можно считать мозговую активность спящего человека, но невозможно проникнуть в мир его сна. Невозможно пронести измерительные научные приборы в мир нашей ментальности. Как получается так, что во сне люди могут летать? Быть может, парить способна ваша душа?

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

Выходит, что мы постоянно живём в мире нашего сознания. Все наши успехи и неудачи по жизни продиктованы качеством модели нашего внутреннего мира.

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

У людей есть базовое качество – заблуждаться. Люди придумали тысячи ненаучных психологий и религий, мистики и эзотерики. Как определить, когда мы правы, а когда ошибаемся? Какая психология полезна, а какая вредна? Только научный подход позволяет нам избегать ошибок. Однако настоящий научный подход может быть похож на мистику. Как это происходит, например, с квантовой механикой. Так что же говорит наука о нашем сознании?

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

Как работает реляционная БД

Reading time51 min
Views559K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →

Как я с лёгкостью сделал винтовку AR-15, которую невозможно отследить

Reading time9 min
Views69K


Это моё «оружие-призрак» (ghost gun) — термин, придуманный поборниками контроля за распространением оружия, и подхваченный любителями оружия. Это полуавтоматическая винтовка без серийного номера, о которой не знают органы охраны правопорядка. А привязанность, которую я к ней испытываю, проистекает из того факта, что я сделал её сам, в мастерской офиса WIRED.

Я справился практически в одиночку. У меня не было никаких знаний, касающихся оружия, а навыки по работе с инструментами были не лучше, чем у кроманьонца. При этом я сделал металлическую, работающую винтовку AR-15. Точнее, я сам сделал «ствольную коробку» (lower receiver) — основу конструкции, ту часть, которую законы США определяют, как «огнестрельное оружие». Всё, что мне нужно было для проекта — 6 часов, понимание компьютерных программ на уровне пятиклассника, кусок алюминия стоимостью $80 и безликий автоматический фрезерный аппарат Ghost Gunner.

Ghost Gunner — фрезерный станок стоимостью $1500, управляемый компьютером. Его продаёт компания Defense Distributed, выступающая за доступность оружия. Она стала известна в 2012 — 2013 годах, когда начала печатать первый пистолет на 3D-принтере, известный, как Liberator. И пока все вокруг спорили насчёт политических и законодательных вопросов, касающихся этой идеи, DD перешла с пластика к металлу.

Ghost Gunner вырезает объекты из алюминия на основе компьютерной модели. Первые поставки этого агрегата начаты этой весной. Группа DD хочет облегчить людям задачу изготовления частей оружия из материала, сравнимого по прочности с промышленными образцами.
Читать дальше →

Использование замыканий и функций высших порядков в Delphi

Reading time10 min
Views19K
Данная статья является продолжением предыдущей публикации, которая была посвящена анонимным методам. В этот раз речь пойдет о примерах использования функций высших порядков и замыканий, показавшихся автору интересными.
Читать дальше →

Использование анонимных методов в Delphi

Reading time8 min
Views34K
Поводом для написания статьи стал интерес к возможностям анонимных функций в Delphi. В разных источниках можно найти их теоретические основы, информацию о внутреннем устройстве, а вот примеры использования везде даются какие-то тривиальные. И многие задают вопросы: а для чего вообще нужны эти reference, какая может быть польза от их применения? Поэтому предлагаю некоторые варианты использования анонимных методов, применяемые в других языках, возможно, более ориентированных на функциональный стиль программирования.
Читать дальше →

MindStream. Как мы пишем ПО под FireMonkey. Часть 5. Тестирование

Reading time22 min
Views7.4K
Часть 1.
Часть 2.
Часть 3. DUnit + FireMonkey
Часть 3.1. По мотивам GUIRunner
Часть 4. Serialization

Здравствуйте, дорогие хабровчане.

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

Сейчас наш проект выглядит так:


Читать дальше →

Не пельменем единым жив программист или история о том, как все успеть

Reading time7 min
Views140K
image

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

На написание этого поста меня сподвиг замечательный пост «За что конкретно я ненавижу некоторых отдельно взятых маркетологов — или как айтишник по магазинам ходил». Сразу хочу извиниться за возможные опечатки — пишу с планшета, сидя в микроавтобусе и вытягивая сеть телефоном. Hacker's keyboard очень удобен для ssh-доступа, но большие тексты писать им не очень удобно.

IT- специалисты — народ любопытный. То соберут на базе микроконтроллеров автоматическую систему полива и освещения для любимого фикуса, то пропатчат прошивку мультиварки для раздачи торрентов. Но, по непонятной и загадочной причине, когда дело доходит до еды, пресловутый принцип DIY дает сбой. И наш герой, способный часами переделывать кинескоп старого телевизора в Луч Смерти, идет на кухню утолить голод соевым текстуратом пополам с гидроцеллюлозой и «коллагеновым сырьем».

В этом посте я хочу разрушить миф о том, что еда может быть либо быстрой и удобной, либо съедобной. Не секрет, что многим из нас приходится работать по 12 часов в сутки, что не способствует кулинарным подвигам с участием 28 приправ и перьев с зада дракона, омытых слезами единорога. Вы получите замечательную возможность посмотреть в глаза своей половинки на 8 марта после того, как она получит не контроллер для дистанционного управления шторой, а свежевыпеченный хлеб ручной работы рано утром. Если вам надоело есть синтетику — добро пожаловать под hubracut.
Читать дальше →

Почему свет движется со скоростью света?

Reading time5 min
Views86K
(Прим. пер. ― см. прим. пер. в конце поста)

Почему свет движется со скоростью света? Почему он просто не стоит на месте? Что приводит его в движение (тем более, такое быстрое)?

image

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

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

В нашей будничной жизни мы исходим из того, что движение — это некое расстояние (пространство), преодоленное за некое время. Однако, если мы решили, что это одно и то же, наше определение движение внезапно становится полной ерундой. «Я прохожу километр за каждый километр, который я прохожу» — кошмар какой-то!

Читать дальше →

Ускорение загрузки Windows for fun and profit

Reading time4 min
Views811K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста

Работаем с КОМПАС 3D из DELPHI

Reading time8 min
Views7.1K
imageimageПриветствую тебя, %username%.
Куда нас только не закидывает судьбинушка. С какими только порождениями ума человеческого не приходится сталкиваться. Вот и мне пришлось копнуть тему, касаемую API Компас от Аскон.
Информации по данной теме я нашёл не достаточно. Нулевому разработчику даётся SDK Help и ряд примеров, всё в комплекте с программой.
Поддержка на форуме http://forum.ascon.ru/index.php/board,4.0.html — практически никакая (на 80% вопросов пользователи отвечают сами себе).
Но программа всё-же достаточно популярная (Особенно честно взломанные версии), посему вопросы задаются. Чтобы как то помочь тем, кто волею судеб (злого рока, руководства, либо истеричного заказчика) столкнётся с данным продуктом, эта статья.
Тут я выложу «прожиточный минимум», старт, оттолкнувшись от которого, можно писать не самые плохие программы, да и зарабатывать при желании, как показала практика.
Читать дальше →

Папа, а почему на ноль делить нельзя?

Reading time6 min
Views238K
Моя трёхлетняя дочка София в последнее время частенько упоминает «ноль», например, в таком контексте:
— Соня, вот ты вроде сначала не послушалась, а затем послушалась, что же получается?..
— Ну… ноль!

Т.е. ощущение отрицательных чисел и нейтральности нуля уже имеет, о как. Скоро поинтересуется: почему же это на ноль делить нельзя?
И вот решил я простыми словами записать всё, что я ещё помню про деление на ноль и всё такое.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity