@gogolang

Страница 1153 из 1630
Fastumkruk ✅
16.06.2018
12:40:27
@Civiloid

Kirill
16.06.2018
12:43:09
сильно ли влияет defer на производительность?
У меня в некоторых проектах целиком defer в бане. Там основная ветвь одна и она перегружена

Google
Fastumkruk ✅
16.06.2018
12:53:57
и что в mas[0] и т.п.?
Fastumkruk: $m_shop = ''; $m_orderid = '1'; $m_amount = number_format(100, 2, '.', ''); $m_curr = 'USD'; $m_desc = base64_encode('Test'); $m_key = 'Ваш секретный ключ'; $arHash = array( $m_shop, $m_orderid, $m_amount, $m_curr, $m_desc ); /* $arParams = array( 'success_url' => 'http:///new_success_url', //'fail_url' => 'http:///new_fail_url', //'status_url' => 'http:///new_status_url', 'reference' => array( 'var1' => '1', //'var2' => '2', //'var3' => '3', //'var4' => '4', //'var5' => '5', ), ); $key = md5(''.$m_orderid); $m_params = urlencode(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, json_encode($arParams), MCRYPT_MODE_ECB))); $arHash[] = $m_params; */ $arHash[] = $m_key; $sign = strtoupper(hash('sha256', implode(':', $arHash))); ?> <form method="post" action="https://payeer.com/merchant/"> <input type="hidden" name="m_shop" value="<?=$m_shop?>"> <input type="hidden" name="m_orderid" value="<?=$m_orderid?>"> <input type="hidden" name="m_amount" value="<?=$m_amount?>"> <input type="hidden" name="m_curr" value="<?=$m_curr?>"> <input type="hidden" name="m_desc" value="<?=$m_desc?>"> <input type="hidden" name="m_sign" value="<?=$sign?>"> <?php /* <input type="hidden" name="form[ps]" value="2609"> <input type="hidden" name="form[curr[2609]]" value="USD"> */ ?> <?php /* <input type="hidden" name="m_params" value="<?=$m_params?>"> */ ?> <input type="submit" name="m_process" value="send" /> </form> То что закоментированно, нас не интересует

Vladimir
16.06.2018
13:01:32
@Fastumkruk ~/go/src/test# php ./test.php string(64) "5862d9cdf85856749ea2f07a0b44ce85ab1e544ceaf8e32906acdea02cd4c813" root@doroboneko:~/go/src/test# go run ./main.go 5862d9cdf85856749ea2f07a0b44ce85ab1e544ceaf8e32906acdea02cd4c813 https://bpaste.net/show/78ce63148960

все одинаково считается

@Fastumkruk https://golang.org/pkg/strings/#Join

Fastumkruk ✅
16.06.2018
13:10:55
все одинаково считается
https://play.golang.org/p/4QrnpSLkpGQ Соответсвует ли мой код на ГО, коду который я кинул выше на пхп? Если ошибаюсь, подскажите где.

Oleh
16.06.2018
13:14:44
Привет мне нужна подсказка я делаю игру и там есть особи я им сделал вот такой интерфейс type InhabitInterface interface { NextStep() (x, y int) IsBeget() (bool, utils.MoveVect, InhabitInterface) IsGoneAway() bool Force() int GotHit(from InhabitInterface) GetPix() int Draw(t pixel.Target, matrix pixel.Matrix) } друг говорит что лутше вынести метод Draw в другое место и инкапсулировать от структуры с логикой стоит ли? или лутше все в одном месте сделать?

Что там по паттернам?

Alexey
16.06.2018
13:29:23
если есть только такие функции, в которых используются все методы, но нет таких в которых используется какой-то один (и появление невозможно), то это ок

взять сортировку например из стандартной библиотеки

Pawel
16.06.2018
13:30:17
Обычно в Го пишется функция, использующая интерфейс, и лишь потом при необходимости проводится рефакторинг, заключающийся в выносе отдельного интерфейса

Вот этот код с жирным интерфесом - это пример худщих практик из джавы

Alexey
16.06.2018
13:31:36
это да, но человек скорее всего из "очень ооп" языка

