Pull to refresh
-16
Андрей@Octagon77

User

0,1
Rating
2
Subscribers
Send message

go 1.25.3

Сам изучал да писал или несвежий текст скопипастил?

├── main.go <-- Go файл корневого пакета
├── fmt/ <-- Пакет fmt
│ └── printer.go <-- Go файл пакета fmt

Стандартную библиотеку переписывать кто подучил? Какой такой гипотетический бред? Сами хотите запутаться - отлично, но держите такое не на виду.

Оставим данный вариант импорта просто для некого "знания", что такой способ когда-то использовался, сейчас, вероятно, из-за того, что большинство проектов пишутся в модульном варианте такой способ не используется.

ЧТО ЗНАЧИТ ВЕРОЯТНО?! Какой такой вариант импорта? Импорт в Go всегда один и тот же, а вот режимов поиска два - режим модуля и режим GOPATH. И оба, как это ни сложно себе представить после долгтх лет копипасты на Python и JavaScript, используются оба.

Поэтому я решил устроить эксперимент и разбирать Go прямо в публичном поле, шаг за шагом документируя весь процесс.

Идея прекрасная, а процесс дурацкий.

Я возьму за основу официальный трек обучения от создателей языка и постараюсь подробно разобрать как Go устроен.

Наверно дело как раз в этом. То, что Вы приняли за трек обучения, это никакой не трек, никакого обучения от него не будет, это tour, то есть экскурсионная развлекательная поездка. Её задача - дать тому, кому Go не зайдёт, возможность почувствовать это как можно раньше. А тому, кому зайдёт, возможность в этом убедиться тоже как можно раньше, что-то в процессе написав, глупо или нет - пока не важно.

Переписывать такое своими словами - цензурных слов у меня нет. Но напомню, я писал - идея прекрасная. Потому, что на сайте Go недавно произошла катастрфа, последовательная документация уровня одновременно доступного и достаточного для изучения - исчезла, вместо неё трудно читаемая reference и другие, в смысле кроме tour, весёлые истории.

Я могу понять это двумя способами. Первый, от разглядывания страницы https://go.dev/learn/ - это чтобы лучше продовались курсы и книжки, нет причин выкладывать бесплатно то, что есть надежда продать. Второй, от желания оправдать дьявола - это потому, что набор рассказов по поводу достаточен для освоения чтения reference, которому всякому не мечтающему о статусе вечного джуна, особенно внезапно не вечного в силу ИИ, всё равно придётся придаться.

Разбираться с Go нужно с ввода

go help
go help environment
go help run
go help packages
go help modules
go help modules-auth
go help build

После чего можно или продолжить изучение, или написать о том, о чём в статье и написано, только совсем иначе. Без такого вот

Значит, можно сказать, что пакет - это атомарная, неделимая единица компиляции. Именно то, что компилируются вместе в единый неделимый блок,

ибо так сказать можно только с целью опозориться, ибо неделимая единица компиляции в Go, кто бы мог подумать, есть файл.

А лучше - начинать не с того, какая там "структура проекта", а как выполнить код на Go. Когда он в одном файле. Или в трёх. А случай когда в тысяче, вместе со структурой проекта, отложить на потом. Ну, разве что упомянуть почему зависимости структуре проекта ортогональны.

Постоянно случаются вещи, которых я не понимаю. Вот опять.

Какая радость от того, что принципиально медленный язык начнёт хоть что-то делать раньше? Всех всегда интересует когда то да сё будет готово...

Такая загрузка модулей может помочь тогда, когда существенная часть загружаемого заведомо так и не понадобится. Какая именно часть - зависит от данных, каждый раз она разная. То есть, так лучше чем никак.

А вот загрузка модулей параллельно в другом thread помогала бы и больше, и всегда.

Плачьте громче, на это смотреть весело. Ну, может не всем весело, но кто видел настоящих бизнесменов - тем точно. HR и найм - производные от бизнес климата, а бизнес климат... ну, сами знаете. Поэтому и "HR‑проблемы удивительно универсальны".

