Вдогонку про идею
Та проблема в IntelliJ IDEA, о которой я писал месяц назад, оказывается была пофикшена практически через день. JetBrains, малаццы.
Программизм, Юзабилитиidea, jetbrains, Программизм, ЮзабилитиМай 11, 2010
Комментариев нет
Романтичный балбес
Та проблема в IntelliJ IDEA, о которой я писал месяц назад, оказывается была пофикшена практически через день. JetBrains, малаццы.
Программизм, Юзабилитиidea, jetbrains, Программизм, ЮзабилитиМай 11, 2010
Комментариев нет
Ситуация такая. Есть сишарповый проект (интересный проект, если вы понимаете о чём я). В файловой системе в исходниках этого проекта есть пустая папка. В csproj-файле её нету. Задача — добавить эту папку в проект.
В контекстном меню пункт Add -> Existing item не позволяет добавлять папки, только файлы. Пункт Add -> New folder, естественно, не даёт создать папку с нужным именем, потому что она уже есть.
НЕНАВИСТЬ.
Программизм, Юзабилитиvisual studio 2010, НЕНАВИСТЬ, Программизм, работа, ЮзабилитиАпрель 22, 2010
Один комментарий
Печально, но дотнетовский System.Collections.Generic.HashSet<T> не имплементит System.Collections.ICollection. Из-за этого МС-овский же Microsoft.VisualStudio.TestTools.UnitTesting.CollectionAssert.AreEquivalent() безбожно не компилирутеся.
var hashSet = new HashSet();
CollectionAssert.AreEquivalent(new string[]{}, hashSet);
Error 125 The best overloaded method match for 'Microsoft.VisualStudio.TestTools.UnitTesting.CollectionAssert.AreEquivalent(System.Collections.ICollection, System.Collections.ICollection)' has some invalid arguments.
Вот такая хрень компилируется, но, что неудивительно, падает при попытке привести хэшсет к ICollection. Это ещё печальнее:
var hashSet = new HashSet();
CollectionAssert.AreEquivalent(new string[]{}, (ICollection)hashSet);
System.InvalidCastException: Unable to cast object of type 'System.Collections.Generic.HashSet`1[System.String]' to type 'System.Collections.ICollection'.
Вот такая ерунда работает ок, но выглядит как костыль (собственно, им и является):
var hashSet = new HashSet();
CollectionAssert.AreEquivalent(new string[]{}, new List<string>(hashSet));
Приходится писать свой хелпер.
Мир несовершенен, друзья. Любите его, чините его, и он будет лучше.
Программизм, Рабочее.net, C#, CollectionAssert, HashSet, mstest, ПрограммизмФевраль 09, 2010
2 комментария
По традиции публикую неофициальный список беларусов, участвующих в очередном раунде Google Code Jam. Полужирным выделены товарищи, прошедшие в R2. Читаем дальше
ПрограммизмGoogle Code Jam 2009, ПрограммизмСентябрь 13, 2009
3 комментария
Сделал списочек участников из Беларуси, которые участвовали в квале. Всего 65 человек, 61 из которых проходит в Online Round 1.
НовостиGoogle Code Jam 2009, ПрограммизмСентябрь 04, 2009
9 комментариев
Только что принял участие в сабже. Результаты будут завтра. Задачки несложные. Кто хочет — можно присоединяться, потому что регистрация открыта будет ещё почти сутки.
UPD: Прошёл квал, решив все задачки. Первый раунд — на следующих выходных.
Товарищ
Антон подсказал остроумное решение первой задачи (Alien Language). Вкратце напомню её суть.
Дан набор слов языка и несколько шаблонов вида типа такого: abc(xy)d(gf). Буквы в скобках означают, что на месте этих скобок может быть любая из этих букв. То есть, шаблону выше удовлетворяют следующие слова: abcxdg, abcydg, abcxdf и abcydf. Необходимо найти для каждого из заданных шаблонов, сколько слов из словаря им соответствуют.
Задача при заданных там ограничениях решается в лоб. Самый крутой способ (который я узнал от Антона) — это преобразовать шаблон в регексп, заменив круглые скобки на квадратные :) Тогда задача решается буквально в пару строчек на руби путем проверки каждого слова словаря на соотвествие этому регекспу. Любуйтесь короче:
l, d, n = gets.split(' ').map { |w| w.to_i } dictionary = Array.new(d) { |i| gets.chomp } 1.upto(n) do |test_no| pattern = gets.chomp.gsub('(', '[').gsub(')', ']') regex = Regexp.new(pattern) count = dictionary.select { |word| regex =~ word }.size puts "Case ##{test_no}: #{count}" end
ПрограммизмGoogle Code Jam 2009, ПрограммизмСентябрь 03, 2009
Комментариев нет
Читая унылый хабр, наткнулся на забавный перевод термина Duck Typing — утипизация. А чё, остроумно.
Программизм, Языкиduck typing, загоны, Программизм, утипизация, языковедческоеСентябрь 02, 2009
Комментариев нет
Можно ли в винде, например, скопать в буфер обмена пустую стоку? Чтобы при вставке вместо выделенного текста именно она невозбранно и вставлялась? А в этих ваших линуксах и прочих системах?
Если да, то как? Если нет, то почему?
Программизмlinux, windows, буфер обмена, извращения, ПрограммизмМай 19, 2009
Комментариев нет
Самый простой, эффективный и быстрый метод выучить язык SQL — тренироваться. Скажу откровенно: можно много умных книжек, статей и документации прочитать по SQL, но без практики знания наверняка будут малоприменимыми. Так вот, самый лучший способ тренироваться — решать упражнения по SQL на сайте sql-ex.ru. Задачи там начинаются с очень простых и постепенно усложняются. Я, честно говоря, до последней пока не добрался — завис на 137-м упражнении.
Да, еще немаловажен тот факт, что на сайте есть рейтинг участников и система выдачи сертификатов участникам, решившим определенное количество задач. Я считаю, что качество сертификата c sql-ex позволяет быть уверенным в глубоком понимании языка SQL его обладателем. Кроме того, обладание сертификатом «All requirements» поднимает ЧСВ на несколько пунктов.
ПрограммизмSQL, sql-ex.ru, Программизм, Чудо-сайтыФевраль 07, 2009
Комментариев нет
Как известно, в расово-верной ОС Виндовс довольно затруднительно использовать командную строку с той же эффективностью, как это можно было бы сделать во всяких линуксах. Однако, существуют костыли, позволяющие эту ситуацию подпереть.
Lifehack, ПрограммизмFAR manager, Lifehack, linux, linux shell, Total Commander, windows, windows shell, ПрограммизмЯнварь 21, 2009
2 комментария