Иван Филатов: чтобы вообще все понимали под видной решения нет, есть полурабочие типа StableBit (скорость никакая тупит страшно интерфейс убогий) или drive bender, тоже не лучше. С liquesce 99% программ нормально этот диск воспринимают, с играми не всегда, часть нормально работает, часть не запускается.
Григорий: в таком ключе их рассматривать и голову и не пришло, в таком случае добавлю их к списку, будет довольно необычно подобные задания решать в таком аспекте
xmoonlight: у меня никакой задачи нет, я как раз спрашивал про то какие есть, я в данный момент работу не ищу, уже есть, но на будущее планирую сменить деятельность в направлении C#, пытаюсь определить на каком уровне у меня навыки.
Григорий: к примеру из задач выше я легко могу себе представить где может пригодиться решение таких задач: Написать программу на C#, предназначенную для сжатия и расжатия файлов с помощью System.IO.Compression.GzipStream.
День программиста отмечается в 255-й день года (при этом 1 января считается нулевым днем). Требуется написать программу, которая определит дату (месяц и число григорианского календаря), на которую приходится День программиста в заданном году.
функция удаления лишних пробелов в строке
Удаляет все начальные и конечные пробелы. Также если между словами два и более, то делает один. Если перед знаками препинания есть пробел удаляет его.
На вход функции подаётся исходная строка, должна вернуть результирующую строку.
Григорий: спасибо, но какая ценность в таких задачах на практике? Сомневаюсь что существует бизнес процесс в котором используется судоку или палиндромы, не говоря уже о посчете количества шагов
я понимаю, что они различны, вот и хочу найти "типовые" для разных уровней, соответственно понять на каком уровне я нахожусь, гуру меня точно не назовешь, ибо пишу только для себя и так по мелочам, т.к. работаю немного по другому профилю
само по себе слово "рекурсия" никак на задание не похоже, можно ведь написать void Func(){Func();} и это будет ответом на такое "задание", но в нем нет смысла, калькулятор с перегрузкой операторов может можно назвать с натяжкой "сложным", но такое знание на практике практически в 99% случаев ничем не поможет, если дают задание, оно по идее должно хоть немного быть приблеженным к предметной области работодателя, какой смысл с программиста который умеет только складывать коней в вакууме
Сергей: в таком случае можно было бы написать утилиту "чистилку", на входе папка с pdf ками, на выходе список страниц, которые программа посчитала пустыми, для проверки, она ведь может и ошибаться и после обработки готовые pdf ки без пустых страниц. Пишется за день максимум.
Сергей: по идее определить что страница пустая не сложно, такой функионал на уровне программы сканировщика легко делается, есть подобная приложуха в общем доступе, но она знать не знает что такое автоподача в сканере, если научить можно сделать автоопределение
Игорь: в таком случае решение зависит от того что вы понимаете под "меняется", если скажем есть N параметров из которых K меняют свое значение это одно, а если есть N параметров, K удаляются и M добавляются, отличных от N то это другое. В первом случае я бы пошел иначе: на форме разместил flowlayout , создал key-value список List> при получении новых данных первым делом проверял есть ли в списке элемент с параметром key, если нет создавал бы новый label и ложил его в новый KeyValuePair под индексом key , этот KeyValuePair добавлял бы в общий список и label от него добавил бы в flowlayout.controls, при обновлении достаточно было бы найти нужный label и изменить его значение. Так получится что каждая строка будет обновляться лишь тогда когда это нужно
Артем: Если файл был битый изначально то битый и скачается это очевидно, протокол защищает от повреждения во время передачи, но не от того что ему подсунули. Даже и в таком случае чексумма всего файла вам ничем не поможет, т.к. у переданного и оригинала она будет одинаковая, вне зависимости как они повреждены. Повреждены они будут одинаково.
Артем: любой нормальный может, ftp я таковым не считаю, btsync использует протокол bittorrent https://ru.wikipedia.org/wiki/BitTorrent_(%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB)#BTIH_.28BitTorrent_Info_Hash.29 который использует hash Хеш (англ. hash) — SHA1 отдельных сегментов оригинальных файлов, перечисленных в словаре «info» .torrent-файла. Каждая часть после получения сначала проверяется на совпадение хеша. Если проверка не удалась, данные отбрасываются и запрашиваются ещё раз. в btsync вместо торрент файла используется magnet ссылка, по которой запрашиваются метаданные, такие же как и в торрент файле
Артем: Любой протокол передачи данных подразумевает проверку целостности, и размер и имя не являются критериями целостности, программисту нужно иметь лоботомию мозга, чтобы считать размер или имя таковыми. Не думаю что программисты TeamViewer смогли бы такое написать если бы у них были таки проблемы с головой. BtSync работает с блоками данных, и производит проверку целостности каждого блока, поэтому я и говорю что он решает задачу на уровне протокола, ему нет нужды строить чек сумму всего файла, т.к. во время передачи он уже проверял целостность каждого отдельного блока данного файла.