• Что скажете о моей реализации логирования?

    1. Заменить строки константами, желательно числовыми. Будет меньше вероятности ошибиться, ибо константы проверяются при компиляции, плюс, работать будет быстрее (в случае числовых констант).
    2. Стоит попробовать RabbitMq для управления очередью записи в БД вместо велосипеда. Или можно попробовать специализированные БД, которые созданы именно для хранения логов.
    Ответ написан
    7 комментариев
  • Какую GO либу посоветуете для написания демонов?

    Supervisor, и будет вам счастье.
    Ответ написан
    Комментировать
  • Long polling запрос блокирует другие ajax запросы?

    Stalker_RED
    @Stalker_RED
    Если на сервере php, и используется сессия, то возможно, что запрос блокируется из-за нее. Попробуйте принудительно вызвать session_commit().
    Ответ написан
    2 комментария
  • Как сделать проверку использования аккаунта на одном устройстве?

    Winsik
    @Winsik
    сис.админ, недопрограммист :)
    https://panopticlick.eff.org/ - тут есть pdf-ка " How Unique Is Your Browser?" с описанием как индентифицировать любое устройство на основе кучи параметров
    Ответ написан
    Комментировать
  • Поможет ли такая система безопасности?

    saboteur_kiev
    @saboteur_kiev Куратор тега Информационная безопасность
    software engineer
    Как админ игровых серверов с опытом, я вам скажу вот что.

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

    Все остальные защиты - могут помочь могут не помочь, а вот бэкапы и логи - ваше главное оружие, которое может спасти от большинства проблем.
    Ответ написан
    4 комментария
  • Поможет ли такая система безопасности?

    @vilgeforce
    Раздолбай и программист
    Если добудут ваши файлы на GO и ключ состоит из печатных символов - выдерут на раз. Это первое. Даже если не из печатных - все равно выдерут.
    Далее, у вас в таблице pass и salt, совершенно не ясно как из введенного юзером пароля с использованием соли получается то что в таблице, тут может быть 1001 косяк.
    Ну и TEA, как по мне - быстрый и простой алгоритм, что сильно облегчит задачу перебора. Думаю в FPGA среднего пошиба можно залить пару сотен ядер для его вычисления.
    Ответ написан
    1 комментарий
  • Поможет ли такая система безопасности?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Так что без де компиляции Go узнать свою строку не выйдет.

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

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

    дешифровка

    дешифровка чего? пароля? Данных? Пароль должен хэшироваться (например bcrypt), что бы его нельзя было раскукожить обратно.
    Ответ написан
    7 комментариев
  • Как правильно сделать локализацию на уровне шаблонов?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    https://github.com/nicksnyder/go-i18n

    и не надо ничего выдумывать. И ради бога, называйте все осмысленно, не in1 а welcome и не in2 а exit
    Ответ написан
    1 комментарий
  • Как открыть свой хостинг?

    @younghacker
    Прежде всего определитесь с целью, для чего Вам полноценный хостинг.
    Просто чтобы было... Сделать хостинг, поиграться и затем продать. Или же построить бизнес.
    Если поиграться и продать, то помните что основной ценностью являются только "живые" клиенты, а не оборудование и самописанные вебпанельки у правления хостингом.
    Если построить бизнес, то изучайте бизнеспроцессы, маркетинг, управление персоналом. Здесь не играет большой роли что это хостинг или автомобилестроение.
    Для любого бизнеса жизненно важно умение продавать. Иначе это просто увлечение и для его содержания нужны немалые время и деньги. Сервера стоят дорого, а устаревают быстро. Диски последних лет "летят" не отслужив гарантийного срока и часто меняются на такие-же refurbished, remanufaсtured и вылетают за концом гарантийного срока. А стоят дорого. Ещё одна задачка с которой однозначно столкнётся быстро растущий бизнес это покупка IPv4 адресов. Персонал. Где найти настоящих работников которые будут ваше радеть за дело как за своё и вкладывать в него свою душу, так же как и вы?

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

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

    А в общем в добрый путь.

    PS.
    Облака это только красивая рекламная уловка.
    Ответ написан
    Комментировать
  • Как открыть свой хостинг?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    теперь научитесь администрировать сервера.
    (ну и научится гуглить неплохо-бы).
    Ответ написан
    2 комментария
  • Почему крупные проекты регистрируют домены в RU-CENTER-RU?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    руцентр - оператор домена ru (ну и рф до кучи), не факт, что регистрируют прямо у него, но крупные, понятное дело, заключают договора, им нет смысла связываться с посредником
    Ответ написан
    2 комментария
  • Как безопасно работать с sql?

    @kshvakov
    это напрямую зависит от используемого драйвера, go database/sql за это не отвечает https://golang.org/src/database/sql/sql.go?s=25224...

    можно сделать "драйвер" который какраз "заменяет значение через эскейпинг" и привет иньекция

    судя по плейсхолдеру это у вас mysql, если используете go-sql-driver то все ок

    https://github.com/go-sql-driver/mysql/blob/master...
    https://github.com/go-sql-driver/mysql/blob/master...

    он использует "подготовленный" запрос, на сервер "отдельно" уйдет запрос и отдельно данные, в запрос ничего драйвер не запихает
    Ответ написан
    8 комментариев
  • Будет ли польза в такой затеи?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Если будете делать то же API что и в php то не стоит. Да и потом большая часть этого добра есть в стандартной библиотеке.

    А что-то чего не хватает - да, можно запилить как отдельну библиотеку. Например расстояние левенштейна между двумя строками.
    Ответ написан
    Комментировать
  • Будет ли польза в такой затеи?

    littleguga
    @littleguga
    Не стыдно не знать, а стыдно не интересоваться.
    Если аналогичная функция не присутствует в go в чистом виде, то можно.
    Можете попробовать сделать сайт для "быстрого" перехода с php на go.(на подобии youmightnotneedjquery(функции по категориям и их аналог))
    Ответ написан
    Комментировать
  • Перспективы у языка GO?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    1) Язык - проще некуда. Его собственно и стали разрабатывать как человеческую замену плюсам.
    2) Огромное количество библиотек, любую задачу можно решить на нём уже сейчас.
    3) Скорость и компилируемость.

    Вот поэтому лично я (и не только я, как выяснилось) считаю его лучшим "общим" языком программирования сегодня, именно Go нужно преподавать в школах вместо Pascal. Он прост для понимания и строг как Pascal, и в то же время прикладной, как Python. Вот пруф: Go как первый язык программирования для школьников

    p.s. ответ не топикстартеру, а всем программистам, кто прочитает. Топикстартер явно не программист и не собирается им быть.
    Ответ написан
    5 комментариев
  • Перспективы у языка GO?

    @lavrentiev
    Back-end разработчик
    А мне понравилось, можно выносить трудоемкие процессы на GO. и + кроссплатформенность и все так легко и просто :)
    Ответ написан
    1 комментарий
  • Перспективы у языка GO?

    MAKAPOH
    @MAKAPOH
    многостаночник
    сложен ли этот язык ?

    Мне как человеку который до этого писал на С++ и python этот язык показался проще некуда. Спецификация на весь язык читается за один день, и через 3-5 дней экспериментов уже можно писать приемлемый код. Так же простота оборачивается ещё одним плюсом - исходники чужих проектов легко читать и понимать. В отличие от того же питона где метакласс на метаклассе и завёрнут в декоратор :). Понять ход выполнения программы бывает проблематично.
    Ответ написан
    3 комментария
  • Как в GO обыграть момент с созданием глобальной константы []string / map[string]string?

    bitver
    @bitver
    Slice и map по определению динамические, т.е. работают с кучей, если их не оптимизирует компилятор. Константами они быть не могут, примерно такая идеология у создателей.
    А создавать вы можете и без init() просто в своём коде вместо const используйте var
    P.S. Чтобы вместо slice использовать обычный массив (скорость наше всё), то пишите [...]string {"param1", "param2"}
    Ответ написан
    1 комментарий
  • Как бы вы сделали проверку на запуск второго экземпляра программы?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    memba:
    PID файл не нужно блокировать.
    Посмотрите что лежит внутри файлов /var/run
    все pid файлы внутри хранят номер процесса. Поэтому файл не нужно блокировать, нужно просто проверять наличие файла, считвыать из него номер процесса и проверять существует ли такой процесс.
    Если не существует - значит предыдущее выполнение программы было завершено некорректно.

    Файл потому и называется PID, что в нем лежит PID ;)
    Ответ написан
    2 комментария
  • Как бы вы сделали проверку на запуск второго экземпляра программы?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Пидфайл -> проверка существования процесса по pid -> если уже существует:
    * да -> закрыть
    * нет -> удалить пидфайл, если есть -> запустить

    -----

    Есть альтернативный вариант запуска: через supervisor
    Ответ написан
    3 комментария