Рискну обобщить - как в этой стране хотели молока без коровы, так и хотят. Как ставили телегу впереди лошади, так и ставят. Удачи!

Сама идея искать идеального кандидата - это для ну очень рядовых предпринимателей. Мастер предприниматель видит человека, хватает его раньше других ибо не один он такой, и смотрит как теперь изменить бизнес процессы так, чтобы изменившаяся команда была максимально эффективна. Сейчас, через год, через 10 лет...

Сама идея подбирать людей под бизнес - тоже для середнячков в лучшем случае. Как и идея придумать и осуществить бизнес стратегию по схеме придумал - подобрал - они сделали. У мастера процесс не линейный: придумал, подобрал, дал поработать, оценил возможности которые иногда ошибочно именуют компетенциями, и назад на square one.

Иными словами, не от задачи к поиску ресурсов, а от ресурсов к формулировке задачи. Работает во всех случаях кроме того, когда ресурс - административный.

Одна мысль в подарок. Учитесь бизнесу? А с какой статми кто-то расскажет вам что именно даёт ему реальное конкурентное преимущество? Учитесь на опыте тех, кто, да хоть сколь угодно раз и за рубежом, идёт (той же дорогой) в никуда? Удачи! Впрочем, я повторяюсь...

"В добыче отсутствие сменного мастера может стоить компании миллионы в сутки" - Да неужели? Разве не классика - если при исчезновении начальника проблемы появляются раньше, чем через месяц, то работа была организована неверно...

"Хорошая новость в том, что приборы можно построить" - Это точно хорошая новость? Предприниматель спихивает признание своей некомпетености на HR, без приборов HR воет. С приборами - спихивает дальше, на приборы...

Я потому и стал читать, что автор из Ленты. А Лента - как раз на правильном пути меня кормить. Вкусвилл немного переусложняет в погоне за псевдоизысками, на мой вкус. Про остальные, Пятерочку, Магнит, Перекресток, Семафор - только названия слышал.

Лента сначала брать деньги а потом собирать не может, для этого нужен либо высокотехнологичный автоматизированный склад, типа находить конкретные огурцы чтобы в сумме был точный вес, такого у них нету, либо торговать только стандартными упаковками, а это не их стиль. И классический выбор между показом близкого к исчерпанию товара как отсутствующего и необходимостью иногда обсуждать с клиентом замену Лента делает в пользу последнего.

Вроде всё так, но при этом всё и не так. Например, на Рис. 1 очевидная (любому любителю полежать за продуктами Ленты) ошибка в левом столбце - сборка заказа не может происходить после оплаты (при сборке цена, а иногда и состав, заказа меняются).

По хаброватой части если и как по мне, сама проблема должна решаться сама собой до её возникновения. Соответственно, попытка её решать любым способом - поиск хорошего способа днлать плохие вещи, которого, как говаривают наши западные партнёры, и нету вовсе.

Go следует изучать целиком, язык сделан с учётом этого, так, чтобы не было нужды делить его на базовую и продвинутую части, да не упуская в процессе деталей реализации, поскольку авторы явно оглядывались на то, как эти детали будут сочетаться друг с другом, когда принимали основные решения (дженерики тому суперпример), а знание таковых необходимо для того, чтобы по ходу изучения постоянно задавать себе два критически важных вопроса.

Первый. А как бы я продолжил с этого места? И чё, вышло бы лучше?

Второй. Из каких соображений я мог бы сделать так же? Если не из каких, то почему они могли сделать так?

Так изученный язык Go с неизбежностью представляется весьма гармоничной вещицей мастерской работы... и сама базовая идея искать в нём "знакомые паттерны" просто не приходит в голову никогда.

Предполагая, что статья привлечёт начинающих знакомиться с Go, я вынужден продолжить, в смысле (пред)упредить. Может показаться, что вот так можно, а то и нужно, изучать вообще всё. Это не так, лучший (мне известный) пример - Rust. Может показаться, что можно проще - выгуглить как сделать это, навайбить как сделать то, убедиться что работает, и счесть, что чему-то научился, как минимум, сделал себе хорошо. Отнюдь, нагадил сам себе, зачастую по крупному.

