Pull to refresh
23
Karma
0
Rating
Масляев Александр @maslyaev

Пользователь

  • Followers 38
  • Following

ORM: почему эта задача не имеет решения, но делать с этим, тем не менее, что-то нужно

System Analysis and Design *ООP *


Современные информационные технологии поражают своей мощью, ошеломляют открывающимися возможностями, обескураживают заложенным в них техническим совершенством, но есть один смехотворный пункт, об который IT раз за разом снова и снова ломает зубы. Показать пользователю данные из базы, получить от него ввод, положить обратно в базу, показать результат. Поля ввода, кнопочки, галочки, надписи — казалось бы, что в них может быть такого запредельно сложного, чтобы потребовалось городить головоломные конструкции типа фреймворков поверх шаблонизаторов поверх фреймворков поверх транспайлеров? И почему несмотря на все колоссальные усилия мы имеем то, что игрушечные примеры по туториалу, конечно, делаются легко и приятно, но как только инструментарий сталкивается с реальными задачами реальной жизни… как бы это сказать помягче… с ростом сложности решаемых задач наблюдается сильная нелинейность возрастания сложности реализации. Ладно бы речь шла о чём-то действительно головоломном уровня теоретической физики или космической техники, так ведь нет же — кнопочки и галочки. Почему эта ерунда десятилетиями продолжает отравлять жизнь гражданам и трудовым коллективам?

Причин, наверно, как всегда оно бывает, много. Наверно все они так или иначе достойны рассмотрения, но здесь и сейчас мы поговорим о задаче объектно-реляционного отображения (Object-Relational Mapping, ORM), которая всегда в каком-либо виде стоит за всеми этими «кнопочками и галочками».
Читать дальше →
Total votes 63: ↑48 and ↓15 +33
Views 23K
Comments 262

Увеличиваем случайность того, что и так [наверно] [почти] случайно

Information Security *Cryptography *Python *

случайные числа вкуснее, если их немножко поперчить

Будем сочетать теорию с практикой — покажем, что улучшение энтропии случайных последовательностей возможно, после чего посмотрим исходные коды, которые это делают.

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

В погоне за качественными случайными числами люди изобретают весьма остроумные приспособления (см. например здесь и здесь). В принципе, весьма неплохие источники случайности встроены в API операционных систем, но дело серьёзное, и нас всегда немножко гложет червячок сомнения: а достаточно ли хорош тот ГСЧ, который я использую, и не подпорчен ли он… скажем так, третьими лицами?
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 4.6K
Comments 12

Асимметричная криптография с одноразовым секретным ключом: описание идеи и возможное применение

Decentralized networks Information Security *Cryptography *System Analysis and Design *

(для понимания того, о чём говорится в этой статье, необходимо и достаточно хотя бы в общих чертах представлять, что такое асимметричная криптография и как работает электронная подпись)

Сценарий использования одноразового секретного ключа:

  1. Создаётся ключевая пара, состоящая из секретного (secret key, SK) и открытого (public key, PK) ключей.
  2. При помощи секретного ключа выполняется ряд операций. Первая из них, создание открытого ключа, уже выполнена на первом шаге.
  3. Выполняется на первый взгляд противологичное действие – секретный ключ уничтожается без возможности восстановления.

Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Views 7.1K
Comments 79

Альтернативы блокчейну для ведения защищённых реестров

System Analysis and Design *
Sandbox

Технология «блокчейн» прекрасна и перспективна. Всё в ней было бы совсем замечательно, если бы несколько досадных нюансов:

  1. Очень долго. Время добавления транзакции в цепочку биткоина, например, оценивается от минуты до получаса. В Ethereum добавляется быстрее, но в любом случае довести время до долей секунды невозможно. Нечего и думать о том, чтобы сделать добавление данных в блокчейн частью OLTP-транзакции.
  2. Майнинг — это очень ресурсоёмко. Он, собственно, и нужен для того, чтобы добавить в архитектуру вычислительную сложность.
  3. Очень дорого. Следствие ресурсоёмкости.
  4. Технология отвратительно масштабируется как вверх, так и вниз. Если нужно построить систему, которая будет регистрировать миллиарды записей ежедневно, блокчейн не годится. Также блокчейн будет стрельбой из пушки по воробьям, если его пытаться приспособить для надёжного логирования какой-нибудь мелкой ерунды.

Хотелось бы иметь технологию, которая бы одновременно и реестры позволяла вести непрошибаемо надёжным образом, и была бы как-то попроще и подешевле.
Но как?
Total votes 43: ↑41 and ↓2 +39
Views 18K
Comments 89

Философия информации, часть 7-я, заключительная. Системообразование

Popular science The future is here

Окончание стартовавшей отсюда семисерийной сказки.

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

Читать дальше →
Total votes 15: ↑10 and ↓5 +5
Views 5.7K
Comments 151

Философия информации, глава 6. Существа

Popular science

Начавшееся здесь повествование неизбежно вывело нас на обсуждение надличностных сущностей. На первый взгляд они, возможно, и не имеют непосредственного отношения к тому, что мы привыкли называть информационными технологиями, но никакая философия информации не может обойти стороной этот вопрос. Кому любопытно, добро пожаловать под кат.
Читать дальше →
Total votes 10: ↑6 and ↓4 +2
Views 3.7K
Comments 67

Философия информации, глава 5. Целенаправленно действующий субъект

Popular science Artificial Intelligence Physics

Начав отсюда, потихоньку добрались до сладенького, до самых головоломных вещей — причинности, времени, феномена управления и свободы воли. Заодно походя выясняем, могут ли компьютеры мыслить и могут ли роботы обладать свободой воли.
Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Views 4.5K
Comments 106

Философия информации, глава 4. Системы

Popular science

Эта публикация — четвёртая часть сериала, начало которого здесь.

Краткое содержание предыдущих серий. Сначала мы разобрались с тем, что об информации нельзя говорить как о материи, что пусть материя будет материальной, а информация материальной быть не должна. Потом вниманию любопытной публики была представлена логическая конструкция, позволяющая говорить о существовании информации так, чтобы если её «зазаемление» на материю и происходило, то исключительно аккуратно и правильно. Для того, чтобы двинуться дальше, пришлось изобрести специальный инструмент обоснования существования предметов рассуждения, который был описан в 3-й главе. Теперь мы подошли к понятию «система». Кому интересно — милости прошу под кат.

Читать дальше →
Total votes 8: ↑5 and ↓3 +2
Views 5.6K
Comments 22

Философия информации, глава 3. Основания

Popular science

Эта публикация — третья часть сериала, начало которого здесь. Если вы не ознакомились с началом истории, то вам, возможно, вообще не будет понятно, что этот текст здесь делает.

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

Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Views 6.7K
Comments 17

Философия информации, глава 2. Существование информации

Popular science

Перед прочтением этого текста рекомендуется прочитать начало этой истории. Иначе будет не понятно, зачем понадобилось выстраивать сложную конструкцию вместо того, чтобы сделать как обычно, по-простому.
Читать дальше →
Total votes 13: ↑8 and ↓5 +3
Views 9.2K
Comments 75

Философия информации, часть 1-я

Popular science
Recovery mode

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

Заранее извиняюсь за то, что будет реально много букв. Тема чрезвычайно сложная, многоаспектная и на редкость запущенная. Рад был бы вместить всё в одну небольшую статью, но тогда неизбежно получится халтура с зияющими логическими дырами, замыленными вопросами и обрубленными сюжетными линиями. Поэтому предлагаю уважаемой публике немножко запастись терпением, устроиться поудобнее и получить удовольствие от спокойного вдумчивого погружения в вопросы, всю дорогу относившиеся к «этого никто не знает».

Читать дальше →
Total votes 15: ↑9 and ↓6 +3
Views 25K
Comments 85

Хакнуть Ландауэра

Supercomputers
Sandbox
В 1961-м году Рольф Ландауэр в своей статье «Irreversibility and heat generation in the computing process» сформулировал принцип, согласно которому в любой вычислительной системе, независимо от её физической реализации, при потере 1 бита информации выделяется теплота в количестве по крайней мере W = kB T ln2, где kB − постоянная Больцмана, а T − температура вычислительной системы в кельвинах.

То есть если вычисление производится при комнатной температуре (300K), то при потере 1 бита данных вычислительная система не может не рассеять в окружающее пространство примерно 2,7×10-21 Дж.

Считается, что единственный способ преодолеть это ограничение − использовать так называемые обратимые вычисления. В этой статье я докажу, что принцип Ландауэра не является догмой, и преодоление устанавливаемого им барьера возможно в том числе и без использования обратимых вычислений.
Читать дальше →
Total votes 19: ↑10 and ↓9 +1
Views 5.5K
Comments 29

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity