
Voicy
28.12.2017
22:12:45
? Voicy переводит в текст все голосовые сообщения, которые получает. Вы можете говорить с ботом напрямую или добавить его в группу.
/help — Показать это сообщение ?
/engine — Выбрать движок распознавания речи: wit.ai (бесплатный), Яндекс SpeechKit (бесплатный) или Google Speech (платный) ⚙
/language — Выбрать язык распознавания речи ?
/balance — Посмотреть, сколько секунд Google Speech осталось ?
/lock — Включить или выключить доступ не-админов к командам бота ?
/files — Включить или выключить распознавание аудио файлов ?
/silent — Включить или выключить тихий режим, когда бот не посылает сообщения типа Распознавание речи инициировано ?
Нравится бот? Оставьте свой отзыв по ссылке: https://telegram.me/storebot?start=voicybot
Вопросы и предложения направляйте моему создателю — @borodutch ?

Kirill
28.12.2017
22:13:28

Max
28.12.2017
22:13:39

Vladimir
28.12.2017
22:14:07

Google

Kirill
28.12.2017
22:14:11

Vladimir
28.12.2017
22:14:13
берешь id=len(array)/2 элемент
смотришь его время
если больше нужного - берешь (id)/2 элемент
смотришь его время

Mike
28.12.2017
22:14:51

Vladimir
28.12.2017
22:14:51
и так пока не найдешь свою границу

Kirill
28.12.2017
22:15:12
Я такие вещи не ищу

Max
28.12.2017
22:15:28

Vladimir
28.12.2017
22:15:58
вариант с bucket'ами будет примерно такой же - у тебя бакетов только будет меньше чем элементов в среднем

Kirill
28.12.2017
22:16:04
Хотя я без вышки
Вышка #ненужен

Google

Vladimir
28.12.2017
22:16:47
@obsly можешь делать отдельный slice с указателями на твои объектики, отсортированный по времени

Mike
28.12.2017
22:16:51
Вышка #ненужен
Нужен, но не для знаний, в общем случае, если мы не про MIT

Vladimir
28.12.2017
22:17:23
Вышка #ненужен
у вышки есть плюс - она требуется для визы в Германию и Швейцарию, например

Mike
28.12.2017
22:17:26

Kirill
28.12.2017
22:17:37

Vladimir
28.12.2017
22:17:45

Mike
28.12.2017
22:17:55

Kirill
28.12.2017
22:18:05
И я тоже

Mike
28.12.2017
22:18:29
Вам бы кого-нибудь с вышкой по управлению, хех

Vladimir
28.12.2017
22:18:48

Kirill
28.12.2017
22:18:55

Mike
28.12.2017
22:19:04
А то знаю я как это выглядит: тимлид, архитектор, сеньер и ПМ в одном лице

Kirill
28.12.2017
22:19:04

Mike
28.12.2017
22:19:18

Mykyta
28.12.2017
22:20:12
Нужен, но не для знаний, в общем случае, если мы не про MIT
Я таки не осилил доучиться. Я вначале походил на то, что мне интересно было, в универе взяли посокращали все часы по техническим предметам и заменили их всякими экологиями с физкультурой. К третьем курсу у меня было из 9 предметов только 2 более-менее касающих специальности.

Mike
28.12.2017
22:23:21
Ну в постсовке действительно мало хороших технических вузов
В таком смысла действительно нет
Разве что для трудовой эмиграции

Mykyta
28.12.2017
22:24:31

Google

Mike
28.12.2017
22:25:17
> 3 курс
> 2 предмета из 9 по специальности
Ты всё за меня сказал)

Mykyta
28.12.2017
22:33:02

Dmitriy
28.12.2017
22:34:27
Ну, у нас после пары охраны труда в универе девочка термометр бекмана расхуячила)

Mykyta
28.12.2017
22:37:48

Dmitriy
28.12.2017
22:37:58
Там много ртути
Эта штука меряет дельту температуры
Причем в очень широком диапазоне

Mykyta
28.12.2017
22:40:02
Ньютон мерял давление колбой в метр высотой в тазике с ртутью и норм
или не ньютон, не помню уже

Sergey
28.12.2017
22:54:43
можете подсказатьлибы для отправки xml

Aleksandr
28.12.2017
22:55:43

Andrey
28.12.2017
22:58:24
это маленькая
Скажите пожалуйста вы видео своей презентации ннигде не выкладывали? А то по слайдам не всё понятно. интересно посмотреть.

Daniel
28.12.2017
23:13:06
Боюсь - не было видео на девконфе

Demuz
29.12.2017
07:08:12
Короче, все таки затестировал вызов функции из свича и вызов функции из мапы по ключу + проверки ключа на наличие в мапе. Запарился переписывать мапу на свич. Результат просто ужасный оказался и вобще никак не стоило столько времени тратить, просто чтобы этот тест провести. В обоих случаях результат колебался от 26 до 36мс. то есть, существенной разницы вобще не ощутимо. Там конечно не тысячи методов, штук 100, но все равно. Не люблю делать такие тесты, так как тяжело обеспечить одинаковые условия для тестов. В обоих случях слшком много динамики.
Это все к слову о вызовах методов через ключ карты. Удобно особенно если есть еще вложенные карты. То есть, мне нравится давать дейтвию такое описание: Если вызванный URL есть в ключах карты, то выполнить один из ЕГО методов по ключу из его доступных методов в ЕГО подкартах.
Уж извините, если непонятно описал.