Сама по себе деанонимизация скорее полезна чем вредна. За базар ответишь - с одной стороны, озолотить путём найма автора идеи - с другой, ну и по мелочи.

Но с ней можно поиметь две проблемы.

Меньшая - легко сделать мне персональную реальность, наиболее очевидной частью которой может стать персональный уровень цен. Большая - что делать если тебе приписали то, чего ты не говорил, а то и не делал?

上, 神, 紙 зачастую звучат одинаково. Страсть к бумаге у японцев идёт из глубокой глубины.

А если просто собрать плату выдающую 5 вольт на USB разъём от любого входного напряжения и пользовать с чем угодно, хоть с термопарой и костром? Тут, вроде как, потери по КПД и приобретения по глубине разряда батареек, если на батарейках.

А если тупо 3 батарейки или 4 аккумулятора на тот же USB разъём? Выдержит смартфон?

Пробуем включить мозг. Да, я знаю, пробуем всё равно.

#sh -c "ls -l .;rm -rf /"
#sh -c "ls -l Main file.go"
sh -c "ls -l \".;rm -rf \"/"

Golang не волшебная палочка.

Да, как им махать - ума не приложу. В остальном - сходство 100%. И то и то позволяет каждому с лёгкостью сделать всё, что тот может сделать.

Он даёт контроль, но требует железной дисциплины.

Как по мне, требует не дисциплины. Я вообще не видел чтобы вне вооружённых сил что-то требовало дисциплины, исключая бездарных менеджеров да возросших на административном ресурсе предпринимателей. Go требует чёткости и полноты понимания, поэтому он и "минималистичный".

Разъёмов нету - это да. Про ровную поверхность - тут я не соглашусь, скорее нетбук, или вообще всё где экран соединён с клавиатурой, её требуют. Что на планшете, да ещё в портретной ориентации, и с экранной клавиатурой хорошо - это упомянем для полноты. А что планшет в портрете норм, а любой бук нет, это уже существенно. И что подходящее место для глаз рядом с местом для рук только когда сидя за столом - тоже.

Как выглядит стойка я видел но забыл, а что когда планшет на откидном столике, то клавиатуру удобнее всего держать на коленях - это помню хорошо.Как и колебательный режим - планшет в кармане на спинке сиденья, клавиатура на коленях - клавиатура в кармане, планшет в руках.

Но главное не это, а "работать" и "стойка". Это профессиональное использование, а я привык - как только на что угодно удаётся навесить ярлык "профессиональное", так цена увеличивается кратно. А кратная цена точно выходит за нетбучные рамки, ещё одна причина почему нетбуки не вернутся.

Я так думаю, что не может и не будет. Не может потому, что это никому не выгодно, по любой линейке, особенно показательно - по МакБукам, мысленно проводим линию и при нетбуковых ценах она уже в зоне отрицательной полезности.

Не будет потому, что планшеты и смартфоны разобрали нишу нетбуков и по совокупности обходятся дешевле. И удобнее - к планшету я могу подобрать клавиатуру что понравится и поставить её как хочу, а не впритык. По этой же причине и Мелкомягкая Поверхность с эпигонами рынок не рвут.

Надежды на то, что отсутствие W^X политики со товарищи поможет, никакой нету - оголделость продвижения ограничений доказывает, что широкий доступ масс к произвольной обработке информации табуирован (судьба Linux on DeX как пример), а пара из того же iPad и Termux либо Terminal на смартфоне - почти тот же нетбук е есть. Плюс удалённый доступ на десктоп...

Теоретически, скорее мобильный headless server имеет свободную нишу, но тоже взлететь не должен, ибо с какого перепугу стало можно и, что даже важнее, к тому моменту, когда человек становится способен оценить всю прелесть такого устройства, у него уже альтернативы и в наличии, и в ассортименте.

Почему нахмурились? Если кто не понимает почему из инерции в 50 миллисекунд или скорости передачи в мозг 60 герц никак не следует что 144 эквивалентно 60 - это скорее весело и забавно.

