Вообще массив и отрицательный, тут в самом конце интересно
http://stackoverflow.com/questions/3473675/are-negative-array-indexes-allowed-in-c/3473684#3473684
Надо будет повникать еще
http://unixforum.org/index.php?showtopic=135153&st=0&p=1244250&#entry1244250
Вот другой пример. Сейчас есть тенденция избавляться от бумажных книг и бумажных библиотек (читай документов, архивов и т.д., и т.д.). Все только в электронном виде. Как будущим поколениям
удостовериться в подлинности исторического документа из архива, если сохранилась только электронная версия?! Нет ни подписей, ни контрольных сумм, ни оригинала.
Я не ставлю нигде свою подпись для этого комментария.
Откуда Вы знаете, что это я писал? По стилю? Типичным опечаткам и ошибкам?
Это все тоже можно подделать — и стиль, и тон, и опечатки.
Писал уже. Повторю еще.
Я не слышал о том, чтобы в системах хранения данных применялась защита от подделки этих данных — цифровая подпись/контрольная сумма, подпись автора на бумаге и все это в бумажном виде на хранении в независимом архиве.
Кратко и строго формально: на настоящий момент нет системы защиты цифровых данных от фальсификации именно на уровне продуманной концепции (технически само решение на поверхности), а это ставит (по крайне мере формально) вопрос о сомнительности использования цифровой информации в суде.
Немного поэкспериментировал, добавил funroll-loops, почитав вот эту статью:
https://habrahabr.ru/company/intel/blog/167417/
Не знаю, насколько актуальны там рекомендации ( + еще пару опций относящиеся к циклам ).
Результат для n=10
real 0m8.963s
user 0m1.210s
sys 0m2.850s
В общем под Windows Dev C++ 4.9.9.2
Параметры компилятора — Default compiler, а это видимо gcc, т.к. он стоит первым в списке в программах.
Оптимизации, видимо, нет.
Да, да. Спасибо. Я про функции еще буду перечитывать, так как не все осело. Я когда тренировался, видимо, где-то ошибся, получил не тот результат и чтобы сильно не мучить учебник в тот момент просто продублировал функции. Тем более что первая выполняется один раз.
Там по идее и в первом цикле сравнение строк можно заменить предпосчитанным факториалом.
> Выход за пределы массива, конечно, приводят к плачевным результатам.
Подозревал, но очень не хотелось добавлять проверок.
Под Linux компилировал gcc (версия 4.6.3 p1.13) в командной строке указывал только входной и выходной файл
gcc -dumpmachine (если понимаю верно, то целевая архитектура) выводит:
x86_64-pc-linux-gnu
В make.conf
CFLAGS="-march=k8 -O2 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j6"
В use флагах ничего с процессором связанного вроде бы нет, хотя вроде это никак и не должно влиять.
А под Windows — это был Dev C++, чуть позже напишу версию
Я сумел протестировать только на одной машине, в разных ОС — WIN7 64x и Llinux (Gentoo) 64x.
Я вам скажу, что под WINDOWS генерация намного дольше.
Есть еще момент, который я забыл оговорить в статье: подозреваю, что конструкция второго цикла не совсем верная.
Честно скажу, я не знаю, можно ли так писать в Си a[i] > a[i-1], так как при i=0 i-1 в массиве нет.
Когда-то шутили, мол, скоро будем программировать мышкой. Потом шутка стала несколько ближе к реальности, когда появился Flash 5. И программист стал немного художником и аниматором или наоборот.
Программистам, как и любым людям, порой требуется выговариваться на около профессиональную тему.
Я считаю это вполне нормальным, а может быть, даже и необходимым. Порой просто хочется поделиться какими-то мыслями. Как сказал кто-то из великих: «Я пишу чтобы освободить свой разум и наполнить своё сердце».
Может, здесь это немножко высокопарно звучит, но что есть, то есть.
В связи с этим я бы предложил создать отдельный хаб Личный опыт, в который бы попадали подобные заметки.
А чтобы не разрушать профильность сайта, можно сделать более высокий порог плюсов для вывода на главную страницу, но все же оставить шанс, если вдруг статья окажется интересной широкому кругу читателей.
А если у меня сайт, в рамках сайта есть чат или почта между посетителями, например, с приватными сообщениями? + мобильная версия всего этого с возможностью мгновенной передачи сообщения… то тогда как считается?
Имхо, есть очень много частых частных (пардон за игру слов) случаев, когда можно трактовать закон в разную пользу.
По идеи если хранится почта на сервере, то надо делать для каждого письма цифровую подпись или контрольную сумму, распечатывать ставить собственную подпись на бумагу, подпись директора, а также подпись «контролера от органов».
А то данные не защищены от подделки, например, в целях оказания давления на тех же бизнесменов со стороны коррумпированных сотрудников разл. «органов».
Помимо брейшей в программировании есть бреши в общих концепциях построения систем, например, систем хранения данных, которые просто не просчитали.
Вот пример: закон Яровой — та часть, которая о «новых требованиях к операторам связи и интернет-проектам».
Краткая суть — очень долго хранить все данные, но никто, похоже, не просчитал, что будет если технический хакинг войдет в симбиоз с социальным. Я имею в виду не банальный взлом и слив информации, а подмену информации, например, о конкретном человеке или группе лиц, которая может навредить.
С общим падением фундаментальных знаний ситуация может стать непредсказуемой. Но прошу прощения, что отшел от темы.
Прошу прощения, что не в тему:
Я правильно понимаю, что чтобы не нарушить инкапсуляцию, достаточно
внутри метода задать переменную для объекта из другого метода, типа
$var=$this->browserUrl->text
и в начале класса сделать var private…
Или я чего-то не понимаю… ?!
Спасибо. Попробую вникнуть. Интуитивно чувствовал, что что-то не так, хоть и работает.
Можете пояснить что вы имеете ввиду? И опять причем тут классы?
Я, может, и не очень точно выразился, но когда посматривал разные крупные проекты на том же гитхабе, подметил за собой одну вещь: если я бы даже знал ООП на элементарном уровне, мне бы не всегда было достаточно мнемоники (и комментариев) разного рода «сущностей»: классов, методов и т.д… а если много народа работает над проектом и новое появляется очень быстро… лично для себя вижу выход отдельного полного описания той или иной части проекта… Приведу пример, я не пытался кодить ООП, но редактировать пытался, мне как-то попался один игровой проект (браузерная игра), — крупный брошенный проект — там не работала пара вещей, я начал ковырять, описания не было, чтобы исправить ошибку ушло очень много времени…
http://stackoverflow.com/questions/3473675/are-negative-array-indexes-allowed-in-c/3473684#3473684
Надо будет повникать еще
http://unixforum.org/index.php?showtopic=135153&st=0&p=1244250&#entry1244250
удостовериться в подлинности исторического документа из архива, если сохранилась только электронная версия?! Нет ни подписей, ни контрольных сумм, ни оригинала.
Откуда Вы знаете, что это я писал? По стилю? Типичным опечаткам и ошибкам?
Это все тоже можно подделать — и стиль, и тон, и опечатки.
Я не слышал о том, чтобы в системах хранения данных применялась защита от подделки этих данных — цифровая подпись/контрольная сумма, подпись автора на бумаге и все это в бумажном виде на хранении в независимом архиве.
Кратко и строго формально: на настоящий момент нет системы защиты цифровых данных от фальсификации именно на уровне продуманной концепции (технически само решение на поверхности), а это ставит (по крайне мере формально) вопрос о сомнительности использования цифровой информации в суде.
https://habrahabr.ru/company/intel/blog/167417/
Не знаю, насколько актуальны там рекомендации ( + еще пару опций относящиеся к циклам ).
Результат для n=10
real 0m8.963s
user 0m1.210s
sys 0m2.850s
Параметры компилятора — Default compiler, а это видимо gcc, т.к. он стоит первым в списке в программах.
Оптимизации, видимо, нет.
Там по идее и в первом цикле сравнение строк можно заменить предпосчитанным факториалом.
Подозревал, но очень не хотелось добавлять проверок.
Под Linux компилировал gcc (версия 4.6.3 p1.13) в командной строке указывал только входной и выходной файл
gcc -dumpmachine (если понимаю верно, то целевая архитектура) выводит:
x86_64-pc-linux-gnu
В make.conf
CFLAGS="-march=k8 -O2 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j6"
В use флагах ничего с процессором связанного вроде бы нет, хотя вроде это никак и не должно влиять.
А под Windows — это был Dev C++, чуть позже напишу версию
Я вам скажу, что под WINDOWS генерация намного дольше.
Есть еще момент, который я забыл оговорить в статье: подозреваю, что конструкция второго цикла не совсем верная.
Честно скажу, я не знаю, можно ли так писать в Си a[i] > a[i-1], так как при i=0 i-1 в массиве нет.
Я считаю это вполне нормальным, а может быть, даже и необходимым. Порой просто хочется поделиться какими-то мыслями. Как сказал кто-то из великих: «Я пишу чтобы освободить свой разум и наполнить своё сердце».
Может, здесь это немножко высокопарно звучит, но что есть, то есть.
В связи с этим я бы предложил создать отдельный хаб Личный опыт, в который бы попадали подобные заметки.
А чтобы не разрушать профильность сайта, можно сделать более высокий порог плюсов для вывода на главную страницу, но все же оставить шанс, если вдруг статья окажется интересной широкому кругу читателей.
Очень интересно. Спасибо буду перечитывать статью. Весь материал бегло не охватить.
Имхо, есть очень много частых частных (пардон за игру слов) случаев, когда можно трактовать закон в разную пользу.
А то данные не защищены от подделки, например, в целях оказания давления на тех же бизнесменов со стороны коррумпированных сотрудников разл. «органов».
Вот пример: закон Яровой — та часть, которая о «новых требованиях к операторам связи и интернет-проектам».
Краткая суть — очень долго хранить все данные, но никто, похоже, не просчитал, что будет если технический хакинг войдет в симбиоз с социальным. Я имею в виду не банальный взлом и слив информации, а подмену информации, например, о конкретном человеке или группе лиц, которая может навредить.
С общим падением фундаментальных знаний ситуация может стать непредсказуемой. Но прошу прощения, что отшел от темы.
Я правильно понимаю, что чтобы не нарушить инкапсуляцию, достаточно
внутри метода задать переменную для объекта из другого метода, типа
$var=$this->browserUrl->text
и в начале класса сделать var private…
Или я чего-то не понимаю… ?!
Спасибо. Попробую вникнуть. Интуитивно чувствовал, что что-то не так, хоть и работает.
Я, может, и не очень точно выразился, но когда посматривал разные крупные проекты на том же гитхабе, подметил за собой одну вещь: если я бы даже знал ООП на элементарном уровне, мне бы не всегда было достаточно мнемоники (и комментариев) разного рода «сущностей»: классов, методов и т.д… а если много народа работает над проектом и новое появляется очень быстро… лично для себя вижу выход отдельного полного описания той или иной части проекта… Приведу пример, я не пытался кодить ООП, но редактировать пытался, мне как-то попался один игровой проект (браузерная игра), — крупный брошенный проект — там не работала пара вещей, я начал ковырять, описания не было, чтобы исправить ошибку ушло очень много времени…