
Eugene
04.01.2017
18:35:27
и увидишь результат
это конкатенация комманд

Anton
04.01.2017
18:47:33
все, уже понял )) ступил, спасибо

Sam
04.01.2017
19:36:11
Хм. Прикольную группировку чатов сделали в телеграмме

Google

Sam
04.01.2017
19:36:46
В мобильной версии

Danila
04.01.2017
19:37:33
группировку?
на айос?

Sam
04.01.2017
19:37:46
андроид
Немного не так выразился. Группировку сообщений в чате

Artem
04.01.2017
19:41:18
Зашел с ведроида заценить, не понимаю о чем ты :(

Sam
04.01.2017
19:43:14
Короч теперь когда от одного автора блок из нескольких сообщений, профиль этого автора плавно прокручиваетчя вместе с ними
Видео быстрее записать ?
Мелочь вообщем то, но приятно выглядит

Ivan
04.01.2017
19:44:51
Или может это в plus я путаю


Sam
04.01.2017
19:46:05
Вообще немало изменений с новым апдейтом
New in version 3.16:
- Delete messages for everyone. When you delete your messages in groups and one-on-one chats, you can now choose to delete them for everyone in the chat, not just yourself. This works only for recently sent messages (same as editing).
- Network Usage in 'Data and Storage' Settings. Get byte by byte statistics for your incoming and outgoing Telegram traffic via wifi and mobile connections.
- T.me links. Use the short and personal t.me/username instead of telegram.me to link to any Telegram profile, channel or public group.
- App now remembers scroll position when switching to another chat and back.
- Messages from one sender are now beautifully grouped together.
- Added a floating date to the top of the screen when scrolling.
- Recently downloaded files are shown when sharing a file.
- Increased uploading speed for files and media.
- 'Report spam' button added to Secret chats.
- Added support for new emoji like ?, ?, and ?.
- Send GIFs directly from Gboard, the Google keyboard.
- Android 7.1: Fast action menu with frequent chats from your home screen.
More about this update:
https://telegram.org/blog/unsend-and-usage

Google

Eugene
05.01.2017
09:22:24
Свежий выпуск рассылки с кучей интересного выйдет уже завтра, не забудьте подписаться :) https://www.getrevue.co/profile/frey

Ivan
05.01.2017
09:30:44
Пригодился первый раз по серьезному метод inject. Для очень простых вещей, если кому интересно:
def dig_session(*args)
args.inject(session) { |memo, arg| memo.try(:[], arg) }
end

Zulkar
05.01.2017
09:33:08

Ivan
05.01.2017
09:33:29
@Freika, а куда круговая диаграма отсюда делась?

Eugene
05.01.2017
09:34:05
Я её убрал, потому что понял, что она некорректная

Ivan
05.01.2017
09:34:16
что этот метод делает?
Который я написал? Это как dig для хэша, только для session в рельсах. Сама session от ActionDispatch не реализует dig

Eugene
05.01.2017
09:34:17
Для пайчартов можно использовать только те данные, которые в сумме составляют 100%
Там же получалось значительно больше, потому что в одном матче можно указать более 1 героя
Соответственно процентное распределение было некорректным

Ivan
05.01.2017
09:34:53

Eugene
05.01.2017
09:35:21
Вообще по этим данным можно кучу всяких графиков нарисовать
Надо только придумать более-менее осмысленные)

Ivan
05.01.2017
09:36:20
Не сюда немного, но я бы запихал как-нибудь most played hero on map
Я обычно между двумя - тремя героями прыгаю, в зависимости от карты
Было бы интересно посмотреть - сравнить
Или most played map on hero
Не суть

Eugene
05.01.2017
09:37:47
Ага, я думал об этом тоже
Запишу, добавлю как-нибудь

Ivan
05.01.2017
09:38:28
?

Google

Eugene
05.01.2017
09:40:12
Думаю, надо возобновить стримы, наверное

Ivan
05.01.2017
09:42:23
Было бы не плохо. Они как раз обещали в начале года ребрендиться на liveedu
Думаю, пиарить себя в начале будут, можно хапнуть немного зрителей c:

Eugene
05.01.2017
09:43:16
Угу, я письмо получал

Ruslan
05.01.2017
14:43:24
Такой вопрос. Есть метод с блоком такого рода add_smth(var) { block }. Как мне в def add_smth ... end сделать var = block ? Там чую, настолько просто, но не могу пока уловить. Подскажите, плз.

Artem
05.01.2017
14:45:23
def add_smth(&block); end
в block будет твой блок (точнее proc, но это уже нюансы)

Ruslan
05.01.2017
14:56:09
А вот (:var), его надо в initialize через yield self?

Иван
05.01.2017
16:05:50
var это обычный аргумент метода. def add_smth(var, &block); end
хотя не, я не понял чего тебе надо

daenur
05.01.2017
16:16:40
Здравствуйте. Думал начать изучать Руби. Скажите, пожалуйста, насколько он актуален сейчас и как много времени уйдет на его изучение. Спасибо.

Ваня
05.01.2017
16:17:12
Лет десять, не меньше

Ваня
05.01.2017
16:18:01
Сейчас, я посмотрю в свой магический шар и установлю с вами ментальный контакт и скажу точно, сколько понадобится времени
На самом деле сам язык выучить не трудно. Особенно если это не первый язык программирования. Потом просто в доки подглядывать, если что
https://m.habrahabr.ru/company/kingservers/blog/307012/
Это по поводу актуальности

Talgat
05.01.2017
16:36:45
Всех с новым годом!
?
Вопрос касательно API.
Запутался в понятиях Gem и Wrapper, помогите пожалуйтса!
Насколько я понял: в рельсах к API подчключаются через гемы.
А как подключаются к API в других языках программирования? Через API wrapper?
Заметил про python, php, js wrapper-ы.
Можно ли сказать что wrapper и gem почти одно и то же?

Ivan
05.01.2017
16:40:41
Из любого языка к апи подключаются HTTP запросом

Google

Ivan
05.01.2017
16:41:12
Гемы и врапперы - это лишь обертка над старыми добрыми /api?hello=world&auth=1234

Talgat
05.01.2017
16:41:45
получается можно и обойтись без гемов, и работать чисто с API?

Ivan
05.01.2017
16:41:53
Можно
Посмотри например на HTTParty, RESTclient
Это ещё одна обертка над HTTP, только "собери сам"

Admin
ERROR: S client not available

Ivan
05.01.2017
16:42:59
Faraday ещё
Только он мутный какой-то

Artem
05.01.2017
16:43:16
по сути гемы и реализуют врапперы

Talgat
05.01.2017
16:43:26
В моем проекте нужно использовать либо Zencoder или FFMPEG для кодировки видео.
Я заметил к этим API уже есть гемы
А что если бы не было гемов и wrapper-ов?
Получается можно использовать API и без гемов и wrapper-ов?

Artem
05.01.2017
16:43:39
просто если ты написал обертку над каким-то популярным API, то стоит ее выложить в сообщество, чтоб другие могли юзать

Ivan
05.01.2017
16:43:46
Это уже "переходник" к башевским командам

Talgat
05.01.2017
16:46:54
Вопросы из за не хватки опыта работы с API !
В проекте Zencoder нужен для кодировки видео.
Как будет разумнее использовать: использовать гем или работать с официальной документацией API?
https://github.com/zencoder/zencoder-rb
Я разрабатываю сейчас API на рельсах, так как он нужен будет для iOS и Android приложения.
Насколько я понял моб разработчики работают с официальной документацией API.
Тогда зачем нужны обертки над API, если можно работать с официальной документацией?

Artem
05.01.2017
16:49:47
это дополнительный слой абстракции
легче тестировать, легче переиспользовать
посмотри, если в геме есть все что надо, то юзай его, если нет, придется свою обертку написать (или сделать PR в гемчик)

Talgat
05.01.2017
16:51:39

Google

Artem
05.01.2017
16:53:47
Рельсы-не рельсы, какая разница? Это вообще lang-agnostic подход. Я сомневаюсь что мобильным девам в кайф писать везде http.post('zencoder.com/tasks', body: ...). Такой код невозможно поддерживать. Лучше написать нормальную обертку и ей пользоваться.

pchellovod
05.01.2017
17:50:01
вопрос такой:
считаю инжектом количество элементов в массиве в одну строку
results.inject(Hash.new(0)){ |hash, element| hash[element] = hash[element] + 1; hash}
вывожу результат добавив puts
перед этим всем.
если оформить в несколько строк типа вот так
results.inject(Hash.new(0)) do |hash, element|
hash[element] += 1
hash
end
как оформить вывод результата?
чет отупел совсем за праздники
ещё вот так делал
how_much = begin
results.inject(Hash.new(0)) do |hash, element|
hash[element] += 1
hash
end
end
p how_much
но это чет хз

Ivan
05.01.2017
17:52:14
А в каком виде нужен вывод то?

pchellovod
05.01.2017
17:52:33
да в любом
хеш, наверное
типа имя элемента - количество

Ivan
05.01.2017
17:53:35
Ну сделай results.inject(Hash.new(0)){ |hash, element| hash[element] = hash[element] + 1; hash}.each do |k, v|; puts "#{k} element - #{v} times"; end
ну или покрасивше как-нибудь

Artem
05.01.2017
17:54:26
hash = results.inject(Hash.new(0)) do |hash, element|
hash[element] += 1
hash
end
puts hash
так не подходит что ли? :)

Ivan
05.01.2017
17:54:53

pchellovod
05.01.2017
17:59:34
точно

Silent Bob
05.01.2017
21:38:23
Призываю @Fahrenhei7
Я обнаружил что из коробки вим не очень ( для руби в том числе). К примеру не правильная индентация (таб вместо двух пробелов) и не ставятся отступы автоматом с новой строки если внутри условия (цикла и т.д.) Есть что-то что можно поставить и волшебным образом станет все хорошо как например из коробки у Atom? И не только для руби

Ilona
05.01.2017
21:39:58
Это все настраивается)