@proRuby

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

Ivan
03.10.2017
21:32:10
горькая правда

программистом вообще сложно быть

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
программистом вообще сложно быть
А кем лекго? %w[ шахтером полицейским адвокатом врачем полководцем]

программистом вообще сложно быть
Если 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 Подскажите, кто дело имел.

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

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

не, там асинхроные запросы. А как через callback? Вот он должен как раз через callback отдавать значение, но нет. Что-то не так делаю явно.
EM::Synchrony.sync - поставит на паузу текущий файбер. Т.е. всё остальное будет работать ассинхронно. Если через callback, то варианта два: * return_long_url возвращает колбэк, вызывающий код вешается на его события * вызывающий код передаёт в return_long_url свой Defferable объект, который будет вызван по колбэку @redis_server.get(shorty).callback

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 потоков

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

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 из коробки точно может читать файлы ассинхронно, насчёт записи - надо гуглить

Igor
04.10.2017
07:36:27
Вот поэтому я и написал в "файлы"
Тогда в случае MRI - эффективнее всего делать форки процессов. Если другая реализация, то можно на тредах

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
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 нужно вот это сделать многопоточным, в какую сторону двигаться?
Там в кишках используется faraday, можно попробовать ему подсунуть ассинхронный адаптер (не уверен, что выгорит, надо тестировать). Или вынести сложную (долгую по времени) обработку в очередь. Вот эти все bot.api.send_message и обрабатывать их в N воркерах

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
перенес в своего бота,работает?☺

Igor
04.10.2017
08:19:39
что бы залочить доступ к файлу и не писать туда мусор надо ОЧЕНЬ здорово постараться
https://ruby-doc.org/core-2.1.4/File.html#method-i-flock Разве не так? Мне правда казалось, что это можно прямо в open сделать или даже автоматом делается

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
т.е. простой тул нужен, не rocket science
оно все равно будет rocker science :)

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

мне ж не рыла распознавать :)

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 тогда мастхав!)

Maksim
04.10.2017
09:30:36
https://ruby-doc.org/core-2.1.4/File.html#method-i-flock Разве не так? Мне правда казалось, что это можно прямо в open сделать или даже автоматом делается
ой, слушай, линуксовый лок файла это болезненная штука. Во-первых хардлоки реально стремные, во-вторых это всё плохо работает когда возникает NFS

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

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
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

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

но что то он не хочет

ни ошибки ничего

просто не сайн инит

Страница 790 из 1594