Ответы пользователя по тегу Go
  • Возможна ли полноценная разработка на Go под Windows?

    @qweqwa
    Редкие пакеты Go ведут себя по иному в различных операционных системах.
    Скажем, не работает syslog даже в MacOS X. Ну и в Windows не работает.
    Так как это является специфической для операционной системы вещью.

    Большая часть же программ на Go - является абсолютно переносимой.


    Конечно, если ты заточешься на использования чисто Windows API, то программа не переедет просто так. Но ты обязательно заметишь, что ты затачивашься на Windows, так как для этого тебе понадобятся дополнительные специальные пакеты для Windows.

    При этом если твоя работа ограничена сетью, файлами - то нет никакой необходимости затачиваться под Windows. Твоя программа будет идентично работать под любой платформой.

    Как только ты начинаешь писать пользовательский интерфейс, то тут и возникает привязка. А как ты будешь писать пользовательский интерфейс? Если через web, то нет никакой привязки к Windows.

    Если ты же ты пожелаешь использовать оконную систему Windows, то уже появляется привязка к Windows.

    Есть еще т.н. кросс-системные библиотеки пользовательского интерфейса (Qt и т.п.), на них, к примеру, написан LiteIDE (это такое IDE под Go, которое написано с помощью самого Go). Посмотри его исходники.

    LiteIDE - не привязан к операционной системе. Хотя и обладает вполне себе приемлимым пользовательским десктопным интерфейсом.

    Насколько я знаю разработка на языках Python, Ruby, PHP под Windows имеет много нюансов. Не работают многие стандартные функции данных языков. Заточен ли Go также под Unix подобные системы так же, как, интерпритируемые языки ?. Или же на нем как на C++, можно писать под любую систему Но платформенно зависимые программы ?


    Что-то вы не то знаете.
    Все эти языки примерно одинаково переносимы между платформами.

    Исключения лежат на поверхности:

    если вы будете использовать пути файлов в стиле Windows ( C:\mycatalog\myfile ) или в стиле Unix ( /mycatalog/myfile ). Но вас никто не заставляет это делать. Так как внутри стандартных библиотек всех этих языков, как правило есть функции, которые позволяют работать с именами файлов независимо от системы.

    также не получится работать с сокетами unix если вы под Windows. Если вы всегда используете TCP/IP, то нет никаких проблем с переносимостью.

    Если вы про то, что программы не идеально работают на других системах, то это не проблема Windows. Вы можете написать на С++ программу на Ubuntu 14.04 LTS и она не скомпилируется на Ubuntu 16.04 LTS.
    Ответ написан
  • Куда писать обращения к сервисам?

    @qweqwa
    Ответ написан
    Комментировать
  • Как отправить данные при помощи канала в определённую Go рутину?

    @qweqwa
    https://habrahabr.ru/post/278349/

    Интересные способы использования Go каналов

    Я написал этот пост, чтобы задокументировать доклад про Go каналы Джона Грэм-Камминга на конференции GopherCon 2014. Доклад назывался «Краткое руководство по каналам» и он доступен для просмотра на youtube.com.

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

    Следующие примеры демонстрируют различные техники, как использовать каналы в Go. Код был специально упрощен для их понимания. Не стоит его использовать для продакшн версий. Например, пропущены все обработки ошибок.
    Ответ написан
    Комментировать
  • Как включить/отключить определённую службу Windows на golang?

    @qweqwa
    Останови службу вручную без прав администратора. Не получается? Ковыряй "групповые политики Windows", чтобы добавить прав. Go это отношения не имеет.

    Как создавать/удалять/запускать/устанавливать программой, написанной на Go - см. тут
    https://github.com/kardianos/service/blob/master/s...

    Программа самой собой как сервисом управляет, но нет никакой разницы.
    Ответ написан
    Комментировать
  • Как делать правильно?

    @qweqwa
    Если речь идет о деньгах, то сервер должен проверять как минимум все ключевые моменты. Опытные разработчики игр так и говорят: "считайте всех игроков читерами априори".
    Ответ написан
    Комментировать
  • Как оптимизировать?

    @qweqwa
    Посмотрите как это реализовано в готовых хороших API-фреймворках

    https://github.com/emicklei/go-restful
    https://github.com/nytimes/gizmo
    https://github.com/myodc/go-micro
    https://github.com/koding/kite
    Ответ написан
    Комментировать