Еще одна просьба помочь с советом насчет вхождения в кодинг после 30 с 0
Я программирую и не использую математику.
-----
Невозможно. По определению.
Возможно - не осознаешь чего и сколько пользуешь.
Тебе такое можно - ты работу техника-кодировщика выполняешь.
Не могу.
-----
Это Я понимаю.
Потому как если бы мог - не было бы необходимости спрашивать об этом - все было бы понятно без этих, достаточно простых, но таких непонятных вопросов.
А ты просишь для доказательства важности математики в программировании пояснить пример из математики.
-----
Как-то мне было интересно выполнить синтаксический анализ сишного выражения.
Я поискал и нашел написанный вариант анализатора совмещенного с генератором кода для И8080.
Там было что-то порядка 60 килобайт довольно неприятного рекурсивного спагетти-кода.
Работало, но изменения вносить было довольно проблемно. Ну спагетти же.
Потом было углубленное изучение ТФЛ и написание такого же анализатора с учетом того что изучено по ТФЛ и ПТЦА.
Результат: ядро анализа сжалось до 15 строк и таблички на 60 строк, генерация - вынесена и прозрачна.
Делился этим кодом с теми кому надо было и были проблемы вида - мы не понимаем как оно работает.
Но ведь работает, работает без сбоев, все ошибки четко фиксируются.
Все в точности в соответствии с теорией.
Которую кому-то было лениво изучить.
Вот 60 килобайт спагетти лепить не лениво - клепай и все, а 15 строк, но с теорией за ними, - неподъемно.
Примерно так всегда используется математика.
К сожалению далеко не всегда понимают как именно можно/нужно использовать этот инструмент.
Вычитать, это не та математика
-----
Математика не меняется в зависимости от свойств и состояния рассуждающего об ней.
Вот вам базы данных нравятся, а проектировать их вы уже научились?
На собеседовании буду говорить, что да. Но если здесь отвечать, то отвечу, что не знаю, научилась ли((( Нас учили на примерах сначала делать модель с ЕнтитиРелейтеншип модель. Потом ключи, атрибуты, генерализирунг и родители-дети классифицирунг добавили, затем Кардиналитет. Затем синтакс My SQL, затем эту модель в код на Мария дб написать. Joins, Views Потом безтопасность, защиту данных и ролленфертайлунг датенбанка. Потом с нормальформами 1,2,3 данные оптимировать. Тюпелькалькюль. Потом фербиндунг с гуи. Но т.к. код на Java для меня не читаемый, я не смогу ничего написать. Но Java на экзамене не спрашивали, поэтому получилось сдать.
Берешь любую библиотеку и читаешь описание.
-----
Бершь ГОСТ.
И в описании стоит, и какой ключ и какое смещение и какой величины это должно быть для определенной стойкости.
-----
Какой ключ - да, какое смещение - да, какие величины - да.
Какая будет криптостойкость - нет.
Потому что криптостойкость зависит не от алгоритма, а от содержимого блока.
Ну типа тебе говорят - пароль длинною в 100 символов много надежнее пароля в 10 символов. А ты сидишь и думаешь - символов всего 256, какая нафиг разница сколько раз я его повторю - 10 или 100 - все одно при известной длине пароля за 256 попыток я их все перепробую.
нашли бы тех кто разбирается.
-----
Поверь - искали - серьезно. Если проще - искал Пентагон и пробовал самых-самых.
Но над ГОСТом кропели несколько закрытых союзных институтов - там сделали "как надо", а не "чтобы было".
А ты что владеешь в совершенстве?
-----
Мой брюх - вполне удовлетворяется.
Те, кто пробовал - вроде не померли... по крайней мере непосредственно после.
10 или 100 - все одно при известной длине пароля за 256 попыток я их все перепробую.
Не пойму. Я помню, что если допустимы только алфавит 26 букв и 10 цифр, то число всех возможные комбинаций 36!/10!*26!= 254186856, а 10 цыфр можно для 10 символов 10*9*...*1 раз скомбинировать. Для 100 символов надо зондерцайхен разрешать, а из 36 букв и цыфр или только 10 цыфр 0 комбинаций. Откуда 256?
Какой ключ - да, какое смещение - да, какие величины - да.
Какая будет криптостойкость - нет.
Потому что криптостойкость зависит не от алгоритма, а от содержимого блока.
Пардон...это мы не проходили...
-----
Вполне, однако, допустимый при подмене предмета обсуждения.
Пользуясь случаем хотела ещё спросить, как на практике документация программ оформляется? От нас требуют после каждой программы 5 Тесткейсев описать, когда программа работает или не работает. Когда в программе есть инпут, то это легко придумать, например бенутцер вместо ожидаемого интеджер десять, вводит единицу и букву о. Но у меня всегда проблема на фантазировать 5 вариантов. На работе тоже надо эти таблицы составлять?
у меня всегда проблема
-----
Поменяй порядок написания - сначала тесты под задание, потом - заданныj код.
Невозможно. По определению.
Потому как если бы мог - не было бы необходимости спрашивать об этом - все было бы понятно без этих, достаточно простых, но таких непонятных вопросов.
Mурр, твое программирование похоже на секту - обьяснить ты не можешь, тебя никто не понимает, только ты знаешь критерии, как добится великого звания адепта третьего уровня программиста и только у тебя это звание связано с сакральными силами.
Как-то мне было интересно выполнить синтаксический анализ сишного выражения.Я поискал и нашел написанный вариант анализатора совмещенного с генератором кода для И8080.Там было что-то порядка 60 килобайт довольно неприятного рекурсивного спагетти-кода.Работало, но изменения вносить было довольно проблемно. Ну спагетти же.Потом было углубленное изучение ТФЛ и написание такого же анализатора с учетом того что изучено по ТФЛ и ПТЦА.
ТФЛ и ПТЦА - я ничего не понял, но проникся
В программировании это выполняется
изучением того, какой результат должен давать код, обвешиванием кода тестами, рефакторингом и проверкой результата по тестам.
Математика не меняется в зависимости от свойств и состояния рассуждающего об ней.
Ооо, так я не только программист, но еще и математик!
Ну типа тебе говорят - пароль длинною в 100 символов много надежнее пароля в 10 символов.
Мурр, ты случайно пароль и ключ не путаешь?
Практический пример. Я лично использую AES-256. Среда программирования - ява, конкретная реализация - спринг фреймворк. Реализация сама генерирует 256-битные ключи и программист только должен задать пароль и смещение(solt).
Какой уровень математики нужен для интеграции шифрования в мою прогу? Какова вероятность, что я допущу ошибку и шифрование будет нестойким?
Это у мужчин начинается в это время свободное время, у женщин после 30 эти часы заняты детьми и бытом.)))
Дети и быт нужно организовывать и раскидывать между членами семьи. Я имею в виду детей воспитывать, а не рожать.
Но вы справитесь, как то ж вы учитесь...
Но если здесь отвечать, то отвечу, что не знаю, научилась ли
У вас есть только одна проблема - вы новичок. Это как человек, только что закончивший автошколу, он знает теорию и все знаки, он знает это лучше проффесионала, он только ездить не умеет. Это пройдет И с базами пройдет. Я помню, как пришел на фирму и посмотрел первый раз на боевую базу данных.
Я так хотел все нормализовать
В программировании есть несколько направлений, которые редко сочетаются одновременно. Я - явист. Это значит что с кодом на Си или на Си-шарп я практически не встречаюсь. А Базами Данных постоянно. Вам стоит пройти несколько практик на реальном производстве. Сначала что бы просто понять, что это вообще такое - процесс программирования. Потом - как конкретно организована работа над кодом в выбранных технологиях. Вас учат общим принципам. Это очень хорошо. Это пригодится потом. Вон, будете компиляторы писать. Но я бы, на вашем месте, прикинул, с какими технологиями в округе можно получить реально работу, пытался бы найти практику именно на фирмах, которые программируют на выбранных языках и сам бы углубленно учил именно эти
языки.
На работе тоже надо эти таблицы составлять?
В программировании нет жестких стандартов документации, годовые отчеты там не сдаются. Есть несколько стратегий документации, но конкретная реализация очень сильно зависит от фирмы. Я никогда не видел у программистов бумажного оформления тесткейсов. Но почти всегда в виде автоматизированных тестов. Для написания тестов нужно немного опыта - я лично видел достаточно падающих прог, что бы придумать пару случаев, где прога может упасть
ТФЛ и ПТЦА - я ничего не понял
-----
Теория Формальных Языков и Прикладная Теория Цифровых Автоматов.
Тебе это скорее всего ничего не говорит, но быть нормальным прогером без понимания обоих частей весьма проблематично.
В программировании это
-----
Я вроде доступно описал как это было реализовано при двух различных подходах.
В одном случае
- 60К кода, куча дополнительных тестов и отсутствие гарантий
в другом
- 15 строк плюс табличка на 60 строк и все с гарантией работоспособности.
Какова вероятность, что я допущу ошибку и шифрование будет нестойким?
-----
Вопрос не правильный.
Правильные вопросы:
- Какова минимальная гарантированная криптостойкость полученной системы?
- Как проверить фактическую криптостойкость системы?
сама генерирует 256-битные ключи
-----
Я это знаю.
Я, дополнительно, знаю, как проверить является ли ключ слабым и оценить криптостойкость.
Чего Я не знаю - как выяснить нет ли варианта быстрого хака при данном ключе.
Ну что поделать - не моя область знаний.
ты случайно пароль и ключ не путаешь?
-----
Нет, не путаю.
Правда ожидал от тебя вопроса который задала студентка.
Я вроде доступно описал как это было реализовано при двух различных подходах.
Но субьективно. Для оценки качества рефакторинга кода недостаточно сказать, что уменьшился обьем - это так себе критерий. Может там было 60к классов, а стало 15к криптографии, которую в команде никто больше прочитать не может и которая каждый раз падает при проблемах с доступом к табличке. Сорри
Получается опять теоретическая теория и гадание на гуще. Ты не можешь ни показать, как Прикладная Теория Цифровых Автоматов конкретно помогла тебе УЛУЧШИТЬ код. Я даже не знаю, об это вообще реально, показать это на конкретных примерах, но пока ты не видел результаты моего рефакторинга, а я твоего. И чуствую, в секту меня не возьмут
Я никогда не видел у программистов бумажного оформления тесткейсов.
-----
Ну Я видел.
В плоть до того, что по списку проверяется наличие дллок в паке, их версий и отсутствие того чего нет в списке. Под роспись об проделанной работе. Все это собирается и подшивается в папочки. А папочек там несколько штук и толщиной они по 8-10 сантиметров. Три месяца сидит отдел и проверяет все строго по регламенту.