Игроман
Вот я так и сделал. Только не уверен что сработает.
🔥
type App struct { Args map[string]interface{} }
Игроман
type App struct { Args map[string]interface{} }
Я бы сначала распарсил.
🔥
type App struct { Args map[string]interface{} }
только если ты туда писать будешь конкурентно то айайай
Игроман
Ребят, delphi вообще сегодня кто нибудь используют? Вроде бы кроссплатформенная технология. Один код - разные платформы.
Много платформенная -- это громко сказано. Но возможность такая есть. А нужна именно кроссплатформенность?
🔥
rwmutex да
Игроман
Значит пора остановиться. Видимо этот путь -- из пушки по воробьям.
Игроман
Попробую подумать в направлении конфигурационного файла.
Таршиш
Значит пора остановиться. Видимо этот путь -- из пушки по воробьям.
Тщетные потуги натянуть на го что-нибудь практичное... Эх, старая тема! Но, Вы молодцы, что пробуете! Опитимизиа Вам и удачи!
Игроман
Надо мьютексы использовать?
Огромное спасибо! ПОЛУЧИЛОСЬ!!!
Игроман
Да для Android и iOS
Много платформенной является не сама Дельфи, а ее фреймворк FMX. Но эта многоплатформенность не означает, что Вы с лёгкостью можете перекомпилить существующий проект под любую архитектуру. Вам придется сделать под каждую архитектуру отдельный проект и Вы сможете некоторый общий код делить между проектами
Игроман
Интересно, какой для Go-серверов традиционный способ установки в качестве демонов? Привязка к системному pid-файлу, например?
Maks
Обычно берут докер, делают образ который по сути инсталит прилут и потом запускается прила как ентрипоинт. Я знаю о таком способе
Maks
Ну а самому докеру можно сделать рестарт олвейс
🔥
Какое отношение к моему вопросу имеет Докер?
Ну ты спросил про способ установки тебе ответили что докер юзают обычно)
🔥
Ни разу не использовал?)
Maks
По сути докер сам демоном является а контейнер всегда запущен, потому что в нем выполняется одно единственное приложение. Пока прила крутится докер мутится. Автоматом рестартится
Игроман
Докер -- это инструментарий программиста для отладки разработанного ПО. Вместо Докера может использовпть виртуальную машину или отдельный комп, Сферу, ну и ещё есть туева хуча вариантов. Я спрашивал о другом: какие преобразования с исполняемым файлом надо сделать чтобы он стал демоном? Демон -- это служба, которая запускается при старте компьютера и выключается при выключении компьютера, при этом грамотно закрывая потоки. С каждым демоном связан системный pid-файл, который существует только пока демон работает. Вопрос был о том, кто как создаёт исполняемый файл демона при условии, что разработка ведётся на Go?
Maks
Докер это не только инструмент разработки но и инструмент деплоя с которым так же просто масштабировать приложения. По сути докер и есть демон. А приложение в нем обычное запускается.
George
"Докер - инструмент отладки" (c)
George
Весело вы тут время проводите :)
Maks
"Докер - инструмент отладки" (c)
Это как наш прошлый пациент)
🔥
Это как наш прошлый пациент)
Ушел один, пришел другой)
Таршиш
Дык на шестёрке же уже не она
Но управление то прежнее! Просто заткнули дырки после "ремонта" selinux. Не парься! Используй те же механизмы, только папку проекта раздели на две: чтобы в каждом свой cmake был. А бустер при первой же перезагрузке подхватит. Радуйся: всё уже сделали без тебя!
Таршиш
Понял. Спасибо. Остался только один вопрос: pid-файл кто должен херить: я или система?
Ну у тебя ведь в cmake есть же переменная PROJECT_NAME. Вот и неё и вычисляется имя pid-файла. Ты должен завершать демон если этот файл исчезнет, а при запуске создавай его. Хотя если ты не создашь, то за тебя его создаст система, но со своими правами. Ты можншь даже в этот файл всякую отладочную инфу писать о состоянии демона.
Таршиш
А демона запускать как root или как staff?
имя пользователя, от имени которого происходит запуск - в демонайзере -- переменная runUser. Ты должен читать оттуда ее и от этого пользователя стартовать
Maks
Узнал как делают ребята в озоне.
Maks
Как я и говорил
Maks
Билдится обычная прила
Maks
Засовывается в контейнер
Maks
И он крутится прост
Maks
Все просто и без велосипедов из прошлого века
Maks
Почему с++ программисты некоторые так категоричны. Да еще и с убеждениями порой странными. При этом судя по всему занимают якобы довольно высокую должность
Таршиш
Почему с++ программисты некоторые так категоричны. Да еще и с убеждениями порой странными. При этом судя по всему занимают якобы довольно высокую должность
Наверное потому, что они умеют четко сформулировать вопрос и отвечают всегда конкретно и по существу. Вот, например, грамотный специаллист никогда не скажет "просто крутится" потому что это ни о чем: самое главное осталось за кадром. Это все равно что на вопрос "Как Вы работаете?" ответить "Я работаю, сидя за компьютером". Почему пишущие на c++ программисты очень часто занимают высокие должности, тоже понятно: эти люди видят весь процесс от самого низкого уровня до самого высокого. И, соответственно, могут грамотным языком объяснить начальству состояние дел, коротко и ясно описывая особенности исследуемого процеса. Я ничего не имею, против гошников, питонистов, шарпистов, дельфистов. Но поскольку вопрос был про с++-программистов я ответил только за них. Надеюсь, никого не обидел.
Maks
а когда люди говорят что фронт и бэк должны работать на одном языке что бы протоколы совпадали?)
Таршиш
а когда люди говорят что фронт и бэк должны работать на одном языке что бы протоколы совпадали?)
Это значит, что человек долго работал по методикам xp или agile. Там есть набор тезисов, которые принято считать за аксиому. И это одна из аксиом.
🔥
а когда люди говорят что фронт и бэк должны работать на одном языке что бы протоколы совпадали?)
Не он ещё говорил что темплейты не нужны) и в плюсах только классы с конструкторами нужны)
🔥
Ещё что то про ООП говорил мол программирование без ООП не программирование)
🔥
Ещё на АСМ раз в год что да сделаю вполне себе без ооп работаю уже 4 года
Таршиш
Не он ещё говорил что темплейты не нужны) и в плюсах только классы с конструкторами нужны)
Под темплейтами имелось в виду обобщенное программирование? Вроде бы речь шла не о том, что они не нужны, а о том, что начинающие программисты вполне могут без них обойтись. Насколько я помню, речь шла не о темплейтах, а об уровне вхождения в язык. Кое-кто утверждал, что темплейты -- это такая суперсложная тема, делающая язык c++ чрезвычайно сложным, в то время как в Go этого нет и это хорошо! Ну так Вам ясно и грамотно ответили: без темплейтов можно обойтись. Ведь обходится же без них Go! Почему c++ не может без них обойтись?
Suleiman
Ребят язык cobol насовсем мëртв?
Таршиш
Ещё на АСМ раз в год что да сделаю вполне себе без ооп работаю уже 4 года
Вы мыслите только с одной колокольни. А попробуйте помыслить с точки зрения руководителя, ну или хотя бы с точки зрения плюсовика. Вот Вы пишете на Go микросервисы. И в Вашей компании уже накопилось порядка 5000 таких микросервисов. Каждый из них написан на Go очень профыестонально и красиво: в коде легко разбираться, все ясно -- заглчденье! И вот Вам надо этими сервисами, которые "просто крутятся" на каком-нибудь Докере управлять. Быстро управлять. Вот скажите, что Вы будете делать если Вам надо быстро перенастроить порядка 5000 сервисов, написанных на языке, не имеющем интерфейса к системе?
Таршиш
Может потому что это одна из главных фишек языка?)
Главная фишка языка c++ -- это ООП. с++ -- это обычный плоский си + ООП.
Таршиш
Главная фишка языка c++ -- это ООП. с++ -- это обычный плоский си + ООП.
Вы случайно не путаете темплейты с паттернами?
🔥
А где здесь написано паттерны?)
Таршиш
А что мы понимаем под перенастроить?)
Ну, например, вышел поиказ от минТранса использовать новый протокол передачи данных. А у Вас парк машин и все в разъездах, на каждой машине стоит по трекеру, который передает данные в старом формате
Таршиш
Ну, например, вышел поиказ от минТранса использовать новый протокол передачи данных. А у Вас парк машин и все в разъездах, на каждой машине стоит по трекеру, который передает данные в старом формате
Вам надо одновременно перенастроить 5000 микросервисов и синхронно перезапустить головной сервер. При этом время простоя системы должно быть не более 10 секунд иначе будут ДТП
🔥
Если бы стояла такая задача)
Таршиш
Я б вообще не так эту архитектуру делал)
Архитектуру в нашей стране выбирают не программисты, а менеджеры. Просто приходит приказ сверху и все. Вы не можете повлиять на ситуацию. Стандарты пишет МинТранс, а нп программисты
🔥
Ну а как сервисы то эти общатются?
🔥
Rabbitmq?
Таршиш
А где здесь написано паттерны?)
Просто темплейты это то, что в Дельфях называется Generics. Это типы данных, не привязанные к типу. Типа Array<T>, где вместо T можно подставить любой тип или класс. Только и всего. Но кто-то пустил слух, что все это супер-пупер как сложно. А у нас ведь все любят верить Гуглу! Ну вот все и поверили в ужасную сложность c++, хотя он отнюдь не сложнее Go
George
Главная фишка языка c++ -- это ООП. с++ -- это обычный плоский си + ООП.
Но этот "+" так много в себя включает, что этого хватает для отдельного языка. Перегрузка операторов, уже упомянутые темплейты, новые операторы, исключения, неймспейсы, стандартная библиотека
Таршиш
Rabbitmq?
ну, это больше для умного дома. И тут же открытое ПО: зона низких зарплат и частых авралов!
George
Согласен. Но зачем Вы в список включаете те возможности, которых нет в Go? Давайте уж по честному сравнивать!
А смысл? Циклы в любом языке есть, просто синтаксис чуть разный. Суть-то как раз в нюансах. Нет универсально лучшего языка, поэтому надо сравнивать конкретные фичи на конкретных задачах. Большая разница - пишем мы веб сервер для деплоймента в облаке или софтину для эмбеддед девайса, скромного на мощности
Таршиш
Но этот "+" так много в себя включает, что этого хватает для отдельного языка. Перегрузка операторов, уже упомянутые темплейты, новые операторы, исключения, неймспейсы, стандартная библиотека
На Го никто не нападает. Это замечательный язык, на котором легко писать сервисы! И вместе с c++ эти два языка составляли бы прекрасную пару -- симбиоз. Собственно именно поэтому сейчас копья ломаются: крупные компании хотят, не отказываясь от c++, взять на вооружение Go.
George
На Го никто не нападает. Это замечательный язык, на котором легко писать сервисы! И вместе с c++ эти два языка составляли бы прекрасную пару -- симбиоз. Собственно именно поэтому сейчас копья ломаются: крупные компании хотят, не отказываясь от c++, взять на вооружение Go.
В том и есть мой месседж. Для разных задач с разными условиями разные решения. Я как раз в компании, которая сумела одно с другим склеить (правда конкретно в нынешнем проекте С без ++).
George
Спор был не о времени изучения всего языка, а только в времени вхождения!
Тут слишком относительно всё. Что есть "вхождение", скажем. Я бы обращал внимание на качество кода. Количество косяков, иными словами. Специфика С и С++ в том, что без достаточно глубокого понимания там очень легко напортачить. После недели изучения программистом плюсов за ним надо будет исправлять куда больше ошибок, чем после недели изучения го. А сами ошибки обычно замороченнее и сложнее для понимания. Что уж там, сообщения С компиляторов о ошибках настолько недружественны, что об этом мемасы делают. В мире С за репорт о трудно понимаемой ошибке компилятора человека разве что засмеют. В Го люди реально корректируют компилятор чтобы он выдавал более читаемые ошибки. И - Идеология
Таршиш
Тут слишком относительно всё. Что есть "вхождение", скажем. Я бы обращал внимание на качество кода. Количество косяков, иными словами. Специфика С и С++ в том, что без достаточно глубокого понимания там очень легко напортачить. После недели изучения программистом плюсов за ним надо будет исправлять куда больше ошибок, чем после недели изучения го. А сами ошибки обычно замороченнее и сложнее для понимания. Что уж там, сообщения С компиляторов о ошибках настолько недружественны, что об этом мемасы делают. В мире С за репорт о трудно понимаемой ошибке компилятора человека разве что засмеют. В Го люди реально корректируют компилятор чтобы он выдавал более читаемые ошибки. И - Идеология
Про качество кода согласен. Про страхи, что "можно напортачить" могу сказать, что именно для того чтобы контролировать ошибки сушемтвуют менеджеры проектов. И они вполне со своими задачами справляются