Google
Lesha
16.06.2018
13:39:29
У вас плохой интерфейс. Обычно в Го интерфейс - это 1 метод. Три - это уже овердофига.
А чем обусловлено использование Интерфейса с одним методом?

И где можно про это почитать?

Pawel
16.06.2018
13:43:37
не понял вопрос про чем обусловлено. почитать можно в доброй книге по Го Донавана Кернигана.

Метод интерфейса - это контракт типа. Чем сложнее контракт, тем больше трудностей с его реализацией и использованием. Соотв. 1 метод при прочих равных - это намного лучше 2

У меня в программах на Го сперва пяовляются типы, потом уже я смотрю на их общие методы, и только потом при рефакторинг формулирую абстракции их общего поведения в виде интерфейсов. Изначально же в программе никаких интерфейсов нет, ибо не нужно

Pawel
16.06.2018
13:57:13
Изначально думать об особи игрового поля как об объекте с определённым набором методов - это не правильно имхо.

Oleh
16.06.2018
13:58:05
Вопрос был такой Нужно ли розделять в отдельные структуры логику особи и функции которые отвечают за гуи Ну и инкапсулировать одно в другое?

Duck typing

Же

Кожно сделать інтерфейс который собирает в себе другие интерфейсы

Pawel
16.06.2018
13:59:43
нет смысла пихать всю логику в один тип

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

Oleh
16.06.2018
14:01:31
Класов нету:)

Но ок

Pawel
16.06.2018
14:05:09
под классами я имею ввиду гошные struct, ООП в го делается через них

Вообще идея изначально всё делать на объектах класса - она плохая

Google
Pawel
16.06.2018
14:10:26
Security Through Obscurity?
не понял, но имхо нет

Sergey
16.06.2018
14:10:29
вообще, не давайте вредных советов, даже в рамках троллинга

Pawel
16.06.2018
14:11:11
ы?

Sergey
16.06.2018
14:12:57
> У вас плохой интерфейс. Обычно в Го интерфейс - это 1 метод. Три - это уже овердофига. > Обычно в Го пишется функция, использующая интерфейс, и лишь потом при необходимости проводится рефакторинг, заключающийся в выносе отдельного интерфейса > Вообще идея изначально всё делать на объектах класса - она плохая говорю, жир из монитора потёк

Pawel
16.06.2018
14:14:21
по моему у вас в голове что-то протело и забрызгало экран

Lesha
16.06.2018
14:22:42
Я считаю не нужно гнаться именно за соблюдением 1 интерфейс - 1 метод. Это похоже больше на утопию, когда у тебя в коде сотня интерфейсов. В чем сложность поддерживать интерфейс с 2-3 методами? В чем не безопасность такого решения? Да, когда у тебя много мелких, тебе их легче объединять в композицию, но имхо, когда интерфейс логически не разделим, нет смысла его дробить.

Pawel
16.06.2018
14:30:23
а где я говорил что надо за этим гнаться? Гнаться надо за тем, чтобы не было оверинжиниринга с бесполезно переусложнёнными абстракциями

Slava
16.06.2018
14:39:57
В случае с игрой, где много энтити - лучше все через композицию делать

Pawel
16.06.2018
14:39:58
я не вижк чтобы методы из преведенного интерфейса были как-то связаны. И когда сперва появляется такой вот интерфейс, а потом к нему пишут реализацию - это такой классический джавоебизм, с которым я борюсь у себя в организации уже много лет

Slava
16.06.2018
14:40:13
Поддержу Павла в этом

Pawel
16.06.2018
14:40:31
спасибо)

Oleh
16.06.2018
14:42:48
Но если я использую в игре

Oleh
16.06.2018
14:43:23
Структуру которая только там используется, то не очень вижу смысл ее дробить

Slava
16.06.2018
14:45:36
Структура - это имплементация уже

V
16.06.2018
15:25:12
Один интерфейс - один метод... сразу на ум приходит file из http.

Kaspar
16.06.2018
15:26:15
Ридер же

Alexander
16.06.2018
17:28:04
На счет интерфейсов, вот по этому шаблону вот такой результат

https://play.golang.org/p/9POLvsjDF6

BenchmarkDirect-8 2000000000 1.75 ns/op BenchmarkInterface-8 500000000 3.85 ns/op BenchmarkInterfaceUnknown-8 100000000 19.8 ns/op

