Скорее, это вопрос экономический. Довольно трудно рассуждать о том, если бы, да кабы. Ну, может быть, обстраивалось и было более ухоженным земное пространство. К тому же, мы не знаем, что было бы, если бы «эфир» не был изгнан из науки. Может быть, мы летали бы на особых «волнах», и у нас была бы совсем другая энергетика. Давным-давно, в Интернете, можно было найти статью про Второе начало термодинамики («тепло нельзя передать от менее тёплого к более тёплому» или как-то так, уже и не помню), где анонимным автором рассказывалось про то, что если в системе полем создаётся градиент, то начинается обмен… который «нарушает» Второе начало. То есть: Второе Начало — это такой «стереотип распознавания явлений» (по Ландау), который откровенно мешает развитию энергетики с КПД, близким к единице. Другими словами, это ограничение — мнимое и существует только на бумаге (а не в действительности)…
Да, без космонавтики мир уже не представить. Но надо всегда помнить о том, что все эти гражданские применения (которые нам всем представляются сейчас очень нужными), суть «побочный» результат гонки вооружений. (Как и почти всё в мире.) Поэтому, вопрос о том, что было бы, если бы, можно корректно ставить только, если мы мысленно «отменяем» много чего ещё. Не было бы, например, острой необходимости демонстрировать могущество, никто в космос не полетел бы. Но…
Мечта полететь была бы в любом случае. Если бы всё развивалось иначе, то, возможно, человечество, сначала, придумало бы способ построить корабль многоразового использования и нашло бы способ получения или доставки энергии (новое поле открыли бы, например). Но с появлением СТО, ОТО и квантовой механики об этих мечтах можно забыть на столетия. (Представьте себе, что пятая сила есть, и ею можно управлять. Это же значит, что можно, по своему смотрению, менять инерционные и гравитационные свойства объектов! Вы, например, делаете инерционную массу большой, а гравитационную — маленькой. Это что же такое получается-то??!)
(переходя на сарказм с рациональным зерном внутри) Не говоря, уже, о победе «разума над сарсапариллой» и идеологии «психического самофинансирования», когда мы подключаемся к ноосфере и без всякого там, ГЛОНАСА, выясняем, где находимся, и что вокруг нас.
Да, страшно на всё это смотреть. Зачем это всё? Ну, я понимаю, если земля дорогая, вот постройки и тянутся вверх. Но! Это же всё совершенно расточительно. Дорого в постройке. Дорого в обслуживании. Чтобы там ни говорили про развитие технологий. Слишком много этажей. Слишком много квадратных метров. Слишком большая высота. («Рождённый ползать, летать не может.») Ради чего? Ради обалденного вида из окон и ощущения некой недосягаемости? Ради вещественного доказательства собственного величия Человека? Зная, что человек — существо горизонтальное, и зная, сколько у нас необихоженной земли, становится как-то не по себе от одного вида этих технологических колоссов.
Самое ужасное, что наш «Лахта-Центр» уничтожает нашу Небесную линию. То есть: прогулка по Неве уже безнадёжно испорчена одним видом строительства «Лахта-Центра». Ещё страшнее представить, что будет, когда строительство закончится. После облицовки (зеркальным?) стеклом, здание будет слишком заметным и будет жутко «бликовать». Тут нужна особая технология «Стелс», чтобы скрыть здание.
Если, уж, очень хочется войти в историю, то лучше все эти технологии и деньги (огромные!) [ надо ещё посмотреть, что, там, с налогами ] вложить в питерскую подземку. Вот, уж, точно, бы ли бы настоящие инвестиции в город! Да, у нас «плывуны». Да, почвы плохие. Да, грунтовые воды. И много чего ещё. Но это не значит, что нельзя быстро и качественно строить метро.
Вот, если бы, кто придумал технологию обстраивания и достраивания существующих станций (без их закрытия), чтобы строить новые пересадки и новые ветки. Например, делать вторые входы/выходы у станций, имеющих только один вход/выход. Вот, у нас, есть ст. м. «Василеостровская». Тут нужен второй вход/выход! Причём, здесь нужна пересадочная станция. Есть же ещё ст. м. «Спортивная», от которой, вроде бы, и ход прорыт. А тут можно было бы сделать на глубине площадку, чтобы с поверхности можно было в удобном месте делать вестибюль (и не один!) и чтобы на другую станцию перейти можно было. Кстати, а кто мешает в этом месте сделать нечто аналогичное ст. м. «Технологический институт», когда на одной платформе встречаются поезда в одном направлении? Я и не говорю о такой возможности, как вертикальная шахта где крутится спиральный эскалатор!
А «Лахта-центр» (кстати, а каков в том месте высотный регламент?) рискует однажды быть снесённым, если окажется, что он нанёс непоправимый ущерб Небесной Линии. Что же делать, тогда, с «Монбланом», который безнадёжно испортил вид Выборгской стороны?
А можно будет потом (как-нибудь, когда у меня возникнет возможность к ней обратиться) внимательно прочитать эту статью и запросить подробные комментарии, чтобы понять все детали?
Для меня тема безопасности — тёмный лес, а разобраться надо. А то пока это всё выглядит очень страшно. Получается, что можно делать всё, что угодно. Хотя, многое предотвращается простой внимательностью системного администратора.
Но, неужели, никто не подумал обо всём этом заранее и не попытался встроить в технологию какую-то защиту или не не придумал непреодолимый протокол, выполнение которого гарантирует определённый уровень безопасности? С точки зрения дилетанта, кажется, что сеть должна конфигурироваться под определённую задачу таким образом, чтобы никто не мог даже попытаться обратиться к определённом узлу. А то очень страшно читать примеры команд: кто же в здравом уме дал возможность удалённому пользователю что-то там сканировать?!!!
Можете меня не убежать в том, что единственный способ борьбы против злоумышленников — это открытый мир и хорошее воспитание. Никакая самая хитроумная система не остановит того, кто замышляет зло.
Да-да, интересно (с) dmitry_ch, а кто-нибудь там что-нибудь предложил для того, чтобы сделать жизнь подростка интереснее, чтобы было интереснее жить наполненной жизнью, а не «играми с огнём», чтобы, вообще, сделать нашу жизнь интереснее, чтобы хорошо ощущалась и вдохновляла жизненная перспектива? А, ведь, депутаты, в первую очередь, должны заниматься именно этим.
Автор законопроекта выделяет две проблемы, которые связаны с чрезмерным использованием соцсетей подростками
Что первично: собственные проблемы подростков или то, как они проявляются в соцсетях?
Популяризация самоубийств
Как можно решать проблему, если под «популяризацией» понимать всякое упоминание о проблеме? Никто не говорит — нет и проблемы? А если расследования показывают, что есть профессиональные манипуляторы, то надо искать и наказывать самих манипуляторов, а не уничтожать соцсети.
Тлетворное влияние «трудных» подростков на своих сверстников
В пределе, такая политика означает, что: что надо находить и тщательно выявлять всех людей отличающихся от некой установленной нормы? И к чему это приведёт?
Вы поднимаете очень интересную тему. В принципе, мы всегда имеем дело с работой того или иного ПО, можно, условно говоря, «записать» всё, что угодно, и будет довольно трудно отличить результат работы реального пользователя и заранее заготовленного скрипта. Если, вообще, возможно.
И вот если передача данных в запрос построена неправильно
Вопрос следует, на мой взгляд, поставить иначе: можно ли сделать так, чтобы правильная настройка передачи данных была бы встроена в технологию?
Если существует положительный ответ на этот вопрос, то «прикинуться» будет гораздо сложнее. Но это будет, также, означать и то, что Вы не сможете «просто так» открыть какой-либо сайт, поскольку для пользователя каждый сайт (в недостижимом идеале) должен выглядеть как поставщик сервисов (служб) и данных.
Более того. Само понятие «открыть сайт» содержит в себе серьёзную методологическую ошибку. Отсюда и возможность организации распределённых атак и т.д. и т.п. Если Вы «обращаетесь» к какому-либо сайту, то Вы это делаете (если следовать написанному мною сценарию в собственной статье) в рамках своей собственной ОС, и Вы не сможете организовать никакую распределённую атаку, потому как у Вас не будет никакого доступа к другим компьютерам во Всемирной Паутине, или Вам будет предоставлен доступ только к тем сервисам (службам), которые предусмотрены с точки зрения интересующего Вас сайта.
На самом деле, мне вполне понятен смысл Ваших весьма справедливых замечаний. Однако, сказанное Вами не отменяет возможность построения «другого мира». А в этом «другом мире» всё другое. Нет привычных для нас всех понятий «сайт» и «браузер»…
По-моему, люди и так стараются встать в два ряда. Но, к сожалению, это происходит далеко не всегда, когда это нужно. Другое дело, что, вообще говоря, «по эскалатору бежать нельзя». Это очень опасно. Для всех. Кто может гарантировать, что ничего не случится? Даже если в 99% случаев ничего не происходило. В целях безопасности следовало бы для бегунков держать отдельный более узкий эскалатор с повышенной скоростью движения, а на «обычный» эскалатор бегунков не пускать.
Ещё один вопрос: а для чего? Чтобы быстрее разгрузить нижнюю платформу?
Во-первых, слишком большое количество народу в метро — это признак «убитого» наземного общественного транспорта. Как житель Санкт-Петербурга, я с огромной горечью вспоминаю ещё советскую схему движения автобусов, троллейбусов и трамваев. Даже если использовать её один в один, то будет больше толка. Особенно жаль трамвай, который, что в Питере, что в Москве должен быть хорошо развит и возить значительную часть населения.
Во-вторых, меня всегда достаёт, когда прибывающие поезда никто никогда не задерживает перед открытием дверей на запруженной станции. Для безопасности следовало бы немного подождать с выпуском очередной порции пассажиров, до тех пора, пока на платформе не окажется малое количество пассажиров.
В-третьих, меня всегда интересовал вопрос: почему метро не проектируется таким образом, чтобы люди входили в вагон через одни двери, а выходили всегда через другие. Это, кстати, означало бы строительство отдельных тоннелей на спуск и подъём. Да, существенно дороже, но… безопаснее и эргономичнее.
В-четвертых, меня здорово достаёт совершеннейшая «бездумность» самой схемы питерского метро… Но это уже явный уход от темы.
P.S. Когда я после своего питерского метро попал в Москву и обнаружил, что на кольцевой линии при пересадке почти целый день творится вавилонское столпотворение (по типу того, что у нас бывает на ст. м. «Василеостровская» в утренние часы), то… я понял, что у нас в Питере не метро, а… курорт.
Да, в академических кругах, скорее всего, никто не сомневается.
Как пошутили, однажды, в библиотечке «Кванта»
Эйнштейн доказал Планку, что выдуманные им кванты существуют, Лоренцу, что преобразования правильные, президенту Рузвельту сумел доказать, что нужно делать атомную бомбу, а, вот, доказать президенту Трумену, что её применять не следует, не смог.
Но всегда есть «альтернативно одарённые», которые скажут нам, что Эйнштейн исказил смысл работ своих предшественников (прежде всего, Анри Пуанкаре, у которого, по сути, уже всё, что нужно, было сформулировано), и, поэтому физическая наука пошла в двадцатом веке совершенно не по тому пути, по какому следовало бы. Чрезвычайно трудно представить, что было бы, если бы развивались бы другие подходы к релятивизму, например, такой, как у Тимирязева, который предлагал совершенно другой путь естественного расширения ньютоновской механики и описывал совершенно иначе все эти законы сохранения импульса. Причём, это всё делалось, по сути, в рамках корпускулярного подхода. Точно также, существуют сомнения в том, мог ли опыт Майкельсона-Морли как-либо (положительно или отрицательно) решить вопрос с «движением относительно эфира». Если признать, что он не мог ответить (в принципе) на этот вопрос, то вопрос об экспериментальных подтверждениях ТО Эйнштейна (в том или ином виде), вообще, повисает в воздухе: просто решили, что подтверждает, а что там на самом деле? А если через сто лет выяснится, что вся доказательная база — миф? Это будет означать, что в науке легко образуются заблуждения и формируются догмы. Но до этого момента (когда всё станет ясно и очевидно) мы не доживём.
А, вообще, всё это побуждает снова пойти в первый класс и окунуться в мир учебников и монографий. Большинство (даже от тех, кто прилежно учился в школе и в вузе; как раз те, кто учился прилежно, усвоили «истины» настолько хорошо, что им довольно трудно их критически осмыслить) практически ничего не знает о действительном положении вещей. А где найти хорошие книжки и где взять правильное понимание вещей? Придётся вернуться к истокам и вспомнить полную исканий юность.
А что нужно знать и уметь, чтобы это всё можно было попробовать в деле?
Меня самого интересуют подходы к построению типов данных. (Будут интересовать в будущем. Надеюсь, в очень ближайшем.) Я очень хочу овладеть Хаскелом. Могу ли я сконцентрироваться только на нём (пока), без обращения к Скала и т.п. вещам?
И ещё. Что означает в Вашей статье слово «закодировано»? А то я, от недостатка чего-то (знаний, что ли?) могу что-то в Вашей статье не так понять, и моё воображение рисует мне картину, в которой, вместо железной логики обыкновенных типов данных, «зашитой» в компилятор и непосредственно опирающийся на процессор, имеются какие-то полусимволические представления, которые надо ещё дополнительно интерпретировать во время исполнения (наверное, их можно как-то интерпретировать ещё во время компиляции или ещё на этапе создания кода; я, даже, не знаю, что ещё и думать). Если то, что описываете Вы, как-то похоже на то, что рисуется мне, то, наверное, вполне возможно, будет вести речь о такой штуке. Допустим, мы реализуем систему научных расчётов (типа MATLAB) с участием матриц. Тогда, если мы описываем какой-то матричный алгоритм с участием матричного умножения и операции обращения матрицы, то мы сможем описывать этот алгоритм именно в его обобщённом матричном виде, не опираясь на какую-то реализацию каждой операции, а иметь схему вычислений, в которую можно вставить (в зависимости от контекста) или расширить (в Вашей терминологии?) подходящую реализацию того же умножения и/или обращения.
Другая сторона этого вопроса — это возможность представить сам программный код в виде текста, где, собственно, код и данные оказываются сильно перемешанными и, по сути, самоинтерпретируемыми. Раз так, то, вообще, можно смешать программный и код и текст (на естественном языке), иметь некую единую «кодовую таблицу», а оперативную память воспринимать как определённым образом структурированную базу данных, которую надо единожды создать при загрузке ОС (без необходимости её перераспределять в процессе работы)… В этом смысле, различным традиционным приложениям будут соответствовать наборы расширений для интерпретаторов системных типов. Получается, что ОС может оказаться единым адресным пространством для типов данных, и тогда слово «операционная» следует понимать буквально: как реализацию некоторой системы алгебр, что делает все выполняемые действия: а) проверяемыми; б) обратимыми; и в) доказательными…
Вот, чтобы таких фантазий было поменьше, хотелось бы узнать, что нужно в первую очередь изучить чтобы правильно понимать, то, что нужно понимать правильно.
Интересно, что было бы с безопасностью, если бы вместо классических WEB-приложений были бы обыкновенные распределённые приложения, которые работают с пакетами (сокетами)?
В таких приложениях совершенно невозможно представить инъекции и эксплуатацию уязвимостей по причине того, что, уж, если приложение решило получить число, то оно получит именно число, а не некий кусок, который, почему-то, оказался куском кода, и, опять же почему-то, смог выполниться на сервере.
Зачем предоставлять пользователю в браузере строку для ввода URL? Если бы браузер предоставлял пользователю всегда только форму ввода (а в ней уже допускался выбор значений только из реальных справочников), то эксплуатировать было бы нечего. ЯТД.
Сказанное Вами побуждает меня попросить Вас сообщить новые подробности. Всё это воспринимается как задачка, при решении которой можно было бы проверить в деле много разных «гитик».
Ещё Иммануил Кант предостерегал от таких вопросов… К тому же, довольно трудно рассуждать о времени, когда само время «рождалось» и «разворачивалось». Мы мыслим линейно и… только в одну сторону, а представить себе, например, контрамоцию (по Стругацким), вообще, невозможно. Как это: жить, в обратную сторону? А как себе представить динамическую систему с двумерным временем? А дробная размерность тут предусмотрена?
Да, было бы неплохо посидеть на досуге и поразбирать этот заковыристый запрос. Неужели, в реальных приложениях «всё так плохо» (с запросами), или, всё-таки, структуры таблиц стараются такими, чтобы максимально упростить запросы?
И… что это за точки в тексте запроса:
"pr"."id" = "ufref3758_i16"."request"
Я немного отстал от жизни и мне требуется пояснить синтаксис.
У меня вызывает внутреннее противление приведённая в статье реализация функции
static int CheckModemConnection()
На первый взгляд, всё выглядит понятным. На это и рассчитано.
Возвращает 1, если параметры, связанные с модемным соединением изменились, и 0, если нет.
Насколько я помню, это традиционно для Си возвращать именно такие значения, чтобы в месте вызова можно было бы реализовать обработку для случая произошедших изменений. Было бы логичнее иметь в качестве кода возврата bool, но это же Си! (NB: надо свериться с последним стандартом!)
Далее, название функции: CheckModemConnection. А если придётся проверять ещё чего-нибудь, то надо будет писать отдельную функцию для вот этого самого чего-нибудь? Мне бы ужасно захотелось бы обобщить и иметь общую для всех функцию проверки. Даже, если в Си нет классов. (Всегда можно ввести.) К тому же, для того, чтобы иметь возможность проверять состояние, неплохо бы как-то формализовать сие понятие и сделать так, чтобы, например, пробегать по списку необходимых свойств в цикле, а не создавать длинное условие для оператора if.
В конце-концов, было бы крайне любопытно (и эффективно?) иметь текстовую строку, описывающую текущее состояние объекта, каждый символ которой связан с некоторым элементом описания модемного соединения. Делая простой проход по этой строке, можно было бы сразу получать ответ на нужный вопрос. А, если само символьное представление делать более сложным (XML?), то можно было бы автоматизировать выдачу диагностических сообщений (например, соединяя друг с другом строки состояния для различных элементов в единую строку).
Да, без космонавтики мир уже не представить. Но надо всегда помнить о том, что все эти гражданские применения (которые нам всем представляются сейчас очень нужными), суть «побочный» результат гонки вооружений. (Как и почти всё в мире.) Поэтому, вопрос о том, что было бы, если бы, можно корректно ставить только, если мы мысленно «отменяем» много чего ещё. Не было бы, например, острой необходимости демонстрировать могущество, никто в космос не полетел бы. Но…
Мечта полететь была бы в любом случае. Если бы всё развивалось иначе, то, возможно, человечество, сначала, придумало бы способ построить корабль многоразового использования и нашло бы способ получения или доставки энергии (новое поле открыли бы, например). Но с появлением СТО, ОТО и квантовой механики об этих мечтах можно забыть на столетия. (Представьте себе, что пятая сила есть, и ею можно управлять. Это же значит, что можно, по своему смотрению, менять инерционные и гравитационные свойства объектов! Вы, например, делаете инерционную массу большой, а гравитационную — маленькой. Это что же такое получается-то??!)
(переходя на сарказм с рациональным зерном внутри) Не говоря, уже, о победе «разума над сарсапариллой» и идеологии «психического самофинансирования», когда мы подключаемся к ноосфере и без всякого там, ГЛОНАСА, выясняем, где находимся, и что вокруг нас.
Самое ужасное, что наш «Лахта-Центр» уничтожает нашу Небесную линию. То есть: прогулка по Неве уже безнадёжно испорчена одним видом строительства «Лахта-Центра». Ещё страшнее представить, что будет, когда строительство закончится. После облицовки (зеркальным?) стеклом, здание будет слишком заметным и будет жутко «бликовать». Тут нужна особая технология «Стелс», чтобы скрыть здание.
Если, уж, очень хочется войти в историю, то лучше все эти технологии и деньги (огромные!) [ надо ещё посмотреть, что, там, с налогами ] вложить в питерскую подземку. Вот, уж, точно, бы ли бы настоящие инвестиции в город! Да, у нас «плывуны». Да, почвы плохие. Да, грунтовые воды. И много чего ещё. Но это не значит, что нельзя быстро и качественно строить метро.
Вот, если бы, кто придумал технологию обстраивания и достраивания существующих станций (без их закрытия), чтобы строить новые пересадки и новые ветки. Например, делать вторые входы/выходы у станций, имеющих только один вход/выход. Вот, у нас, есть ст. м. «Василеостровская». Тут нужен второй вход/выход! Причём, здесь нужна пересадочная станция. Есть же ещё ст. м. «Спортивная», от которой, вроде бы, и ход прорыт. А тут можно было бы сделать на глубине площадку, чтобы с поверхности можно было в удобном месте делать вестибюль (и не один!) и чтобы на другую станцию перейти можно было. Кстати, а кто мешает в этом месте сделать нечто аналогичное ст. м. «Технологический институт», когда на одной платформе встречаются поезда в одном направлении? Я и не говорю о такой возможности, как вертикальная шахта где крутится спиральный эскалатор!
А «Лахта-центр» (кстати, а каков в том месте высотный регламент?) рискует однажды быть снесённым, если окажется, что он нанёс непоправимый ущерб Небесной Линии. Что же делать, тогда, с «Монбланом», который безнадёжно испортил вид Выборгской стороны?
Для меня тема безопасности — тёмный лес, а разобраться надо. А то пока это всё выглядит очень страшно. Получается, что можно делать всё, что угодно. Хотя, многое предотвращается простой внимательностью системного администратора.
Но, неужели, никто не подумал обо всём этом заранее и не попытался встроить в технологию какую-то защиту или не не придумал непреодолимый протокол, выполнение которого гарантирует определённый уровень безопасности? С точки зрения дилетанта, кажется, что сеть должна конфигурироваться под определённую задачу таким образом, чтобы никто не мог даже попытаться обратиться к определённом узлу. А то очень страшно читать примеры команд: кто же в здравом уме дал возможность удалённому пользователю что-то там сканировать?!!!
Вопрос следует, на мой взгляд, поставить иначе: можно ли сделать так, чтобы правильная настройка передачи данных была бы встроена в технологию?
Если существует положительный ответ на этот вопрос, то «прикинуться» будет гораздо сложнее. Но это будет, также, означать и то, что Вы не сможете «просто так» открыть какой-либо сайт, поскольку для пользователя каждый сайт (в недостижимом идеале) должен выглядеть как поставщик сервисов (служб) и данных.
Более того. Само понятие «открыть сайт» содержит в себе серьёзную методологическую ошибку. Отсюда и возможность организации распределённых атак и т.д. и т.п. Если Вы «обращаетесь» к какому-либо сайту, то Вы это делаете (если следовать написанному мною сценарию в собственной статье) в рамках своей собственной ОС, и Вы не сможете организовать никакую распределённую атаку, потому как у Вас не будет никакого доступа к другим компьютерам во Всемирной Паутине, или Вам будет предоставлен доступ только к тем сервисам (службам), которые предусмотрены с точки зрения интересующего Вас сайта.
На самом деле, мне вполне понятен смысл Ваших весьма справедливых замечаний. Однако, сказанное Вами не отменяет возможность построения «другого мира». А в этом «другом мире» всё другое. Нет привычных для нас всех понятий «сайт» и «браузер»…
Ещё один вопрос: а для чего? Чтобы быстрее разгрузить нижнюю платформу?
Во-первых, слишком большое количество народу в метро — это признак «убитого» наземного общественного транспорта. Как житель Санкт-Петербурга, я с огромной горечью вспоминаю ещё советскую схему движения автобусов, троллейбусов и трамваев. Даже если использовать её один в один, то будет больше толка. Особенно жаль трамвай, который, что в Питере, что в Москве должен быть хорошо развит и возить значительную часть населения.
Во-вторых, меня всегда достаёт, когда прибывающие поезда никто никогда не задерживает перед открытием дверей на запруженной станции. Для безопасности следовало бы немного подождать с выпуском очередной порции пассажиров, до тех пора, пока на платформе не окажется малое количество пассажиров.
В-третьих, меня всегда интересовал вопрос: почему метро не проектируется таким образом, чтобы люди входили в вагон через одни двери, а выходили всегда через другие. Это, кстати, означало бы строительство отдельных тоннелей на спуск и подъём. Да, существенно дороже, но… безопаснее и эргономичнее.
В-четвертых, меня здорово достаёт совершеннейшая «бездумность» самой схемы питерского метро… Но это уже явный уход от темы.
P.S. Когда я после своего питерского метро попал в Москву и обнаружил, что на кольцевой линии при пересадке почти целый день творится вавилонское столпотворение (по типу того, что у нас бывает на ст. м. «Василеостровская» в утренние часы), то… я понял, что у нас в Питере не метро, а… курорт.
Как пошутили, однажды, в библиотечке «Кванта» Но всегда есть «альтернативно одарённые», которые скажут нам, что Эйнштейн исказил смысл работ своих предшественников (прежде всего, Анри Пуанкаре, у которого, по сути, уже всё, что нужно, было сформулировано), и, поэтому физическая наука пошла в двадцатом веке совершенно не по тому пути, по какому следовало бы. Чрезвычайно трудно представить, что было бы, если бы развивались бы другие подходы к релятивизму, например, такой, как у Тимирязева, который предлагал совершенно другой путь естественного расширения ньютоновской механики и описывал совершенно иначе все эти законы сохранения импульса. Причём, это всё делалось, по сути, в рамках корпускулярного подхода. Точно также, существуют сомнения в том, мог ли опыт Майкельсона-Морли как-либо (положительно или отрицательно) решить вопрос с «движением относительно эфира». Если признать, что он не мог ответить (в принципе) на этот вопрос, то вопрос об экспериментальных подтверждениях ТО Эйнштейна (в том или ином виде), вообще, повисает в воздухе: просто решили, что подтверждает, а что там на самом деле? А если через сто лет выяснится, что вся доказательная база — миф? Это будет означать, что в науке легко образуются заблуждения и формируются догмы. Но до этого момента (когда всё станет ясно и очевидно) мы не доживём.
А, вообще, всё это побуждает снова пойти в первый класс и окунуться в мир учебников и монографий. Большинство (даже от тех, кто прилежно учился в школе и в вузе; как раз те, кто учился прилежно, усвоили «истины» настолько хорошо, что им довольно трудно их критически осмыслить) практически ничего не знает о действительном положении вещей. А где найти хорошие книжки и где взять правильное понимание вещей? Придётся вернуться к истокам и вспомнить полную исканий юность.
А что нужно знать и уметь, чтобы это всё можно было попробовать в деле?
Меня самого интересуют подходы к построению типов данных. (Будут интересовать в будущем. Надеюсь, в очень ближайшем.) Я очень хочу овладеть Хаскелом. Могу ли я сконцентрироваться только на нём (пока), без обращения к Скала и т.п. вещам?
И ещё. Что означает в Вашей статье слово «закодировано»? А то я, от недостатка чего-то (знаний, что ли?) могу что-то в Вашей статье не так понять, и моё воображение рисует мне картину, в которой, вместо железной логики обыкновенных типов данных, «зашитой» в компилятор и непосредственно опирающийся на процессор, имеются какие-то полусимволические представления, которые надо ещё дополнительно интерпретировать во время исполнения (наверное, их можно как-то интерпретировать ещё во время компиляции или ещё на этапе создания кода; я, даже, не знаю, что ещё и думать). Если то, что описываете Вы, как-то похоже на то, что рисуется мне, то, наверное, вполне возможно, будет вести речь о такой штуке. Допустим, мы реализуем систему научных расчётов (типа MATLAB) с участием матриц. Тогда, если мы описываем какой-то матричный алгоритм с участием матричного умножения и операции обращения матрицы, то мы сможем описывать этот алгоритм именно в его обобщённом матричном виде, не опираясь на какую-то реализацию каждой операции, а иметь схему вычислений, в которую можно вставить (в зависимости от контекста) или расширить (в Вашей терминологии?) подходящую реализацию того же умножения и/или обращения.
Другая сторона этого вопроса — это возможность представить сам программный код в виде текста, где, собственно, код и данные оказываются сильно перемешанными и, по сути, самоинтерпретируемыми. Раз так, то, вообще, можно смешать программный и код и текст (на естественном языке), иметь некую единую «кодовую таблицу», а оперативную память воспринимать как определённым образом структурированную базу данных, которую надо единожды создать при загрузке ОС (без необходимости её перераспределять в процессе работы)… В этом смысле, различным традиционным приложениям будут соответствовать наборы расширений для интерпретаторов системных типов. Получается, что ОС может оказаться единым адресным пространством для типов данных, и тогда слово «операционная» следует понимать буквально: как реализацию некоторой системы алгебр, что делает все выполняемые действия: а) проверяемыми; б) обратимыми; и в) доказательными…
Вот, чтобы таких фантазий было поменьше, хотелось бы узнать, что нужно в первую очередь изучить чтобы правильно понимать, то, что нужно понимать правильно.
В таких приложениях совершенно невозможно представить инъекции и эксплуатацию уязвимостей по причине того, что, уж, если приложение решило получить число, то оно получит именно число, а не некий кусок, который, почему-то, оказался куском кода, и, опять же почему-то, смог выполниться на сервере.
Зачем предоставлять пользователю в браузере строку для ввода URL? Если бы браузер предоставлял пользователю всегда только форму ввода (а в ней уже допускался выбор значений только из реальных справочников), то эксплуатировать было бы нечего. ЯТД.
И… что это за точки в тексте запроса: Я немного отстал от жизни и мне требуется пояснить синтаксис.
На первый взгляд, всё выглядит понятным. На это и рассчитано.
Насколько я помню, это традиционно для Си возвращать именно такие значения, чтобы в месте вызова можно было бы реализовать обработку для случая произошедших изменений. Было бы логичнее иметь в качестве кода возврата
bool
, но это же Си! (NB: надо свериться с последним стандартом!)Далее, название функции:
CheckModemConnection
. А если придётся проверять ещё чего-нибудь, то надо будет писать отдельную функцию для вот этого самого чего-нибудь? Мне бы ужасно захотелось бы обобщить и иметь общую для всех функцию проверки. Даже, если в Си нет классов. (Всегда можно ввести.) К тому же, для того, чтобы иметь возможность проверять состояние, неплохо бы как-то формализовать сие понятие и сделать так, чтобы, например, пробегать по списку необходимых свойств в цикле, а не создавать длинное условие для оператораif
.В конце-концов, было бы крайне любопытно (и эффективно?) иметь текстовую строку, описывающую текущее состояние объекта, каждый символ которой связан с некоторым элементом описания модемного соединения. Делая простой проход по этой строке, можно было бы сразу получать ответ на нужный вопрос. А, если само символьное представление делать более сложным (XML?), то можно было бы автоматизировать выдачу диагностических сообщений (например, соединяя друг с другом строки состояния для различных элементов в единую строку).
Буду считать это хорошим напутствием.