Denis
Советую обходиться без ORM, грязный PHPшник ))
Ахах))) Мимо) Есть какие то особые преимущества в данном подходе?
Najdak
достаточно стандартной библиотеки
Najdak
можно добавить sqlx для удобного написания запросов
Najdak
чтоб руками не мапить в структуры
Denis
Спасибо, ознакомлюсь с этим вопросом подробнее 👍🏼
Dilame
Как сделать, чтобы при импорте “crypto/tls” импортировалась моя копия этого пакета?
Rostislav
еще возможно что-то такое можно сделать с новой фичей workspaces, но я не знаю, не разбирался еще
Rostislav
посмотри директиву replace для файла go.mod
и еще есть какой-то проект на гитхабе, который это упрощает, но название не скажу
Dilame
Что-то replace не работает. Подскажите, пожалуйста, как правильно кастомизировать модуль crypto? Я скопировал весь модуль в корень своего проекта, но куча ошибок вроде “Use of the internal package is not allowed”
Dilame
покажите строку с реплейсом
replace crypto/tls => ./packages/crypto
Rostislav
такое ощущение, что где-то есть папка internal и из-за этого не работает
Илья
Илья
./packages/crypto/tls
или replace crypto => ./packages/crypto
Илья
так и должно быть
Rostislav
ну и кстати реплейс тоже поправить хорошо бы. Как пишут
Dilame
или replace crypto => ./packages/crypto
Да, так тоже пробовал. Действительно, косяк был, но я просто пробовал все способы)
Dilame
Похоже, он не реплейсит корневые модули вот так просто
Rostislav
ну дело в том, что не получится импортнуть internal.
Dilame
ну дело в том, что не получится импортнуть internal.
Так ведь этот интернал же тоже скопирован:(
Rostislav
дело не в этом. Имя папки internal накладывает запрет на импорт
Rostislav
специально, чтобы вот так никто не делал
Rostislav
его могут импортить только пакеты на том же уровне
Dilame
специально, чтобы вот так никто не делал
А почему так нельзя делать?) Мне очень надо
Илья
А почему так нельзя делать?) Мне очень надо
специально, чтобы вот так никто не делал его могут импортить только пакеты на том же уровне
Dilame
С идеологической точки зрения
Rostislav
Потому что в них не публичный интерфейс, который может менятся. И разработчики пакета не гарантируют, что он не поменяется. Если он скопирован, то можно его переименовать например, но это сломает код в других папках. Если он не используется, то может и норм выйдет
Dilame
Потому что в них не публичный интерфейс, который может менятся. И разработчики пакета не гарантируют, что он не поменяется. Если он скопирован, то можно его переименовать например, но это сломает код в других папках. Если он не используется, то может и норм выйдет
Так мне же надо на уровне проекта кастомизировать. Я беру на себя ответственность за то, что интерфейс может поменяться. Но я просто не собираюсь использовать корневой модуль, я хочу использовать только кастомизированную версию только на уровне своего проекта
Rostislav
просто переименуй тогда
Dilame
просто переименуй тогда
Что именно переименовать? Папку internal?
Rostislav
ага
Rostislav
но это тогда странно выйдет. Легче будет просто скопировать нужный код
Илья
Что именно переименовать? Папку internal?
умные мысли часто преследовали его....
Dilame
но это тогда странно выйдет. Легче будет просто скопировать нужный код
Похоже, так тоже не работает. Там есть ещё импорт "internal/cpu”, и это выглядит как необходимость копировать весь SDK в проект. А как вообще в go кастомизируют модули? Я видел на гитхабе несколько библиотек, которые это делают
Rostislav
Похоже, так тоже не работает. Там есть ещё импорт "internal/cpu”, и это выглядит как необходимость копировать весь SDK в проект. А как вообще в go кастомизируют модули? Я видел на гитхабе несколько библиотек, которые это делают
ну да, придется копировать все зависимости. cpu этот тоже и все что еще понадобится. Как кастомизируют не знаю, но полагаю что делают обертки над существующими, а не меняют их внутренности. А если надо внутренности менять, то вот так вот выдергивают.
Кіт ✙
а вот вопрос, в данном случае если n = 0, гарантированно ли будет вызвана функция handleData?
Vladislav
а вот вопрос, в данном случае если n = 0, гарантированно ли будет вызвана функция handleData?
выражения, разделённые || будут вычисляться по порядку слева направо до первого true
Vladislav
насчёт самих условий
Vladislav
> Implementations of Read are discouraged from returning a zero byte count with a nil error, except when len(p) == 0. Callers should treat a return of 0 and nil as indicating that nothing happened; in particular it does not indicate EOF.
Vladislav
может быть такое, что ошибка есть и тогда он до handleData не дойдёт попросту
Rostislav
а вот вопрос, в данном случае если n = 0, гарантированно ли будет вызвана функция handleData?
как же это сложно читать. А еще, если так не писать, то ответить на вопрос самому будет гораздо легче же. Раздели на несколько if'ов
Rostislav
я про то, что есть довольно идиоматичная конструкция if err != nil, я когда вижу, что в этом же условии еще что-то есть, у меня руки опускаются) ибо лень сидеть в голове компилировать эти И ИЛИ
kostyaBro
Да хз норм читается
Grigory
а вот вопрос, в данном случае если n = 0, гарантированно ли будет вызвана функция handleData?
Тут проблема что все кейсы в один намешаны и потом сложнее будет причину ошибки отследить
G
а вот вопрос, в данном случае если n = 0, гарантированно ли будет вызвана функция handleData?
Если handleData возвращает err, то я бы его отдельным выражением проверял. Потому что err бывает очень полезно логировать. Было бы полезно... Надо бы залогировать... Тонко намекаю 😊
ортем
здравствуйте, господа
ортем
можете посоветовать материалов для ознакомления с языком? есть хороший опыт питона, и хотелось бы найти туториал на пару часов, но времени на солидную литературу нет
ортем
yesmeta.xyz 👋
понял принял
Grigory
можете посоветовать материалов для ознакомления с языком? есть хороший опыт питона, и хотелось бы найти туториал на пару часов, но времени на солидную литературу нет
туториала на пару часов нет из-за того, что это слишком разные языки для старта готур да и еще книжка тут есть в доках
ортем
большое спасибо
Grigory
Из за того, что голэнг язык программирования
вы не устали однотипные шутки шутить про питон?
Emin Zalaev
Vladislav
у меня, кстати, есть кое-что
Vladislav
но оно для VIP-пользователей гошки
Vladislav
там таки вещи прописаны
Vladislav
спека?
ты меня раскусил
Кіт ✙
Тут проблема что все кейсы в один намешаны и потом сложнее будет причину ошибки отследить
ну, причин ошибки может быть всего 2. Ошибки от ядра, в таком случае нам только и остаётся, что закрывать подключение. И дисконнект клиента, в таком случае в handleData отправляется пустой слайс, сигнализирующий об этом самом отключении пофикшено, handleData() теперь в самом начале
Vladislav
Чуть больше месяца назад стал доступен плагин с искусственным интеллектом для сред разработки GitHub Copilot. За месяц этот проект сумел: - набрать 400 000 подписчиков - спровоцировать отказ от использования GitHub рядом Open Source проектов входящих в Software Freedom Conservancy. Причиной конфликта как ни странно стало то, что GitHub обучает нейросеть на всей открытой кодовой базе несмотря на тип лицензии. А так как GitHub крупнейшая в мире площадка для хранения кода, то желание отказаться от использования выглядит как "На зло соседу отморожу уши" - Вызвать споры о безопасности генерируемого им кода. Основой для этих споров послужило исследование Нью-Йорксого университета под названием "Asleep at the Keyboard? Assessing the Security of GitHub Copilot's Code Contributions". В этом исследование воссоздали 89 различных сценариев уязвимости в 1689 программах. И в 40% случаев код оказался уязвим. GitHub Copilot - один из первых продуктов, где пользователь напрямую и явно взаимодействует с нейронной сетью. И судя по тому, что в файлах, где Copilot активирован, он пишет от 35 до 40 процентов кода, то пользователям эта функция зашла. Я пользуюсь GitHub Copilot с момента релиза и у меня сложилось крайне положительное впечатление о нем. Copilot с легкостью дописывает код для веб ручек, генерирует sql запросы. Да, после него коду требуется небольшой рефакторинг. Но несмотря на это, этот плагин must have для веб разработчика. Но когда касаешься работы в специфичных областях таких как работа с графическими библиотеками, пишешь код под продукты Adobe Substance или Unreal Engine 5 то Copilot лучше отключить. Так как тут он начинает скорее мешать, чем помогать. И это легко объясняется тем, что кодовая база для решения специфических задач в открытом доступе отсутствует. Наверное самый обидный момент, что этот продукт недоступен большинству разработчиков из РФ из-за невозможности оплатить подписку. Если уже успели оценить GitHub Copilot, то как он вам? Сильно упростил работу? Усложнил? Ждем ваше мнение о GitHub Copilot в комментариях
Vladislav
Кто то реально пользовался этим?
Юра (Юрий Александрович)
Нет, и пока не планирую. Своего говнокода в коде хватает, не хватало еще в чужом разбираться.