По-хорошему, такую ситуацию должен отлавливать линтер. go vet это должен отследить в рамках проверки на useless assignments.
Когда дженерики сделают (а их сделают, работа над proposal активно ведется), возможное наличие Optional не будет противоречить гошной концепции ошибок как значений, это скорее про избежание nil pointer dereference. Просто функция будет иметь сигнатуру вида: func MyFunc[type T](s string) (Optional[T], error)
Eitherможет не вписаться в текущую концепцию, потому что есть случаи, когда функция хоть и возвращает ошибку, но при этом возвращает какое-то значение
Судя по тому, что на мобильных устройствах Flutter не использует родные виджеты, а сам отрисовывает виджеты, которые только мимикрируют под родные — ни о какой поддержке Gtk, Qt и прочих тулкитов речи и быть не может
Одна из самых полезных вещей, которую дает утиная типизация (и не только в Go, а вообще) — всегда можно пойти от реализации к абстракции (а не наоборот), не допуская преждевременного введения тысячи ненужных слоев этой самой абстракции.
Чтобы убедиться, что структура реализует интерфейс, достаточно запустить компилятор. Он покажет, каких методов не хватает.
Если писать на Go идеоматично, то такая проблема не должна возникать часто, потому что в Go принято интерфейсы делать максимально узкими.
На самом деле его обрубок все еще работает, но с большими ограничениями. Ряд вызовов API все еще не вызывает срабатывание установки статуса online. Отправить сообщение не получится, но прочитать сообщения или полистать ленту вроде бы можно до сих пор
А про разрешения, активность в фоне — да, обычно этим и интересуется та аудитория, которую описываете вы
После того, как я из задания E достал Makefile, shell-скрипты и их код на go, и указал им на их ошибку по почте, мне вообще больше не ответили ни да, ни нет, просто молчание.
Тут надо сказать "спасибо" компании HP, которая не предоставила нормальных драйверов, а лишь проприетарный плагин, который работает не всегда стабильно
Спасибо, когда-то приходилось додумываться до этого самому, теперь людям будет проще находить решение такой проблемы.
Более того, можно даже написать
if data[0] == '"' {
Нетипизированная константа (руна '"') спокойно преобразовывается компилятором в byte, поскольку значение 34 все еще в диапазоне 0..255. А код становится немного понятнее для человека
Насколько я помню, только какие-то единичные телефоны на Android имеют уровень безопасности разблокировки по лицу, сопоставимый с TrueDepth у iPhone. Все остальные обманываются при помощи простых фото/видео
Интересно, что в программе присутствует gometalinter, хотя он deprecated автором уже скоро как полтора года, и сам автор рекомендует использовать golangci-lint.
На самом деле, середнячковые модели M-серии в плане блоатвари лучше флагманов S-серии — условно полезные штуки есть на всех самсунгах, а ненужного говна на M-серии значительно меньше. И еще — часть блоатварей отключается через Package Disabler, главное — не перестараться
4-дюймовые айфоны были весьма хороши во времена по iOS 9 включительно (то есть как раз на старте iPhone SE). Примерно с iOS 10 начались изменения дизайна системы и сторонних приложений в сторону гигантомании в угоду большим размерам экранов у старших моделей. Порой казалось, будто их на 4-дюймовом экране даже не тестировали, настолько громадными и чужеродными казались некоторые элементы UI
Вот только в репозиториях Ubuntu 18.04 wine-stable имеет версию 3.0, wine-development — 3.6. Подключение сторонних репозиториев и есть то самое нарушение best practices.
По-хорошему, такую ситуацию должен отлавливать линтер.
go vet
это должен отследить в рамках проверки наuseless assignments
.Когда дженерики сделают (а их сделают, работа над proposal активно ведется), возможное наличие
Optional
не будет противоречить гошной концепции ошибок как значений, это скорее про избежание nil pointer dereference. Просто функция будет иметь сигнатуру вида:func MyFunc[type T](s string) (Optional[T], error)
Either
может не вписаться в текущую концепцию, потому что есть случаи, когда функция хоть и возвращает ошибку, но при этом возвращает какое-то значениеТак даже и про Google Toolbar помнят сейчас единицы, хотя про Яндекс Бар помнят все
Судя по тому, что на мобильных устройствах Flutter не использует родные виджеты, а сам отрисовывает виджеты, которые только мимикрируют под родные — ни о какой поддержке Gtk, Qt и прочих тулкитов речи и быть не может
Одна из самых полезных вещей, которую дает утиная типизация (и не только в Go, а вообще) — всегда можно пойти от реализации к абстракции (а не наоборот), не допуская преждевременного введения тысячи ненужных слоев этой самой абстракции.
Если писать на Go идеоматично, то такая проблема не должна возникать часто, потому что в Go принято интерфейсы делать максимально узкими.
На самом деле его обрубок все еще работает, но с большими ограничениями. Ряд вызовов API все еще не вызывает срабатывание установки статуса online. Отправить сообщение не получится, но прочитать сообщения или полистать ленту вроде бы можно до сих пор
А про разрешения, активность в фоне — да, обычно этим и интересуется та аудитория, которую описываете вы
Очень многие используют альтернативные клиенты просто с целью использования всяких "режимов невидимок" и прочего сомнительного содержания
Строки в Go иммутабельны, при выполнении конкатенации каждый раз создаётся новая строка.
Странно делать такой вывод, если знакомство хотя бы с одним из языков — поверхностное
После того, как я из задания E достал Makefile, shell-скрипты и их код на go, и указал им на их ошибку по почте, мне вообще больше не ответили ни да, ни нет, просто молчание.
Увы, до сих пор в немаленьком количестве лаптопов в Windows тачпад видится системой как мышь
пруф?
Тут надо сказать "спасибо" компании HP, которая не предоставила нормальных драйверов, а лишь проприетарный плагин, который работает не всегда стабильно
У многих слишком стереотипное представление об интровертах
Спасибо, когда-то приходилось додумываться до этого самому, теперь людям будет проще находить решение такой проблемы.
Более того, можно даже написать
Нетипизированная константа (руна
'"'
) спокойно преобразовывается компилятором вbyte
, поскольку значение34
все еще в диапазоне0..255
. А код становится немного понятнее для человекаНасколько я помню, только какие-то единичные телефоны на Android имеют уровень безопасности разблокировки по лицу, сопоставимый с TrueDepth у iPhone. Все остальные обманываются при помощи простых фото/видео
Интересно, что в программе присутствует gometalinter, хотя он deprecated автором уже скоро как полтора года, и сам автор рекомендует использовать golangci-lint.
На самом деле, середнячковые модели M-серии в плане блоатвари лучше флагманов S-серии — условно полезные штуки есть на всех самсунгах, а ненужного говна на M-серии значительно меньше. И еще — часть блоатварей отключается через Package Disabler, главное — не перестараться
4-дюймовые айфоны были весьма хороши во времена по iOS 9 включительно (то есть как раз на старте iPhone SE). Примерно с iOS 10 начались изменения дизайна системы и сторонних приложений в сторону гигантомании в угоду большим размерам экранов у старших моделей. Порой казалось, будто их на 4-дюймовом экране даже не тестировали, настолько громадными и чужеродными казались некоторые элементы UI
Вот только в репозиториях Ubuntu 18.04 wine-stable имеет версию 3.0, wine-development — 3.6. Подключение сторонних репозиториев и есть то самое нарушение best practices.
Спасибо, не знал. Для таких вещей как федора ожидаешь адекватных настроек по умолчанию, и все-таки они есть.
Шрифты можно, а фонтконфиг с убунтовскими патчами — сложно