тут прост выше задавал вопрос на тему быстртдействия

Google
Alexander
16.06.2018
17:52:06
Ребят, написал админу, но вдруг он просто бот, а не человечек

Нашел такое сообщение t.me/gogolang/89318

Admin
ERROR: S client not available

Alexander
16.06.2018
17:52:21
Вообще я больше по php, но последние полгода активно изучаю/пишу на Go можно ли получить пример тестового задания? чтобы хоть понимать что на рынке от гошников требуется?

> Вообще я больше по php мне теперь в этом чате никогда не будут отвечать?

Kirill
16.06.2018
18:40:30
Народ, у меня объявление: Каждый месяц я буду разыгрывать по от $50 до $100 за: - самую популярную статью об https://github.com/gramework/gramework на таких платформах, как medium, habr.com, digitalocean (если вы хотите опубликовать статью на другой платформе вам нужно написать мне, чтобы я сначала проверил, можно ли автоматически проверить всё нужное для нахождения самой популярной статьи). Автор самой популярной статьи месяца получит деньги. ВНИМАНИЕ: статьи, которые просто копируют примеры из ридми проекта и не дают новых знаний о gramework читателям, не участвуют в акции. - самого активного контрибьютора. Я добавлю специальные баллы в названия тикетов и контрибьютор, собравший наибольшее количество баллов (при этом не меньше 4), получит деньги. Вы можете создавать новые тикеты с вашими пожеланиями, я буду ставить баллы на них. Я сам не участвую в этом рейтинге и не считаю свои же баллы.

Slava
16.06.2018
18:40:46
Ровно то же, что и от других программистов требуется

Kirill
16.06.2018
18:41:37
Go, конечно)

но могут появиться таски и для js-еров

Alexander
16.06.2018
18:41:48
лул. английский или русский

Artem
16.06.2018
18:41:54
))))

Kirill
16.06.2018
18:42:08
лул. английский или русский
да пофиг, по выбору, конечно)

Michael
16.06.2018
18:42:14
моя твоя шнелле арбайтен

Hokusai
16.06.2018
18:43:35
Прикольно

Kirill
16.06.2018
18:43:50
в первую очередь английский или русский, а дальше хоть какие - немецкий, итальянский, украинский, белорусский - какой хочешь, мне по барабану, пока эта статья полезна, интересна и помогает продвинуть grame в массы)

за обсуждением тем, предложением фич и так далее - можно писать мне в личку, если хочется предварительно собрать у меня фидбэк :)

ну а со ссылками на участвующие статьи - нужно писать в одноименный чат в телеге с хештегом #article, чтобы я не потерял :)

Ivan
16.06.2018
18:46:59
@kirilldanshin а миддлварями норм расширяется? Глянул - cors уже имеется, но у меня их 13)

Kirill
16.06.2018
18:47:02
а самый мощный и стабильный контрибютор за следующие несколько месяцев (не считая меня) получит от меня приглашение в команду грэймворка :)

@kirilldanshin а миддлварями норм расширяется? Глянул - cors уже имеется, но у меня их 13)
конечно, можно посмотреть как на сам корс, так и на пример с метриками. видов миддлвар в фреймворке несколько - самые ранние (в основном для реализации ранних схем app-level защиты), дефолтные - перед запросом, и миддлвары, выполняющиеся после обработки запроса

Google
Kirill
16.06.2018
18:50:05
Спасибо, буду смотреть. Как раз в поисках чего-то нового для нового проекта.
надеюсь, понравится :) за поддержкой можно в тикеты на гитхабе, в одноименный чат здесь или ко мне в личку

Kirill
16.06.2018
18:55:17
Никита
16.06.2018
18:55:29
Не сочтите за грубость, но почему так мало звезд, если продукт хороший?

jack
16.06.2018
18:56:27
тема сменилась? что за флуд

Никита
16.06.2018
18:56:30
Ну как минимум год

Kirill
16.06.2018
18:56:48
Не сочтите за грубость, но почему так мало звезд, если продукт хороший?
я его не раскручивал практически, даже статью написать руки не доходят

Никита
16.06.2018
18:57:03
Та ну, нельзя так

marketing first :)

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