Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Лучшие ИТ-работодатели 2020 Лучшие ИТ-работодатели 2020
Платформа, а не костыль: как виртуальная среда укрепляет реальный бизнес
Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
TITnet

Сергей Блохин

QA
  • 30
    вклад
  • 23
    вопроса
  • 81
    ответ
  • 15%
    решений
Комментарии
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как записать данные в csv файл?

    TITnet
    Сергей Блохин @TITnet
    Magic Code, отличный выбор! А мне по работе пришлось с Ruby перейти на NodeJS, страдаю. ))
    Написано 06 нояб. 2020
  • Как на руби написать метод который отправляет текст на url адрес и получает ответ?

    TITnet
    Сергей Блохин @TITnet
    ответ который придет в виде JSON будет находится в переменной response, я правильно понимаю?


    Ord EO, не совсем.
    Ответ будет в переменной response.body.
    И это будет строка. Т. к. JSON — это строка.
    А если надо получить Hash-объект, то строку надо будет распарсить: JSON.parse response.body
    Написано 03 авг. 2020
  • Как на руби написать метод который отправляет текст на url адрес и получает ответ?

    TITnet
    Сергей Блохин @TITnet
    сайту было понятно, что ответ должен прийти в JSON


    Ord EO, можно передать заголовок Accept: application/json.
    Но сработает это только в том случае, если сервер ждёт и обрабатывает данный заголовок.
    Content-Type — заголовок, который говорит серверу, в каком формате будут переданы данные от клиента.
    Accept — заголовок, который говорит серверу, в каком формате клиент ожидает данные от сервера.
    То, как оба эти заголовка будут обрабатываться зависит исключительно от сервера.
    Написано 02 авг. 2020
  • Как на руби написать метод который отправляет текст на url адрес и получает ответ?

    TITnet
    Сергей Блохин @TITnet
    Нужно написать метод, который отправляет текст POST запросом на определенный URL вида (123.32.23.111/test и получить ответ в виде JSON.


    client = HTTPClient.new
    response = client.post('https://httpbin.org/post', 'string')


    посоветуйте новичку статью или ресурс где описано подобное


    https://habr.com/ru/post/215117/
    https://coderwall.com/p/c-mu-a/http-posts-in-ruby
    https://ruby-doc.org/stdlib-2.7.0/libdoc/net/http/...
    Написано 02 авг. 2020
  • Как проверить корректность ip адресса на руби?

    TITnet
    Сергей Блохин @TITnet
    > первый puts тоже выдает false

    Это происходит из-за того, что в ТЗ было сказано, что проверяться должен «домен/хост» на корректность IP-адреса.
    Уточните, что именно должна делать функция, тогда можно построить более точное решние.

    А пока, чтобы первый puts возвращал true, нужно убрать блок:

    host = url.host
    
      begin
        ip = IPAddr.new host
      rescue IPAddr::InvalidAddressError
        return false
      rescue StandardError
        raise
      end
    Написано 02 авг. 2020
  • Как можно прослушать порт с определенным адресом на руби?

    TITnet
    Сергей Блохин @TITnet
    Ord EO, вам следует посмотреть в сторону веб-серверов, например, SinatraRB.
    Написано 02 авг. 2020
  • Как можно прослушать порт с определенным адресом на руби?

    TITnet
    Сергей Блохин @TITnet
    То, что вы написали — IP адрес, а не порт.
    И что вы понимаете под «прослушать»?
    Написано 31 июл. 2020
  • Как в cypress открыть новую вкладку?

    TITnet
    Сергей Блохин @TITnet
    Владимир Голубь, два браузера?
    Написано 09 июл. 2020
  • Как сделать первую букву заглавной используя регулярные выражения в руби?

    TITnet
    Сергей Блохин @TITnet
    Аноним, да, только не забывайте, что это метод Rails.
    https://apidock.com/rails/String/titleize
    В чистом Ruby его нет.
    Написано 18 февр. 2020
  • Как взять данные с JSON?

    TITnet
    Сергей Блохин @TITnet
    Аноним, any time 4 u :)
    Написано 18 февр. 2020
  • Конвертация секунд в человеческий формат?

    TITnet
    Сергей Блохин @TITnet
    О, Сишники украли у нас, Рубистов, процент для остатка от деления. :)))
    Написано 12 февр. 2020
  • Конвертация секунд в человеческий формат?

    TITnet
    Сергей Блохин @TITnet
    Исмаил, написал вам ответ в ответах (не в комментариях).
    Написано 12 февр. 2020
  • Конвертация секунд в человеческий формат?

    TITnet
    Сергей Блохин @TITnet
    Уточните, что вы хотите получить?
    Представьте себе метод вашей мечты, которому вы что-то подаёте на вход, и что-то ожидаете на выходе.
    Опишите, что вы хотите подавать и что получать.
    Написано 12 февр. 2020
  • Как вывести общее число количества постов только из нужных категорий на сайте?

    TITnet
    Сергей Блохин @TITnet
    Какое отношение Ruby имеет к вопросу?
    Написано более года назад
  • Каким гемом можно спарсить .pdf файл в руби?

    TITnet
    Сергей Блохин @TITnet
    В чём выражается «pdf-reader не так хорош»?
    Он решает задачу? Данные достаёт?
    Если нет, то приведите пример PDF,
    из которого нужно достать данные,
    но pdf-reader этого не делает.
    Написано более года назад
  • Как сделать первую букву заглавной используя регулярные выражения в руби?

    TITnet
    Сергей Блохин @TITnet
    Дмитрий Шицков, но надо признать, что ваше решение почти в 10 раз быстрее моего. :)

    require 'benchmark'
    
    # String
    class String
      # @see string#capitalize
      def capitalize_words(separator = ' ')
        words = split(separator).map(&:capitalize)
        words.join separator
      end
    end
    
    source = 'константин константинович константинопольский'
    
    n = 100_000
    
    Benchmark.bm do |benchmark|
      benchmark.report :titnet do
        n.times do
          source.capitalize_words
        end
      end
      benchmark.report :zarom do
        n.times do
          source[0] = source[0].capitalize
          source
        end
      end
    end


    user     system      total        real
    titnet  0.813373   0.012513   0.825886 (  0.947498)
    zarom  0.114445   0.000923   0.115368 (  0.118023)
    Написано более года назад
  • Как сделать первую букву заглавной используя регулярные выражения в руби?

    TITnet
    Сергей Блохин @TITnet
    Не боитесь can't modify frozen String (FrozenError)?
    Написано более года назад
  • Можно в Ruby on Rails создать Model с источником данных в виде внешнего RESTful API?

    TITnet
    Сергей Блохин @TITnet Автор вопроса
    Роман Мирр, просто класс можно, но...
    Поправьте меня, если я не прав, пожалуйста.
    Для меня модель, в рельсовом её понимании, хороша тем, что я не думаю о создании подключения к БД.
    Я просто внутри конструктора говорю Users.all или Users.custom_method и получаю результат запроса к БД.
    В модели я тоже не думаю о подключении. Я пишу class Users; end и всё.
    Я понимаю, что внутри Рельс при старте сервера происходить соединение с БД и я имею к нему доступ в любом месте своего кода.
    Аналогичного я хочу добиться и с API.
    Есть класс (условный пример кода), в конструкторе которого я создаю HTTP соединение.
    А каждый метод объекта этого класса обращается к API через это соединение.

    class ApiClient
      def initialize
        @client = HTTPClient.new
        @client.default_header = { api_key: 42 }
      end
    
      def all
        response = @client.get 'example.com/users.json'
        response.body
      end
    end


    Чтобы получить пользователей, мне надо в конструторе, а точнее, в каждом месте кода, где мне это нужно, сначала делать `api_client = ApiClient.new`, а уже потом делать `api_client.all`.

    Хочу избавиться от этого и просто делать там, где мне это надо: `ApiClient.all`.
    Полагаю, что это может быть костылём и `bad practices`.
    Возможно в Рельсах есть «глобальный конструктор для пользовательских классов»?
    Написано более года назад
  • Нужно спарсить товары из категории https://www.petsonic.com/snacks-huesos-para-perros/, почему не проходит по массиву из url товаров?

    TITnet
    Сергей Блохин @TITnet
    https://www.petsonic.com/snacks-huesos-para-perros/ — не открывается, чтобы можно было проверить.
    Приведите пример исходного HTML страницы, на которой производите парсинг.
    Написано более года назад
  • Нужно спарсить товары из категории https://www.petsonic.com/snacks-huesos-para-perros/, почему не проходит по массиву из url товаров?

    TITnet
    Сергей Блохин @TITnet
    Выведите проблемный URI на экран и попробуйте его вручную открыть.
    Написано более года назад
  • 1
  • 2
  • 3
  • 4
  • Следующие →
Самые активные сегодня
  • Dr. Bacon
    • 12 ответов
    • 0 вопросов
  • Василий Банников
    • 12 ответов
    • 0 вопросов
  • solidcreature
    Николай Миронов
    • 12 ответов
    • 0 вопросов
  • SoreMix
    SoreMix
    • 9 ответов
    • 0 вопросов
  • delphinpro
    Сергей delphinpro
    • 8 ответов
    • 0 вопросов
  • bestowhope
    Евгений Голубев
    • 8 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации