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 работает с блоками данных, и производит проверку целостности каждого блока, поэтому я и говорю что он решает задачу на уровне протокола, ему нет нужды строить чек сумму всего файла, т.к. во время передачи он уже проверял целостность каждого отдельного блока данного файла.
у нас видимо разное представление о слове "генератор", я имел в виду что на входе не должно быть ничего кроме параметров подключения к БД, все остальное полностью должно генерироваться, лишнее потом можно и руками убрать, из беглого осмотра того что по ссылке ничем подобным там и не пахло
petrouv: скорость будет торрент, то есть ровно такая какую позволит провайдер, к слову не каждый провайдер дает нормальный торрент трафик, к примеру Yota еще в договоре указывает, что торрент трафик будет жестоко резаться.
Игорь: начнем с того, что выводить 1000 строк даже, если часть из них будет выделяться бессмысленно, человек не сможет так быстро просмотреть весь список, как быстро вы его обновляете. Есть подозрение, что ваш список это чтото вроде записей лога с подсветкой определенных событий, в таком случае под обновлением видимо подразумевается добавление новых строк, в таком случае неплохо справляется listbox с кастомной раскраской. Если же это не так, то вероятно выводить нужно лишь то, что действительно важно.