
Alex
03.10.2017
21:30:45
Мне кажется погромистом всю жизнь сложно быть

Ivan
03.10.2017
21:32:10
горькая правда
программистом вообще сложно быть

Alex
03.10.2017
21:34:43

Google

Alex
03.10.2017
21:34:48
Скорее напряжно
Потому что ты в целом разные задачи решаешь.

Ivan
03.10.2017
21:36:06
поэтому и сложно т.к. ты должен быть экспертом в разных областях. постоянно находится в технологическом тренде
если мы говорим о профессионале

Alex
03.10.2017
21:39:15
Это творческая профессия и постоянго приходится думать.
Грубо говоря одной и той же задачи нет.

Aleks
04.10.2017
00:40:35

Dima
04.10.2017
03:18:35
программистом вообще сложно быть
Если 15 минут проанализировать те трудности с которыми сталкиваются представители других ремесел, то будет ясно, что программистом быть точно также. Попробуйте смеха ради 12 часов просто не садиться, а простоять на ногах в пространстве 2м кв. И на следующий день все трудности программирования исчезнуть как тумат.

A1ex Lopatin
04.10.2017
07:07:05
redis под eventmachine с помощью em-hiredis,
как прочитать значение из редиса?
такой метод:
24: def return_long_url(code)
25: shorty = assemble_short_url(code)
=> 26: binding.pry
27: @redis_server.get(shorty).callback { |long_url|
28: long_url
29: }
30: end
возвращает <EventMachine::DefaultDeferrable:0x007f988a2178a0>, а нужно long_url
Подскажите, кто дело имел.

Igor
04.10.2017
07:10:30
Без sync только через callback вроде как

Google

A1ex Lopatin
04.10.2017
07:13:11
не, там асинхроные запросы. А как через callback? Вот он должен как раз через callback отдавать значение, но нет. Что-то не так делаю явно.

Igor
04.10.2017
07:13:20
Если редис и приложение не сильно нагруженное, то можно использовать синхронный редис

Ivan
04.10.2017
07:16:21
Граждане, а существует ру-андроид канал подобный этому? Мне бы ссылочку

Igor
04.10.2017
07:18:12
@A1ex_L вот пример с кэшем https://gist.github.com/ZurgInq/d63af9a94f39e683cd9a82f516e19b8a

Ivan
04.10.2017
07:20:26
Нашел telegram.me/android_ru

Prof_Genki
04.10.2017
07:28:24
Подскажите как выполнить цыклы в несколько потоков
Например записать "hello" в файлы 50 раз, а чтобы ускорить делать в 10 потоков

Igor
04.10.2017
07:29:52

Anton
04.10.2017
07:30:30

Ivan
04.10.2017
07:30:44
Форком?

Anton
04.10.2017
07:30:55

Prof_Genki
04.10.2017
07:30:59
Я делаю бота, хочу чтобы всем отвечал одновременно

Ivan
04.10.2017
07:31:54
Я бы сюда посмотрел: https://ruby-doc.org/core-2.4.2/Kernel.html#method-i-fork
Ну а если бота, то всякие ивент машины возможно. Никогда так на руби не извращался, не для того он :)

Igor
04.10.2017
07:34:00
Если писать в один файл, в любом случае система будет лочить доступ к файлу и одновременно в 10 потоков писать не получится (иначе бы записался мусор).
EventMachine из коробки точно может читать файлы ассинхронно, насчёт записи - надо гуглить

Prof_Genki
04.10.2017
07:35:03

Igor
04.10.2017
07:36:27

Prof_Genki
04.10.2017
07:39:20
require 'telegram/bot'
token = 'TOKEN'
Telegram::Bot::Client.run(token) do |bot|
bot.listen do |message|
case message.text
when '/start'
bot.api.send_message(chat_id: message.chat.id, text: "Hello, #{message.from.first_name}")
when '/stop'
bot.api.send_message(chat_id: message.chat.id, text: "Bye, #{message.from.first_name}")
end
end
end
нужно вот это сделать многопоточным, в какую сторону двигаться?

Ivan
04.10.2017
07:45:18
для начала я бы посмотрел может все уже реализовано в самом боте?

Prof_Genki
04.10.2017
07:45:41
нет

Google

Ivan
04.10.2017
07:45:56
потому как фича очевидная

Prof_Genki
04.10.2017
07:48:39
отвечает по очереди, но так получается очень долго

Igor
04.10.2017
07:50:08

Dmitriy
04.10.2017
07:53:59
что сейчас модно, rspec или minitest?

Anton
04.10.2017
07:54:30
Для rspec экосистема получше будет имхо

Nikolay
04.10.2017
07:56:39
Telegram::Bot::Client.run(token) do |bot|
threads = []
bot.listen do |message|
case message.text
when '/start'
threads << Thread.new do
bot.api.send_message(chat_id: message.chat.id, text: "Hello, #{message.from.first_name}")
end
when '/stop'
threads << Thread.new do
bot.api.send_message(chat_id: message.chat.id, text: "Bye, #{message.from.first_name}")
end
end
end
threads.each(&:join)
end
ваше хз будет ли работать, т.к. хз чо там у этого бота в кишках
но попробовать можно)

Prof_Genki
04.10.2017
07:59:08
запустился
спасибо огромное!
работает

Nikolay
04.10.2017
08:00:11
это всё руби магия

Prof_Genki
04.10.2017
08:06:48
перенес в своего бота,работает?☺

Maksim
04.10.2017
08:08:50

Igor
04.10.2017
08:19:39

Ivan
04.10.2017
08:54:44
Ест ьу кого-нибудь опыт распознавания заданной картинки на другой картинке? Нужен тул.
Грубо говоря скармливаешь файл с черным фоном 10х10px а тулза находит его в файле с белым фоном (100х100px) и тем же черным квадратом 10х10px? Понятно, что все будет цветное, но суть именно такая.

Vitality
04.10.2017
08:55:33
ты хочешь спамить сервисы "Найди 10 отличий"?)

Ivan
04.10.2017
08:55:52
т.е. простой тул нужен, не rocket science
а что у тебя есть готовое решение? :)

Alex
04.10.2017
08:58:24

Google

Ivan
04.10.2017
08:58:32
можно, конечно, самому написать сканер матрицы в поисках цветов, но уверен что все уже есть. миру не нужен новый велосипед
мне ж не рыла распознавать :)

Nikolay
04.10.2017
09:11:30
я думаю он может что-то похожее

Ivan
04.10.2017
09:16:42
не не может без предварительной обработки исходника

Prof_Genki
04.10.2017
09:16:58
opencv умеет

Ivan
04.10.2017
09:17:29
догадываюсь :) но не слишком ли это для такой просто задачи?

Nikolay
04.10.2017
09:18:13
может ты террористов ищешь ?

Ivan
04.10.2017
09:18:55
да без разницы, задачу это не меняет :)
ладно, походу дела, предется все-таки погружаться в OpenCV, надеюсь там не все так сложно как кажется.

Nikolay
04.10.2017
09:23:17
да без разницы, задачу это не меняет :)
ну почему, бизнесвелью коррелирует с инструментами…если эта фича типа плёвая хотелка от бизнеса, то можно попоробовать поискать чо попроще и убедить всех что “го попробуем так”..а если это некая киллерфича всего проекта аля поиск террористов, то тебе и решать её надо серьезно)

Ivan
04.10.2017
09:24:53
не, это задача на выходные для души, однако, вроде как хотелка плевая, а ничего кроме OpenCV пока не найдено

Nikolay
04.10.2017
09:25:43
для души OpenCV тогда мастхав!)

A1ex Lopatin
04.10.2017
09:30:11

Maksim
04.10.2017
09:30:36
т.е. это механизм эпохи семафоров, шмема и юниксовых очередей сообщений. Ты когда последний раз прогал с помощью посиксовых семафоров?

Ivan
04.10.2017
09:31:47
поЗикс?

Maksim
04.10.2017
09:32:25
да

Igor
04.10.2017
09:33:26

Maksim
04.10.2017
09:44:32
так файловые локи оттуда же. Притаскивают стойку с NFS стораджем и все локи летят в мусорку

Google

Alex
04.10.2017
10:02:22

Maksim
04.10.2017
10:02:54
а ты веришь что они будут работать? А почему они будут работать? А почему ты веришь админу, который «честно, честно, всё настроил»?
а ты видел, как nfs кеширует инфу о том, что файла нет? Ты проверяешь: нет ли там файла, о его нет, давайте запишем. Пишешь, проверяешь: а его там всё ещё нет по stat, но через open можно открыть

Alex
04.10.2017
10:04:10
Так это nfs дырявый тогда

Maksim
04.10.2017
10:05:36
я бы ни на что, кроме базовых open/read/write старался бы не завязываться. Максимум — можно попробовать доверять O_APPEND

Nikolay
04.10.2017
13:43:13

Maksim
04.10.2017
13:44:15
А какая связь?

Dm
04.10.2017
13:58:21
кто-нибудь пользовался https://github.com/jsonapi-rb ?
есть ли преимущества перед ActiveModel Serializer?

Vasiliy
04.10.2017
14:02:32
пользовался жисонапи в асм, чувакам кто апи юзал не понравилось
перешли на обычный жирсон

Максим
04.10.2017
15:09:22
короче он разавторизовывает юзера после того как ему меняешь пароль
отчего два след. запроса и возвращают 401
пытаюсь обойти с помощью sign_in @user, bypass: true
но что то он не хочет
ни ошибки ничего
просто не сайн инит

Artem
04.10.2017
16:01:03