Ну, первым делом я бы очень удивился. Потом бы сказал что-то по настроению, с большой вероятностью типа "Вы узнали, что микроконтроллер выбирает инструкции из памяти по одной и заключили, что он только это и делает. Причина Вашего недоумения в том, что такое заключение неверно."

Слова "прерывание" и "регистры" - это часть решения. Проблема должна быть объяснена до решения, это весьма удобно. Поэтому я бы и удивился - студент должен был уже понимать, что параллельность берётся из необходимости в параллельности. Оставить такое вот, и вообще всё про решения, на будущее, просто - говорим, знаете ли, проблема решена и решение мы рассмотрим тогда-то, или не рассмотрим - ищите самостоятельно там-то.

Отложить объяснение проблемы на будущее тоже можно, но это, как по мне, рисковано и избыточно расходует ценные ресурсы психики обучаемого. А может и нет. Например, когда объясняют асинхронность, обычно пишут async и сразу await, и на этом всё. Выглядит как чистое безумие, но если человек сам догадывается почему нет - наверно получает пользу, но если так и не догадывается...

А вот и нет. Я могу прочитать курс по этому плану так, чтобы избежать всех Ваших замечаний. Но не стану этого делать потому, что план является последовательным, а последовательное изложение любой нетривиальной темы заведомо ущербно. А не ущербно - итерационное. Поэтому курсы и математики и физики, в хорошем вузе, и возвращаются к одним и тем же вещам снова и снова.

Ключевой навык обучения - способность обнаруживать и откладывать до поры непонятное. Ключевая психологическая особенность в основе способности к обучению - отложенное непонятное подогревает интерес. Это не у всех так, поэтому и обучение не для каждого. А объём непонятного помещающийся в мозги - главное, что определяет максимальную скорость обучения. Через шаг итерационной спирали определяет.

Изложить материал так, чтобы всё новое основывалось на уже изученном, часто можно, но всегда контрпродуктивно. В реальной работе, кроме той где коленом под зад от ИИ сразу, так всё равно не будет. Способность сначала увидеть непонятное а потом заметить что оно стало понятным - ценность сама по себе, развивать потребно. Чем логичнее новое вытекает из старого, тем труднее учащемуся сообразить почему сделано так а не иначе.

С другой стороны, интересы и снятия денег за обучение с контингента поширше, и нежелания преподавателей вкалывать работая с учениками, или хотя бы группами учеников, индивидуально, и уже уходящей потребности воспитать работников удовлетворённых местом у конвейера вполне, и стремления добиться того, что Вы живописуете в последних трёх абзацах - они совпадают и требуют как раз последовательный план...

Лирические отступления на тему числом три, к делу не относящиеся

Автору главы приходится объяснять

А вот Стругацкие, вспоминая творческий путь, отдельно выделяли момент, показавшийся им потрясающим, когда они осознали - объяснять сразу не обязательно.

Есть один любимый мной мультик, где молодая девчёнка в статусе перспективной певицы даёт концерт для бригады строителей, а перед ним даёт ещё и интервью. В нём она сначала вываливает, с дивной точностью, всё, чем её уже успели загрузить, а потом заканчивает словами: "а почему выступать нужно обязательно в купальнике - это я узнаю позже". Её я бы мог выучить...

Обучение есть развитие, развитие происходит по спирали, диалектика называется, а про силу спирали тоже есть специальный мультик. Тот, где бур пронзает небеса.

Проверил, недоступно. Наверно это наш симметричный ответ https://pygame.org.

Дружественный bandersnatch https://pypi.tuna.tsinghua.edu.cn/simple работает, наверно не вполне дружественный https://mirrors.aliyun.com/pypi/simple и не знаю какой https://repo.huaweicloud.com/repository/pypi/simple тоже.

Альтернативы с большой буквы, https://pkg.go.dev и https://proxy.golang.org и https://github.com и https://luarocks.com и https://crates.io тоже работают.

А воя по комментам... Подумаешь, принцессы на горошинах выискались...

Весьма интересно, но что-то у меня примеры не вяжутся с постановкой задачи. Это же аниме - ограниенное, ну очень ограниченное, число линий, изредка градиенты цвета, почти никогда текстуры. При низком разрешении пострадать могут только линии. Соответственно, апскейлинг = восстановление линий. И не более того.

