- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
using System;
using System.Security.Cryptography;
namespace sha1_calc
{
class Program
{
static void Main(string[] args)
{
SHA1 sha = new SHA1CryptoServiceProvider();
foreach (var fname in args)
{
Console.WriteLine("file: " + fname);
try
{
System.IO.FileStream fs = System.IO.File.Create(fname);
byte [] res = sha.ComputeHash(fs);
fs.Close();
Console.Write("0x");
foreach (var i in res)
{
Console.Write(i.ToString("X"));
}
Console.WriteLine();
Console.WriteLine("---------------------------------");
}
catch(Exception e)
{
Console.WriteLine("error: " + e);
}
}
Console.ReadKey();
}
}
}
Скачал парочку образов и решил проверить их чексуммы. Протестировал программу на скачанных файлах. Удивился, почему же у них хеши одинаковые?
eth0 05.07.2013 19:02 # +5
1) Изобрести проблему.
2) Самолично решить проблему не самым очевидным способом.
Xom94ok 05.07.2013 19:20 # +1
roman-kashitsyn 05.07.2013 19:38 # +7
Я так понимаю, скачанные файлы пришлось скачивать заново...
eth0 05.07.2013 20:54 # +1
wvxvw 05.07.2013 19:49 # +7
Xom94ok 05.07.2013 20:01 # +5
guest 05.07.2013 20:22 # +7
Xom94ok 05.07.2013 20:34 # +3
guest 05.07.2013 22:26 # 0
kegdan 05.07.2013 20:45 # 0
bormand 05.07.2013 21:05 # +3
guest 05.07.2013 22:29 # −1
bormand 05.07.2013 22:46 # 0
Из скрипта - проверю код возврата.
Из консоли - так она на stderr валит ошибки.
Что тебе не нравится, guest?
P.S. Более годный вброс по поводу *sum звучит так: "а считать sha1 от файлов в подкаталогах ты как собираешься?".
P.P.S. Или ты о том, что приведенная мной команда генерит чексуммы а не сверяет их? Тогда открой для себя опцию -c.
guest 05.07.2013 22:53 # −1
Файлы можно и самому искать, потери скорости при этом не будет.
bormand 05.07.2013 22:59 # 0
guest 05.07.2013 23:08 # 0
>Я в курсе, кэп. Я просто говорил, что вброс об этом был бы лучше вброса об обработке ошибок.
Лучше - так вбрось. Я спросил то, что мне показалось важнее.
bormand 05.07.2013 23:21 # +1
Теперь уже не интересно. Ты же уже написал, как эта проблема решается, а я согласился с данным решением.
> Я спросил то, что мне показалось важнее.
Ок.
> Какие ошибки ты собираешься показывать пользователю? Как ты собираешься показывать прогресс?
ОП'у надо было проверить файлы, а не писать мегаполезную тулзу с прогрессом и шлюхами. Эта вполне конкретная задача решается вполне конкретной командой sha1sum -c checksums. И я не думаю, что выхлоп этой команды кому-то окажется непонятным.
guest 06.07.2013 16:25 # +1
govnomonad 06.07.2013 17:32 # +2
inkanus-gray 06.07.2013 17:46 # +2
guest 06.07.2013 19:07 # 0
bormand 05.07.2013 23:31 # +1
Естественно, если бы я надумал писать гуишную прогу для сверки хешей (а я никогда не надумаю ее писать, т.к. мне это нахуй не нужно, для насущных целей мне всегда хватало и консольной, задача унылая и не интересная, и платить мне за нее явно никто не будет), то я бы не пользовался бекендом в виде *sum, а воспользовался бы какой-нибудь вменяемой криптобиблиотечкой, которой можно скармливать поток кусками, а не целиком (ну или, как вариант, есть колбеки о прогрессе расчета).
guest 06.07.2013 16:24 # 0
bormand 06.07.2013 16:35 # +3
Ну я же написал, что "я бы не пользовался бекендом в виде *sum, а воспользовался бы какой-нибудь вменяемой криптобиблиотечкой, которой можно скармливать поток кусками, а не целиком (ну или, как вариант, есть колбеки о прогрессе расчета)". Для чего, по-твоему, мне нужна загрузка кусками или колбек? А нужна она именно для индикации прогресса.
> А ты хочешь проверять файл на пару терабайт молча
Да, лично меня, (а не абстрактных юзеров моей ненаписанной сверялки сумм) такое поведение никогда не бесило.
guest 06.07.2013 16:39 # 0
guest 06.07.2013 16:40 # 0
bormand 06.07.2013 16:42 # +1
guest 06.07.2013 16:45 # 0
bormand 06.07.2013 16:57 # −1
Ты имел в виду, что если я напишу программу так, что она будет удобна не только для меня, но и для кого-то еще, то она не будет говнокодом? Ну да, в этом что-то есть. И этой мысли не хватает многим авторам опенсурсных программ.
guest 06.07.2013 17:11 # 0
А юзабилити и швабодка - вечная тема для холиваров, причем юзабилити как для юзеров, так и для программеров (в частности, в апинсорсе никогда не бывает коментов к апи, если не брать стандартные библиотеки языков).
anonimb84a2f6fd141 09.07.2013 21:39 # 0
kegdan 06.07.2013 17:30 # −1
bormand 06.07.2013 17:47 # 0
kegdan 06.07.2013 18:07 # −1
Из того, что((нет рюшечек для юзера) или (нет комментариев) или (переменные называются А, В, С)) не следует что код - говнокод.
если переменные называются не A,B,C, и есть комментарии то код может быть как говнокодом, так и годнокодом
Сие я хотел сказать)
superhackkiller1997 06.07.2013 19:32 # +1
Ты можешь посмотреть кто что открыл, какая тулза тянет ИО(iotop) и т.п. - в кедах это можно даже в гуйне поглядеть.
Ты путаешь домохозяек и юзеров, поэтому не путай.
guest 06.07.2013 19:38 # −5
eth0 06.07.2013 20:38 # 0
superhackkiller1997 06.07.2013 22:29 # −1
guest 06.07.2013 16:26 # −1
Спасибо, что ты об этом рассказал, буду знать, что ты настолько крут, что всякой хуйней не занимаешься.
bormand 06.07.2013 16:36 # +1
Да не, хуйней позаниматься можно, если она интересная или за нее платят. Но кому нужна очередная унылая сверялка сумм, коих и без меня полным-полно?
guest 06.07.2013 16:47 # 0
bormand 06.07.2013 16:47 # 0
guest 06.07.2013 16:49 # +1
eth0 06.07.2013 17:23 # +1
guest 06.07.2013 17:40 # +1
guest 06.07.2013 17:51 # 0
inkanus-gray 06.07.2013 18:02 # +1
guest 06.07.2013 19:09 # 0
bormand 06.07.2013 19:45 # 0
guest 06.07.2013 19:54 # −2
guest 06.07.2013 20:41 # −2
eth0 06.07.2013 20:37 # 0
guest 06.07.2013 16:20 # +8
Да легко: pv ubuntu.iso | sha1sum
guest 06.07.2013 16:22 # −2
bormand 06.07.2013 16:38 # 0
Выглядит примерно так:
bormand 06.07.2013 16:23 # +4
guest 08.12.2014 20:16 # 0
bormand 05.07.2013 22:59 # +2
Я в курсе, кэп. Я просто говорил, что вброс об этом был бы лучше вброса об обработке ошибок.
guest 06.07.2013 16:21 # −2
guest 06.07.2013 16:22 # −2
guest 06.07.2013 16:32 # −2
guest 06.07.2013 16:46 # −2
bormand 06.07.2013 16:50 # +3
guest 06.07.2013 16:54 # 0
guest 06.07.2013 16:55 # −1
bormand 06.07.2013 17:02 # +3
А родителя можно показывать как на бордах, во всплывающем диве при наведении на ссылку на него.
guest 06.07.2013 17:04 # −1
Для последних коментов есть сток, он только работает хуево.
inkanus-gray 06.07.2013 17:14 # 0
guest 06.07.2013 17:15 # −1
bormand 06.07.2013 17:17 # +1
Да вот в стоке не последние комменты, к сожалению. Там один коммент на тред ;(
inkanus-gray 06.07.2013 17:26 # 0
guest 06.07.2013 20:42 # 0
inkanus-gray 06.07.2013 17:18 # −1
На мой взгляд удобнее было бы по клику выполнять скроллинг на комментарий, чтобы страница не обновлялась. Возможно, даже с эффектом подмигивания преамбулы комментария. Так будет виден весь контекст.
А чтобы можно было вернуться, показывать ссылки не только на родителя, но и на потомков в разворачивающемся по клику списке.
guest 06.07.2013 17:38 # +1
Зайди на двощ и протестируй.
>преамбулы
Это типа родитель? А что если он не помещается на экране?
inkanus-gray 06.07.2013 17:40 # 0
Видел. Неюзабельно.
> А что если он не помещается на экране?
Можно сделать прокрутку по клику же.
guest 06.07.2013 17:51 # 0
Да ты охуел. Ну давай, предложи лучше.
>Можно сделать прокрутку по клику же.
Как на хабре?
inkanus-gray 06.07.2013 17:54 # 0
Мне кажется, например, что «вилка вниз» неинтуитивно работает.
guest 06.07.2013 18:11 # +1
inkanus-gray 06.07.2013 18:13 # 0
Есть такое. А если добавить кнопку для сворачивания всех деревьев потомков, так чтобы под данным комментарием оставались видимыми только корни этих деревьев?
guest 06.07.2013 18:28 # 0
eth0 06.07.2013 17:33 # 0
В линейном такой херни нет. Да и там легко отложить тред на "почитать потом", постранично.
Дискуссии не такие разветвлённые получаются, но как по мне, это только плюс.
guest 06.07.2013 17:39 # +1
eth0 06.07.2013 20:40 # 0
anonimb84a2f6fd141 07.07.2013 03:48 # 0
eth0 07.07.2013 10:26 # +1
inkanus-gray 06.07.2013 17:48 # 0
Как определять, что куда относится? Ссылки на родителя и на потомков.
Да и потом существуют компромиссные схемы с отображением двух уровней:
1. Корневые комментарии.
2. Ответы на корневые и ответы на ответы.
Примеры в действии:
А. http://holywars.ru/comments/653
Б. http://stackoverflow.com/questions/14589346/
Вроде и лесенки нет, и ветвление делать можно.
guest 06.07.2013 18:08 # +1
Первый, кто скажет съебнуть на лор - хуй.
guest 06.07.2013 18:29 # 0
guest 06.07.2013 18:34 # 0
Там просто в заголовке комментария есть ссылка на пост, на который отвечаешь, и можно удобно прыгать туда-сюда.
guest 06.07.2013 18:36 # 0
guest 06.07.2013 18:09 # +1
SO ни в жопу ни в пизду, коменты там очень неудобные и ссылка на автора не для этого. Ответы на ответы там линейные, да и формат ресурса не тот. Холиварс вообще непонятно зачем.
1024-- 07.07.2013 03:15 # 0
Примерная демонстрация:
P.S. Этот код не борется с
TauSigma 08.07.2013 12:50 # 0
1024-- 08.07.2013 15:27 # 0
Если надо скруглить уголки у каждой третьей дивки, содержащей ровно две зелёные кнопки, и всё это на странице, которую я вижу на сайте незнакомого дяди, то да.
Во-первых, тот кусок кода был написан лишь для того, чтобы каждый желающий мог выполнить его в консоли своего браузера (это не было предложением вставить код на страницу для администрации ГК) и понять, о чём я говорю. Прошу прощения, если он не оказался кроссбраузерным.
Во-вторых, я не в силах выразить в CSS условия "у ul есть <= 1 детей li" и "у ul есть > 1 детей li". Не стоит говорить и о полном условии "у ul есть <= 1 детей li и этот ul находится внутри ul, у которого есть только один ребёнок li".
К тому же, надо будет переписать условия прекращения отступов, которое станет зависеть от содержимого дерева комментариев. Либо понижать вложенность не отступами, а перемещением нужных элементов внутри DOM.
В общем, решать вопрос следует либо на сервере, либо долго думать над CSS. Для всего остального есть JS.
someone 05.07.2013 23:33 # +1
guest 06.07.2013 18:06 # 0
гм
bormand 06.07.2013 18:17 # +3
someone 07.07.2013 00:24 # +1
roman-kashitsyn 08.07.2013 15:47 # +1
bormand 08.07.2013 17:45 # +1
Протестировал программу на скачанных файлах.
P.S. Я пояснял guest'у почему fs.Close() в строке не достаточно. А про то, что в одноразовом коде на все это насрать - полностью согласен.
Stertor 09.07.2013 23:44 # −3
IKing 09.07.2013 23:46 # −4
Заходите к нам:
freepc-games.ru
guest 09.12.2014 17:02 # 0