Vladimir
29.12.2017
07:39:42

Alexey
29.12.2017
08:00:25
https://habrahabr.ru/company/badoo/blog/345784/ - о, кажется, math.Round подвезут в 1.10 :)

Sergey
29.12.2017
08:11:08
коллеги есть такой XML <document type="freeswitch/xml">
<section name="directory" description="FreeSWITCH Directory">
<domain name="voip.ru">
<params>
<param name="dial-string" value="{^^:sip_invite_domain=${dialed_domain}:presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(*/${dialed_user}@${dialed_domain})}"/>
</params>
<variables>
<variable name="user_context" value="voip_context"/>
</variables>
<groups>
<group name="default">
<users>
</user>
<user id="user1" cacheable="0" mailbox="1234">
<params>
<param name="vm-password" value="861000"/>
<param name="password" value="1234"/>
</params>
</user>
</users>
</group>
</groups>
</domain>
</section>
</document> Но секции domain и user может быть много в зависимости от количества пользователей

Google

Sergey
29.12.2017
08:11:19
пока не могу найти либы чтобы это корректно сделать
статичный XML в const задать могу но вот как отдавать количество пользователй не понятно

ros
29.12.2017
08:13:18

Sergey
29.12.2017
08:13:37
да я по нему авторизацию сделал
но не через редис а постгри

ros
29.12.2017
08:13:59
разницы нет

Sergey
29.12.2017
08:14:06
впринципе да
но вот как отдать полностью directory

Admin
ERROR: S client not available

Sergey
29.12.2017
08:14:33
в xml

ros
29.12.2017
08:14:54
там через шаблоны, но можно описать структуру xml и маршалить

Sergey
29.12.2017
08:16:43
ну да походу через структуры и осталось http://www.alexedwards.net/blog/golang-response-snippets

ros
29.12.2017
08:17:34
этой шляпой https://github.com/gnewton/chidley
можно по готовой XML структу создать

Demuz
29.12.2017
08:18:14
в xml
Вам просто нужно отдавать XML и в него определенные данные подставлять и тд?

Sergey
29.12.2017
08:18:25
да

Demuz
29.12.2017
08:19:03
Может я всех запарил с фреймворком iris, но я сами файлы xml для google карт, отдаю через фреймворк.
там генеренный xml отдается типа ctx.XML(имя файла или структура)
Сейчас поищу пример у себя.

Google

Demuz
29.12.2017
08:22:41

Sergey
29.12.2017
08:29:53
это что за либа
есть пример в го


Demuz
29.12.2017
08:32:17
iris фреймворк найдите. там есть. и чуть здесь покажу.
Извиняюсь, это к фреймворку не относится. Но там примеры были. секунду, я вам напишу.
есть пример в го
func main() {
app := iris.New()
app.Get("/xml", func(ctx iris.Context) {
type Marker struct {
XMLName xml.Name xml:"myTagName"
Title string xml:"name,attr"
Address string xml:"address,attr"
PhoneNumber int xml:"phone,attr"
Lat float64 xml:"lat,attr"
Lng float64 xml:"lng,attr"
Type string xml:"type,attr"
}
marker := Marker{}
marker.Title = "Мой маркер"
marker.Address = "Мой адрес"
ctx.XML(marker)
})
app.Run(iris.Addr(":4010"),
iris.WithOptimizations,
)
}
func main() {
app := iris.New()
app.Get("/xml", func(ctx iris.Context) {
type Marker struct {
XMLName xml.Name xml:"myTagName"
Title string xml:"name,attr"
Address string xml:"address,attr"
PhoneNumber int xml:"phone,attr"
Lat float64 xml:"lat,attr"
Lng float64 xml:"lng,attr"
Type string xml:"type,attr"
}
marker := Marker{}
marker.Title = "Мой маркер"
marker.Address = "Мой адрес"
ctx.XML(marker)
})
app.Run(iris.Addr(":4010"),
iris.WithOptimizations,
)
}
Так же, если необходимо, эту же структуру в ORM используете и из базы к примеру данные "вытаскиваете".


Sergey
29.12.2017
09:04:02

Demuz
29.12.2017
09:04:42

Sergey
29.12.2017
09:04:58
какие пакеты тогда нужны
для этого кода

Alexander
29.12.2017
09:05:33
в импорте смотри

Demuz
29.12.2017
09:05:52
"encoding/xml" еще.

Sergey
29.12.2017
09:06:59
syntax error: unexpected xml, expecting semicolon, newline, or }

Demuz
29.12.2017
09:07:49
Полностью скопируйте сюда.

Sergey
29.12.2017
09:08:03
package main
import (
"github.com/kataras/iris"
"github.com/kataras/iris/middleware/basicauth"
"github.com/kataras/iris/mvc"
"encoding/xml"
)
func main() {
app := iris.New()
app.Get("/xml", func(ctx iris.Context) {
type Marker struct {
XMLName xml.Name xml:"myTagName"
Title string xml:"name,attr"
Address string xml:"address,attr"
PhoneNumber int xml:"phone,attr"
Lat float64 xml:"lat,attr"
Lng float64 xml:"lng,attr"
Type string xml:"type,attr"
}
marker := Marker{}
marker.Title = "Мой маркер"
marker.Address = "Мой адрес"
ctx.XML(marker)
})
app.Run(iris.Addr(":4010"),
iris.WithOptimizations,
)
}