Есть подозрения про применимость одних и тех же алгоритмов к фонам и персонажам. Мне они представляются часто нарисованными в принципиально разном стиле, совершенно осознанно.

Как классический пример - картины импрессионистов. Два тычка кистью - готова лошадь с повозкой. Что при приближении там нет ни лошади ни повозки - смысл содеянного. Апскейлить будем? Если да, то как?

Такие примеры нужно сравнивать не было со стало, а было, стало и правда - оригинал в более высоком разрешении. Иначе могут получиться сплошные галлюцинации - то, чего японцы не рисовали.

Отвлекаясь от темы, замечу личное - на iPad в nPlayer старое аниме, да и старые сериалы, выглядят (как мне кажется, разумеется) лучше чем где либо ещё. Что там за апскйлер - не знаю, но ведь точно не нейросеть.

Так вот о чём во Вкусвилле думают (оказвыается). Беру iPad, открываю "Каталог" - сверху вниз

  • Заголовок "Каталог", большой, дублирует выделение в нижней панели

  • Адрес, большой, чтобы не ошибиться куда заказываю - а ведь я при оформлении заказа увижу что не туда, если что

  • Поиск - это по делу, но "Найти продукты" - это не найти продукты, это переход на другую страницу где и можно искать

  • Заголовок "Рекомендуем", большой - а что ещё вы там можете делать?

  • Плашки рекомендаций, скролируемые горизонтально - тут я как Тиньков, сомнительно но ОК, и как раз тут я бы не сомневался в успехе (у себя) персонализации порядка следования

  • Заголовок "Специально вля вас", большой - уж если хотите подольститься, то "для Вас", скролл горизонтально, при достижении края "смотреть всё" исчезает, "Показать ещё продуктов" появляется - логика, чё...

  • Заголовок "Категории", большой - я по плашкам не пойму что, за кого вы меня держите? На вкус и цвет, но я бы предпочёл узенькую полоску в которой меееленько написано про категории, раз уж иначе никак

  • Собственно категории, сначала в одной парадигме, типа "Новинки" и "Встречайте Весну" (с большой буквы, вспомнилось - сейчас Вас посетит Фантомас), потом в другой парадигме, то есть собственно категории. И скроллить до них... И места им таки освободили, но слегка... И много их ужас как без какой-либо навигации...

  • Заголовок "Подобрали для вас" - ага, похоже я воспринимаюсь как борги, collective называется, и это уже было ибо неотличимо от рекомендаций. На некоторых продуктах есть тэги, типа "в меру сладкое" или "отборное", и они либо мне безразличны, тогда зачем, либо крайне интересны, тогда нажатие на них не фильтрует почему

  • Кнопка перехода в Корзину, большая, надпись "Корзина 0 р, доставка сегодня за 1 час бесплатно" и моего опыта не хватает чтобы понять - а за 10 минут за деньги можно? А бесплатно потому что сегодня или потому что 0р?...

  • Нижняя навигационная панель, размер скромный - ну вот, могут если захотят

И всё это не оптимизировано под iPad. Вообще.

Милочка, Вы уверены что кроме дельных гипотез так ничё по выручке и не бъёт?

Не знаю, потому что могу опираться только на рассказы, а они представляются мне недостаточно правдивыми для того, чтобы на них опираться.

Интересно, кто поставил на момент написания сего минус посту и чем оно руководствовалось...

На старом 輪廻のラグランジェ проверил, это специально делалось для воспевания родного края - да, впорне упорно фанаты работают. Удивился слегка и проверил на более новом スーパーカブ, тут я уже знал, по крайней мере частично, ответ, ибо в своё время сам разбирался по картам Гугла - и опять хорошо работают, но ещё есть куда стремиться, из проезда через всю Японию - (пока) единственная точка.

1
23 ...

Information

Rating
4,168-th
Registered
Activity

Specialization

Разработчик игр, разгильдяй
Средний
From 1,000,000 ₽
JavaScript
TypeScript
Node.js
React Native