Простите, но уровень лекций — «ниже плинтуса». Может, это слишком субъективно, но я не смог досмотреть ни одной лекции. Хватило терпения только на 3. Я понимаю — парни волнуются, они разработчики, а не преподаватели. Но тем более тогда лучше сделать публичную версию специально отснятой — с монтажем, дублями и т.п. Видео и так очень отстает от книг в плане скорости подачи информации, а в этих лекциях скорость становится просто черепашьей, к сожалению. ИМХО, книга Кернигана и Донована за аналогичное время даст больше информации и основы go будут понятнее.
Так никто и не утверждает, что лучше. Никто не агитирует за рипы с винила в flac. Иногда просто приятно вспомнить. Тут важен не контент, а воспоминания/эмоции, связанные с прослушиванием этого контента в прошлом. Я слушаю периодически Высоцкого — есть контент, очищенный от шума пластинок/пленок, а есть «рипнутый» как есть. Так вот второй мне иногда нравится больше, потому что вытаскивает воспоминания из детства… заметьте, я не «ною», не «вздыхаю» и не «онанирую» :)
Жаль. Совсем отвык от бумажных книг. А это какая-то юридическая особенность — у вас права на распространение именно печатной версии? Т.е. распространение электронной версии вам не разрешено или издательство считает этот вариант нерентабельным, к примеру?
я погорячился. Можно, конечно, и так тестировать.
ИМХО, у Финча вариант изящнее, а вариант Герранда более трудоемкий.
Спасибо за ссылки, первую положил в закладки — вдруг пригодится…
Подозреваю, что считали кодом все строки, которые не являются комментарием или пустой строкой. Возможно, 500 тысяч строк — это все репозитории с github.com/juju. В оригинале нет каких-то дополнительных сведений о методике подсчета. (Информация о том, что комментарии не учитывались, есть и в переводе)
Если честно, не понял… с exec.Command вы будете вызывать бинарник целиком; при этом вам надо как-то заставить его выполнить функцию, которая может вызвать os.Exit() и проверить код возврата. Здесь речь идет о
go test
и тестировании отдельных функций — запуском бинарника вы в этом случае не управляете. Да и это уже поведенческое тестирование, а не модульное…
Один из рецептов и приведен в статье. Можно ссылку, где почитать о других рецептах?
Про подход — наверное, да… я, кроме go, хорошо знаком только с python, и в нем есть такая общепринятая практика `if __name__ == '__main__"`… особенность go в том, что в нем недостаточно превратить функцию main в «однострочник» — все содержимое пакета main недоступно для импорта
Иногда приходится делать выбор. Например, между оверхэдом потоков информации между микросервисами и излишней связностью монолита. Команда, в которой работал автор, выбрала монолит. А как бы оно было, если бы команда выбрала микросервисы, никто не знает. Вряд ли кому-нибудь захочется переделать 500к строк кода на микросервисную архитектуру, чтобы посмотреть — как оно будет…
А сравнение с проектом на C# некорректное, да — там были другие люди, да и неизвестно, как он развивался. Вполне вероятно, что Juju на C# тоже бы не падало в продакшене. Автор просто восхищается тем, что Juju в продакшене не падал, а предыдущий проект вспоминается с «содроганием» :) Для «поделиться ощущениями» вполне пойдет, как аргумент в сравнении — вряд ли.
Пожалуйста. Вам спасибо за отзыв. Для меня это новый опыт. Читаю на английском достаточно много, но для себя — это одно, можно просто уловить суть и продолжать дальше. А для других переводить — это, оказывается, очень трудно и непросто.
Вот уж совпало, так совпало…
Я ловил ошибки, пытаясь применить именованные параметры по докам mysql (вида param). Бегло прочитал про paramstyle и установил его в pyformat. Попробовал %(param)s — сработало, обрадовался, хотя paramstyle в действительности не причем. Если я правильно понимаю, то этот атрибут модуля носит информативный характер, т.е. автор модуля этим атрибутом указывает способ форматирования параметров. Копание в исходниках показывает, что он нигде не используется и никуда не передается.
Здесь же. И про сахар и соль отличные статьи.
Жаль. Совсем отвык от бумажных книг. А это какая-то юридическая особенность — у вас права на распространение именно печатной версии? Т.е. распространение электронной версии вам не разрешено или издательство считает этот вариант нерентабельным, к примеру?
Да, насчет
я погорячился. Можно, конечно, и так тестировать.
ИМХО, у Финча вариант изящнее, а вариант Герранда более трудоемкий.
Спасибо за ссылки, первую положил в закладки — вдруг пригодится…
Один из рецептов и приведен в статье. Можно ссылку, где почитать о других рецептах?
А сравнение с проектом на C# некорректное, да — там были другие люди, да и неизвестно, как он развивался. Вполне вероятно, что Juju на C# тоже бы не падало в продакшене. Автор просто восхищается тем, что Juju в продакшене не падал, а предыдущий проект вспоминается с «содроганием» :) Для «поделиться ощущениями» вполне пойдет, как аргумент в сравнении — вряд ли.
выводит
LIKE '\'; select 1'
Т.е. защита от инъекций все-таки есть.
Я ловил ошибки, пытаясь применить именованные параметры по докам mysql (вида param). Бегло прочитал про paramstyle и установил его в pyformat. Попробовал %(param)s — сработало, обрадовался, хотя paramstyle в действительности не причем. Если я правильно понимаю, то этот атрибут модуля носит информативный характер, т.е. автор модуля этим атрибутом указывает способ форматирования параметров. Копание в исходниках показывает, что он нигде не используется и никуда не передается.
В MySQLdb paramstyle == 'format', по умолчанию. Выставил в 'pyformat', теперь работает так:
Единственное, в данном модуле не получится использовать %d, например. П.ч. все аргументы прогоняются через db.literal(), который возвращает строку.