Задать вопрос
  • Как не упустить relocation bonus?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    У компаний очень разные условия, надо честно поговорить с тем кто принимает тебя на работу. Этот бонус носит как мотивационный характер (что бы вы выбрали именно их компанию) так и выполняет роль сглаживающего эффекта от переезда на первое время (что улучшает позицию нового сотрудника в первые месяцы, снимает стресс и вообще делает возможность сам переездж).
    Так что ваша прописка и регистрация роли особой не играет, конечно если вам не попалась компания с жутким формализмом.
    То что вы будете в конечном итоге жить в своём жилье для компании только плюс, хотя ипотека и не самое удачное решение.
    Ответ написан
    Комментировать
  • Крышка на ПК должна быть открыта или закрыта для лучшего охлаждения?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Термодинамика:)
    Ответ написан
    Комментировать
  • Какой MacBook Pro взять для разработки?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Если нужна мобильность, то MacBook Air 13, если не программить, а типо "бизнес" то некоторым нравится 11' версия, хотя есть и программисты.
    Если же выбор пал на MacBook Pro то это однозначно потребности в Photoshop и монтаже видео, для всего остального он слишком тяжёл, дорог и быстр.
    Ответ написан
    8 комментариев
  • Как разбить массив?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Сделайте цикл или посмотрите есть ли такой сплит в вашем языке программирования.
    Ответ написан
    Комментировать
  • Скрипт удаления картинок старше 2 дней с сервера это возможно на php?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Давайте попробуем разобраться.
    1. вам нужно научиться удалять конкретный файл по конкретному адресу
    2. вам нужно научиться получать список файлов конкретного каталога
    3. вам нужно научиться либо проверять конкретный адрес файла на дату создания файла и выбирать те что старше 2 дней либо научиться в пункте 2 получать список только тех файлов которые уже старше 2 дней
    4. вам нужно научиться запускать скрипт каждую неделю через cron

    Вот когда пройдётесь по этому списку, подтяните знания тогда всё и получится.
    Ответ написан
    1 комментарий
  • Как сделать serialize?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    <?php
        $a = array(
            0 => 53,
            1 => 55,
            2 => 56
        );
    
        $b = serialize($a);
        echo $b; # a:3:{i:0;i:53;i:1;i:55;i:2;i:56;}

    А у вас что-то странное. Может кто-то и знает.
    Ответ написан
    2 комментария
  • SQLite в лендингах?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Научитесь генерировать статические файлы:) А исходники для генерации можно хранить где угодно, хоть в SQLite хоть в ini файлах, хоть в BerkeleyDB если уж сильно хочется... На хостинге нет MySQL?
    Ответ написан
    Комментировать
  • Как сделать чтобы cron выполнял одну и ту же задачу параллельно в одно и то же время?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Лучше использовать start-stop-daemon что бы не ждать окончания выполнения.
    Вы уверены что это именно cron выдаёт? Может быть это сам скрипт на питоне видет что копия уже запущена и убивается сам или убивает предыдущую копию. В обычном сценарии cron только запускает (причём произвольные) команды на выполнение.
    Протестируйте на другой программе.
    Ответ написан
    Комментировать
  • Что за язык Go, и где его можно хостить?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Хостить можно где угодно. Но чисто шаринг-хостинги полноценно не подойдут.
    1. на шаринг-хостингах почти никогда нельзя открыть порт для входящих соединений (веб-сервер на Golang уже не запустишь, точнее работать-то он будет, но порт не откроет)
    2. на шаринг-хостингах часто нельзя вызывать fork(), тобишь создавать процессы, что бы Golang самопроизвольно не падал - нужно в коде сознательно запретить вызов fork(), посмотрте описание библиотеки runtime
    3. на шаринг-хостингах Golang можно запустить как и любой другой бинарник, достаточно иметь доступ по консоли, возможность что-то запустить через cron или разрешённый вызов exec и его аналоги в PHP

    С другой стороны, стоимость отличного VPS с SSD на 22 гигабайта, полноценным ядром процессора и 512 мегабайтами оперативки стоит в DigitalOcean 5$...

    В качестве первого языка стоит посмотреть на школьную программу:
    1. Turbo/Borland Pascal
    2. Си/Си++
    3. Лого Миры
    4. Delphi
    5. Ничто не мешает в этот перечень добавить Golang, он отлично вписывается, ведь главные составляющие там есть.
    Плюс обучение программированию - это ещё и алгоритмы и подходы, а никак не фреймворки и hello world странички в интернете... Так что Yii, Drupal и прочие радости PHP мира тут явно не в тему.
    Ответ написан
    Комментировать
  • Как правильно установить фильтр перед всеми маршрутами в beego?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Сделай два добавления, один для /* другой для /
    Ответ написан
  • Debian или Ubuntu ставить на сервер?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Тоесть причина миграции на убунту только наличие свежих пакетов? Есть чёткое правило - использовать надо ту операционную систему в которой лучше всего разбираешься. Посмотрите в сторону других дистрибутивов, потому что разницы особой между двумя вышеперчисленными почти нет.
    Сам использую Gentoo, много лет, доволен и глаза не красные:)
    Ответ написан
    6 комментариев
  • Как вы обрабатываете связи в Базе Данных в приложении на Go?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Попробуйте вообще отказаться от структур там где не нужно явно добавлять к ним методы. Ничто не мешает вам сделать столько переменных нужных типов сколько вам нужно... и оперировать ими как угодно.

    Ну или попробуйте дописать нужный механизм в sqlx, всё польза будет:)

    P.S. Знаю что топик изрядно старый, просто новых нет:)
    Ответ написан
    4 комментария
  • Какой правильный подход при записи в закрытый канал в Go?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Что бы "потушить" генератор - надо отправить ему сообщение "хватит работать". Он сможет его прочитать между итерациями и принять решение "работать ли дальше" или "не работать дальше".
    Что бы это сделать посмотри на реализацию GetCommand и GetLastCommand в файле https://github.com/mantyr/runner/blob/master/chan.go

    Это всего лишь один из вариантов реализации. Можно как-то упростить, отправлять не текст, а bool или иногда вместо "next" команды используется чтение другого канала (например time.After()) для равномерного выполнения команд по времени. Пример использования GetCommand есть в Readme https://github.com/mantyr/runner/ , GetLastCommand делает тоже самое, только пропускает все имеющиеся сообщения и отдаёт только последнее (иными словами ждёт когда все задачи в очереди выплеснуться и канал станет не занятым и только тогда возвращает последнее значение).

    Гуглить можно по теме "Golang start stop goroutines"
    Ответ написан
    Комментировать
  • Какой php WebSockets server вы используете?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Перешёл на Golang и сделал WebSockets сервер для себя на нём. Есть в планах модуль-интерфейс для PHP. и если вам такое нужно - можете мне написать, обсудим. skype: mantyr
    Ответ написан
    Комментировать
  • Почему mysql возвращает ошибку?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Школьник, ты по одной задаче открыл тонну связанных вопросов... учись группировать данные.
    Ответ написан
  • Как сделать переменную глобальной на все пакеты в golang?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Есть такая штука, называется "инициализация". Вы в main пакете инициализируете всё что вам нужно, например:
    1. инициализируете доступ к BD
    2. инициализируете свои пакеты с бизнес логикой
    3. инициализируете другие какие-то пакеты которые вам нужны в main
    При этом при инициализации пакета которому нужен доступ к BD, вы просто передаёте ему ссылку на уже открытый дескриптор.
    package main
    import "mypackage"
    // import DB package
    
    var DB *sql.DB
    
    func init() {
       DB = sql.Open()
       mypackage.DB = DB
    }
    
    func main() {
       mypackage.myfunction1() 
       mypackage.myfunction2()
    }
    Ответ написан
    2 комментария
  • Попадёт ли статика в бинарник?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Вы про html/css/js/images? Нет, эти файлы в бинарник не попадают. Попадают только *.go файлы, как ваши, так и модулей которые вы используете у себя в коде.
    Ответ написан
    Комментировать
  • Есть ли для Go библиотека работы с mysql?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    1. db, err := sql.Open() требуется вызвать один раз, нет нужды на каждый запрос писать этот кусок кода
    2. panic(err.Error()) - падать приложение в паник плохая практика, если вам нужен некий комплект данных, то сделайте функцию или метод который возвращает данные и ошибку (если есть)
    3. log.Fatal(err) - так много логов вам не нужно. Суть в том что если вы получили ошибку, то вам нужно завершать текущий блок кода, а не продолжать его дальше. Ведь если вы не смогли получить данные из базы, то бегать по данным вам так же не нужно.

    Пример того как это можно оформить play.golang.org/p/polc_jwrF7 правда я не использовал реальный модуль для MySQL и часть кода не дописано, так как это вы уже как-нибудь сами.
    Ответ написан
    1 комментарий
  • Как исправить вывод?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Читайте документацию, там действительно всё есть - нужно лишь потратить время и привыкнуть к особенностям языка.
    Ответ написан
  • Golang получение post параметров?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Вот ещё может пригодится, хотя статья и избыточна. 4gophers.ru/article/html-formy-i-go
    Ответ написан
    Комментировать