Делайте так, как это делает StringIO:
i = self.buf.find('\n', self.pos)
Так что это значит:
pos = msg.find("\n")
first_line = msg[:pos]
...
Кажется более элегантным, чем использование всего StringIO ...
SELECT slotnumber, fileid, rank
FROM
(
SELECT slotnumber, fileid, Schedules.rank, RANK() OVER (PARTITION BY slotnumber ORDER BY Schedules.rank DESC) as rankfunc
FROM Schedules
INNER JOIN PlaylistSlots ON Schedules.playlistid = PlaylistSlots.playlistid
) tmp
WHERE rankfunc = 1
Просматривали ли вы функции SQL Server (начиная с 2005 г.) PARTITION и RANK ?
Я только что посмотрел 30-минутный ролик IoC о внедрении зависимостей Unity, сделанный Дэвидом Хайденом, и почувствовал, что это хорошее объяснение с примерами. Вот отрывок из примечаний к выставке:
Скринкаст показывает несколько распространенных способов использования Unity IoC, таких как: