@gogolang

Страница 99 из 1630
Андрей
24.01.2017
09:01:21
Все так делают сейчас. Жаль в наше время небыло педивикии

Abdullo
24.01.2017
09:02:00
https://ru.wikipedia.org/wiki/Фьютекс
Я читал эту но не понял какая именно функция много визиваеться

Richard
24.01.2017
09:02:18
@ahidoyatov где код можно глянуть?

Yura
24.01.2017
09:02:37
Виртуалка или железо?

Google
Abdullo
24.01.2017
09:03:54
@ahidoyatov где код можно глянуть?
Проект не могу вес уплоадит на репу

Yura
24.01.2017
09:04:10
Вообще, похоже на кучу блокирующих системных вызовов. Фьютекс берется, когда тред возвращается из сискола и хочет вернуться к выполнению кода на Го.

Abdullo
24.01.2017
09:04:11
Компания не разрешит

Yura
24.01.2017
09:04:19
Что прога делает?

Abdullo
24.01.2017
09:05:01
Отправляет пуши по gcm apn i fcm

Берет из бази mysql

Yura
24.01.2017
09:14:56
Что то из этого использует обертку вокруг сишной либы?

Abdullo
24.01.2017
09:15:33
Mysql i Rabbitmq mojet ispolzuet no tochno ne uveren

I eshe logrus

https://github.com/streadway/amqp

https://github.com/sirupsen/logrus

github.com/go-sql-driver/mysql

nicho esli budu pisat translitom ? medleddno pishu na kirilitse

Google
Yura
24.01.2017
09:19:52
Второй вариант: используешь таймеры для таймаута? Если да, то в случае, когда таймаут не понадобился, таймер стопаешь?

Abdullo
24.01.2017
09:20:12
Da ispolzuyu

Net ne virubayu ih oni doljni vechno rabotat

kajdoe n sekund ya doljen chitat iz ocheredi i otpravlyat push

mojete posovetovat gde mojno pochitat pro futexi ? Ato normalnuyu doku nigde ne nashel

Yura
24.01.2017
09:23:32
Тем же go tool pprof построй svg или dot файл.

Если можешь на локальной машине сделать, то web в pprof откроет браузер с svg

Буду материться: у тебя, б^%πь до х√я таймеров. Они выжирают твой цпу.

Прошу прощения за несдержанность, просто такой профайла я еще не видел.

Abdullo
24.01.2017
09:39:07
time.NewTicker() ti pro etot timer ?

Sergey
24.01.2017
09:39:11
Товарищи, а подскажите немного по организации кода

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

сущности я реализова через struct

Sergey
24.01.2017
09:39:51
и сейчас все это в одном файлике

Yura
24.01.2017
09:40:04
Ticker - это периодический таймер. Пока ты его не остановишь, он ьудет работать и работать.

Sergey
24.01.2017
09:40:12
и вот я думаю как разбить - просто по файликам в папке с исходниками приложения

или создавать папки entity

model

и пр?

Google
Abdullo
24.01.2017
09:40:49
Vmesto timerov. Ili u menya nepravilno sozdaetsa ?

Yura
24.01.2017
09:41:19
Если ты их постоянно порождаешь, и никогда не останавливаешь, миллионы тикеров выжрут весь цпу, наберут критическую массу, и превратятся в черную дыру

Yura
24.01.2017
09:43:03
Если тебе нужен таймер, используй Timer. Если нужно раз в секунд, пусть это будет Ticker, но один (ну, или несколько)

Sergey
24.01.2017
09:58:20
не подскажете по организации?

Daniel
24.01.2017
09:59:04
а?

Sergey
24.01.2017
10:00:00
Sergey Pronin, [24.01.17 12:39] Товарищи, а подскажите немного по организации кода Sergey Pronin, [24.01.17 12:39] есть у меня парсер, которые парсит кое чего и на основе распарсенного делает сущности Sergey Pronin, [24.01.17 12:39] сущности я реализова через struct Sergey Pronin, [24.01.17 12:39] и сейчас все это в одном файлике Sergey Pronin, [24.01.17 12:40] и вот я думаю как разбить - просто по файликам в папке с исходниками приложения Sergey Pronin, [24.01.17 12:40] или создавать папки entity Sergey Pronin, [24.01.17 12:40] model Sergey Pronin, [24.01.17 12:40] и пр?

Slava
24.01.2017
10:00:27
пиши как удобно, а потом всё равно перепишешь

Sergey
24.01.2017
10:00:50
))) ну, это наверняка )

я погуглил Best Practice но чёт ничего конкретного не увидел

Sergey
24.01.2017
10:01:26
ссылки на репы, а там разные файлики но просто в папке приложения лежат и всё

Смотрю на какой-то болт https://github.com/boltdb/bolt

все исходники в одной папке

ух...а если сущностей, допустим, штук 200 разных

Мерлин
24.01.2017
10:08:49
Выпуск 12. http://scalalaz.ru/mp3/scalalaz-podcast-12.mp3. Sent from Podcast Republic.

Sergey
24.01.2017
10:11:05
Google
Sergey
24.01.2017
10:11:09
в этом и есть вопрос

Мерлин
24.01.2017
10:12:31
в этом и есть вопрос
https://blog.gopheracademy.com/advent-2016/go-and-package-focused-design/

Sergey
24.01.2017
10:54:59
шикарная ссылка

Peter
24.01.2017
11:13:29
а кто на rc2 уже перекатился?

и stringer юзает

wtf stringer: checking package: config.go:4:2: could not import fmt (reading export data: /usr/local/go/pkg/linux_amd64/fmt.a: invalid encoding format in export data: got 'v'; want 'c' or 'd')

Admin
ERROR: S client not available

Sergey
24.01.2017
11:34:45
Решил пойду путем с картинки:

)))

Kirill
24.01.2017
11:38:10
сейчас работаю над этим проектом

тут по-моему просто угадать что за оно %)

Sergey
24.01.2017
11:38:44
слушай, а как ты конфиги хранишь?

json файл преобразующийся в структуру?

или прям в структуре какой-нибудь типа Config напихано?

Kirill
24.01.2017
11:39:09
Sergey
24.01.2017
11:39:16
угу

Kirill
24.01.2017
11:39:30
вот его в viper запихиваю и не парюсь

плюс дальше сверху прикручиваю веб-панель для управления конфигом, watch'еры их, синхронизацию по кластеру и вот это всё

Sergey
24.01.2017
11:40:35
ух ? пока сложновато для меня

Google
Sergey
24.01.2017
11:40:45
я на го прогать пытаюсь неделю наверное )

Kirill
24.01.2017
11:40:49
да всё вроде как просто, как палка

серверы кластера между собой соединяются и просчитывают кратчайшие пути от каждого до каждого. сервер, который обслужил сохранение конфига выбирает до трех ближайших (по traceroute и пингу) сервера и даёт им данные по конфигу. они применяют и отдают следующей группе до трех серверов, исключая те, которые уже были настроены. так оно рекурсивно раскатывает по всему кластеру в течение максимум 5 секунд.

точно так же работает кеш. он шардируется и сервер, который ближе всего к клиенту или отдает из своих локальных кешей и/или хранилищ, или идет по кратчайшему пути к одному из серверов, который отвечает за конкретный шард.

ух ? пока сложновато для меня
как врубишься в нужную тебе архитектуру — дальше всё пилится реально быстро

Sergey
24.01.2017
11:47:59
спасибо Кирилл

Kirill
24.01.2017
11:48:26
хотя с шардированием кеша я провозился долго. задержка была неприемлемой.

спасибо Кирилл
будут вопросы — обращайся.

Sergey
24.01.2017
11:48:40
ну, я парсер пишу )

Kirill
24.01.2017
11:48:55
а, парсер тоже штука довольно простая

Sergey
24.01.2017
11:48:56
даже с трехкопеечным знанием Го ускорил то что есть с 3 часов, до 3 секунд )

Kirill
24.01.2017
11:49:17
О.о

с трёх часов?!

Sergey
24.01.2017
11:49:28
угу

)

Kirill
24.01.2017
11:49:41
это на чем было-то?

Sergey
24.01.2017
11:49:47
на php

Kirill
24.01.2017
11:50:01
а. тогда вопросов нет.

Страница 99 из 1630