Maks
но в целом я понял что так это тоже будет работать
Maks
А как иде настроить что бы не ругался)
Игроман
вот такое решает проблему? самый go way из доступных, по мне (ошибка IDE - не ошибка, лень конфиг править из-за примера)
То есть при компиляции подключать разные файлы. А если потребовалось сделать изменения кода, то надо продублировать все изменения во всех файлах. Я бы не стал так делать
Maks
у тебя так же будет если будут дефайны
George
То есть при компиляции подключать разные файлы. А если потребовалось сделать изменения кода, то надо продублировать все изменения во всех файлах. Я бы не стал так делать
это потому и разные файлы, что в них разный код. Если изменения нужны будут во всех файлах -- значит скорее всего этот концепт использован неправильно и приложение плохо задизайнено
Maks
именно так
Maks
если будет иф елс то тоже самое получается, надо в ветвлении менять код
Alexey
Всем доброго дня. Подскажите пакедж для го для управления headless chrome? Если таковые имеются. Спасибо.
Игроман
Maks
Но это надо будет делать только в одном файле.
и у тебя будет скомпилирован не используемый код
Игроман
и у тебя будет скомпилирован не используемый код
Нет, что касается плюсов, то там этого не будет. Ну, а что касается Go, то, да будет неиспользуемый код. Другого выхода нет
Maks
Почему это в плюсах не будет
Maks
у тебя же есть логика
Maks
ветвления
Maks
только если макросы не использовать или препроцессорные команды
Maks
но тут аналог этих препроцессорных команд
Игроман
Почему это в плюсах не будет
Потому что в плюсах это будет в compile-time, а в го -- в runtime
Maks
ты не понял опять
Maks
похоже
Maks
Го тоже компайл тайм
Maks
всмысле у тебя в плюсах есть if env dev then 1 else 2
Игроман
Если у меня код, анализирующий параметры командной строки, в которой передаются параметры
Игроман
В го ведь нет препроцессора
Игроман
То, что для си опции компиляции, для го будут опции запуска. А в коде будет анализироваться os.Args
Maks
Ну смотри. У тебя код анализирует параметры командной строки, параметры запуска соответственно
Maks
Верно?
Игроман
И с этой целью использую пакет os
Maks
Ну вот, ты запускаешь свое ++ приложение и в параметры передаешь env=prod
Maks
То получается у тебя кусок кода будет всегда проверять чему равен енв
Maks
И во вторую часть кода конда енв равен другому программа никогда не попадет
Maks
Но код у тебя этот в скомпилмпованном состоянии будет
Maks
В плюсах для этого пропроцессор есть, в шарпе тоже, когда ты можешь не биндить какую то часть при определенных условиях. Эти условия в го при сборке тоже сделать можно
Maks
Просто го заставляет больше думать над дизайном приложения (дизайн не внешний а внутренний)
Игроман
То получается у тебя кусок кода будет всегда проверять чему равен енв
В момент компиляции ещё неизвестно, с какими параметрами будет запускаться программа.
Игроман
А в чем вопрос?
Maks
Но например я знаю что у меня дев и тест сборки не должны чего то делать. Я беру и на стадии компиляции убираю эти возможности. И код остается более прямолинейным
Maks
Экономия в 2-3 байта по размеру кода выйдет
Ты не прав это раз, если можно избежать иф то нужно это делать это два.
Maks
И ты не знаешь сколько у тебя там будет в ветвлении еще задействовано
Игроман
Ты не прав это раз, если можно избежать иф то нужно это делать это два.
Пусть будет излишний код. Зато меньше проблем на стадии поддержки. На стадии поддержки вообще код не должен перекомпиляться. Проект закрыт и передан в службу поддержки. Программисты уже заняты другими делами. Никто не будет заморачиваться с перекомпиляцией.
Suleiman
Пацаны, можно ли поставить старенькую видеокарту (PCI 2.0) в разъем PCI 3.0? Это не повредит материнку?
George
George
Вообще с разъёмами просто - если физически подходит (без вбивания молотком), значит совместим.
Таршиш
Кому-нибудь удавалось скомпилить go-приложение в WebAssembly? Кто нить уже пробовал?
Suleiman
Да
Ремонтировать не пробовал?
George
Выйти из строя может из-за статики, например. Или остаточного заряда при установке (ибо перед установкой надо не только выключить из розетки, но и нажать после этого на кнопку питания чтобы конденсаторы разрядить)
Sergey
Hello Guys Такой вопрос А есть где нибудь best practice структура проекта Где к примеру хранить text fixtures и есть ли смысл выносить тесты для package'a если файлов тестов больше чем самого кода Или к примеру отдельно unit тесты отдельно benchmark
Sergey
Понятно это есть flat структура - но это для маленьких
Dmitry
https://github.com/codeship/go-best-practices
🔥
Вы в го для push нотификаций на ios и android что юзаете?
𝕌ℕ𝔼𝕏ℙ𝔼ℂ𝕋𝔼𝔻
Понятно это есть flat структура - но это для маленьких
Flat и для крупных проектов используют, часто вижу такую структуру на гитхаб
𝕌ℕ𝔼𝕏ℙ𝔼ℂ𝕋𝔼𝔻
Maks
Без вендора же тоже можно вроде работать даже если внешние пакеты юзаешь. Они как я понял в директорию гопас грузятся в таком случае. Это так?
Maks
Я сначала немного батхертил с реализации интерфейсов в го, которые больше похожи на протоколы, но в целом понял что это одного поля ягоды, так как итог всегда один, что реализация интерфейсов в шарпе, что в пхп, что в любом другом языке. Просто приходится больше самому следить и думать
🔥
Приложения
Maks
У гугла и у андроид есть гайдлайн по пушам
🔥
FCN и APNS
Ну это понятно) Я про либы спрашивал
Maks
Да че там либы то)
Maks
Там делов то
.
Hey guys Does anyone have some courses for ethical hacking or pentest with Golang?!
Maks
Любой вопрос нужно задавать в первую очередь относительно не языка а само по себе. Специфичные вещи это уже конкретная реализация. Так что даже не вижу смысла стараться подсказывать тем кто спрашивает про этичный хакинг в контексте языка
.
English?!
.
Гей, хлопці Хтось має якісь курси етичного хакерства чи пентесту з Голангом ?!
.
I have this book But i want some video courses
Игроман
Как передать в горутину параметры, определенные в главном модуле кроме как в параметрах самой горутины?
Игроман
Поскольку в Go нет препроцессора и, соответственно, нет возможности использовать условную компиляцию, я решил заполнить этот пробел с помощью параметров командной строки. Но, видимо, для этого придется нагромоздить трехэтажную логику, которая будет вообще затемнять основной функционал. В общем ищу ещё доступные в Go способы замены условной компиляции. Что посоветуете?
Игроман
Кросскомпиляция -- это не условная компиляция!
George
То, что в го используется для кросскопиляции, ровно так же можно использовать и для условной. Потому что первое - частный случай второго
Dmitry
Игроман
a) Build constraints b) ldflags -X
ldflags у меня вообще почему-то ошибку выдают. Любые значения валят прогу.