Используй «String.Empty» вместо «""», «Environment.NewLine» вместо «"\r\n"».
parseResult должно быть не String, а StringBuilder.
Прогони исходник через StyleCop и бинарник через FxCop.
Освой Linq, чтоб не городить ненужных циклов.
Ссылка на «Visual Studio 2010 Ultimate» ведёт на скачивание триальной версии. Эта версия — она потом может быть зарегистрирована или другим способом оплачена? Или нужно будет скачивать образ или покупать коробку с другим вариантом дистрибутива?
Александр, спасибо! Отличный скринкаст, равно как и про TDD.
Практически всё из изложенного знал и понимал раньше, но — почти не использовал. Так что для меня подобные скринкасты являются скорее мотивационными, чем информационными. И это прекрасно! Прочитать про best practices — это одно, а посмотреть код, сопровождаемый живыми комментариями — куда нагляднее!
>>Работаете под правами администратора?
>Да. Я дурак?
Есть простая эвристика — если дело займёт две минуты, то его стоит сделать сразу же, не хороня^W откладывая в список ToDo.
Так вот, заведите себе пользователя с пониженными привилегиями _прямо сейчас_. Чтоб впредь было не стыдно ходить на Хабр. (Ведь это ресурс вроде как продвинутых айтишников; а вы тут — из под админского аккаунта, facepalm же!)
Второе — переходите на Windows 7. Да, она стоит дорого; но она, чёрт возьми, стоит тех денег, как никто другой.
Поразбирайтесь с UAC, поковыряйте оснастку его многочисленных настроек в mmc, установите для себя паритет безопасность/удобство (но можно оставить и по умолчанию).
Эти нехитрые мероприятия безусловно не являются достаточными для защиты от абсолютно всех атак. Но — чем сложней препятствия для злоумышленника, тем более сложный код ему придётся написать. Чем объёмней и сложнее код, тем больше вероятность выявления антивирусом. Большинству вирусописателей просто невыгодно тратить чрезмерно много усилий для победы 10% более-менее грамотных пользователей, им достаточно 90% неквалифицированных, которые до сих пор сидят под админскими учётками и являются лёгкой мишенью.
Вы фундаментально не правы. ru.wikipedia.org/wiki/Принцип_Керкгоффса:
«Другими словами, при оценке надёжности шифрования необходимо предполагать, что противник знает об используемой системе шифрования всё, кроме применяемых ключей.»
Автор, очевидно, думает, что он объявил константный указатель на константу? В таком случае ему стоит взять учебник по Си за первый класс и таки обращать внимание на предупреждения компилятора.
Недавно купил принтер, там не было инструкции ни на русском, ни на английском. Только на языках Восточной Европы. Так вот, на украинском он назывался вполне себе «принтер» [прынтэр].
Вы как хотите, а «равлик» вместо собаки, имхо, категорически кошерен, посему показан к употреблению :)
Про cookies — до захода под кат думал, что перевели тупо как «печиво» [пэчыво], ан нет, перевели в стопицот раз круче :)
Тут возможна неоднозначность. Есть версии Фреймворка: 2.0, 3.5, 4.0. Есть версии языка C#: 2.0, 3.0, 4.0 соответственно. Есть версии CLR: 2.0.50727, 2.0.50727 (sic!), 4.0.20506 соответственно.
Но — да, наверное, они имели в виду вторую версию версию фреймворка, языка и рантайма.
Есть вопрос, правда не по ACM, а по TopCoder SRM's.
На оф. сайте в списке языков заявлен C# но, в отличие от C++, не указано окружение.
Какая версия языка там используется? Разрешён ли C# 3.0 (LINQ, lambdas, type inference, etc)?
>Мы хотели бы найти гнезда хороших российских программистов. Места, где они общаются. Было предположение, что Хабр — одно из таких мест.
Гнездо российских программистов — это RSDN. А Хабр — это гнездо ойтишнегов.
Ваши посты весьма полезны, что бы там ни говорили критики. Но к их мнению тоже стоит прислушаться. Картинки «было—стало», побольше математики, ссылки на статьи, рекомендации литературы — совсем не помешали бы.
>Так ведь хорошая книга или Интернет все равно даст больше информации.
С течением времени вероятность существования необходимой информации в сети увеличивается, а вероятность её нахождения уменьшается. Потому что забивается шумом, студенческими рефератами, статьями на Хабре, etc. Так что помощь в нахождении качественной и точной информации всегда приветствуется.
parseResult должно быть не String, а StringBuilder.
Прогони исходник через StyleCop и бинарник через FxCop.
Освой Linq, чтоб не городить ненужных циклов.
Практически всё из изложенного знал и понимал раньше, но — почти не использовал. Так что для меня подобные скринкасты являются скорее мотивационными, чем информационными. И это прекрасно! Прочитать про best practices — это одно, а посмотреть код, сопровождаемый живыми комментариями — куда нагляднее!
>Да. Я дурак?
Есть простая эвристика — если дело займёт две минуты, то его стоит сделать сразу же, не хороня^W откладывая в список ToDo.
Так вот, заведите себе пользователя с пониженными привилегиями _прямо сейчас_. Чтоб впредь было не стыдно ходить на Хабр. (Ведь это ресурс вроде как продвинутых айтишников; а вы тут — из под админского аккаунта, facepalm же!)
Второе — переходите на Windows 7. Да, она стоит дорого; но она, чёрт возьми, стоит тех денег, как никто другой.
Поразбирайтесь с UAC, поковыряйте оснастку его многочисленных настроек в mmc, установите для себя паритет безопасность/удобство (но можно оставить и по умолчанию).
Эти нехитрые мероприятия безусловно не являются достаточными для защиты от абсолютно всех атак. Но — чем сложней препятствия для злоумышленника, тем более сложный код ему придётся написать. Чем объёмней и сложнее код, тем больше вероятность выявления антивирусом. Большинству вирусописателей просто невыгодно тратить чрезмерно много усилий для победы 10% более-менее грамотных пользователей, им достаточно 90% неквалифицированных, которые до сих пор сидят под админскими учётками и являются лёгкой мишенью.
Предлагаю вычеркнуть себя из числа последних.
Я это даже на всякий случай перепроверил только что, сконвертировал картинку в grayscale — скрытая надпись по-прежнему легко читается.
ru.wikipedia.org/wiki/Принцип_Керкгоффса:
«Другими словами, при оценке надёжности шифрования необходимо предполагать, что противник знает об используемой системе шифрования всё, кроме применяемых ключей.»
Автор, очевидно, думает, что он объявил константный указатель на константу? В таком случае ему стоит взять учебник по Си за первый класс и таки обращать внимание на предупреждения компилятора.
Правильно так: «const char* const msg = "Hello World!\n";»
Или так: «char const* const msg = "Hello World!\n";»
Facepalm.
Вы как хотите, а «равлик» вместо собаки, имхо, категорически кошерен, посему показан к употреблению :)
Про cookies — до захода под кат думал, что перевели тупо как «печиво» [пэчыво], ан нет, перевели в стопицот раз круче :)
А вот «двотиски» и «ґудзики» — это маразм, да.
Но — да, наверное, они имели в виду вторую версию версию фреймворка, языка и рантайма.
На оф. сайте в списке языков заявлен C# но, в отличие от C++, не указано окружение.
Какая версия языка там используется? Разрешён ли C# 3.0 (LINQ, lambdas, type inference, etc)?
Гнездо российских программистов — это RSDN. А Хабр — это гнездо ойтишнегов.
Ваши посты весьма полезны, что бы там ни говорили критики. Но к их мнению тоже стоит прислушаться. Картинки «было—стало», побольше математики, ссылки на статьи, рекомендации литературы — совсем не помешали бы.
>Так ведь хорошая книга или Интернет все равно даст больше информации.
С течением времени вероятность существования необходимой информации в сети увеличивается, а вероятность её нахождения уменьшается. Потому что забивается шумом, студенческими рефератами, статьями на Хабре, etc. Так что помощь в нахождении качественной и точной информации всегда приветствуется.
Лучше трактовать не как угол между прямой и осью ординат, а как угол между нормалью и осью абсцисс.