• Причины чёрного экрана смерти iMac 2017?

    morr
    @morr Автор вопроса
    ABOMETP запуск диагностики пробовал, оно говорит, что всё в порядке. Для Target Display Mode у меня к сожалению нет thunderbolt кабеля, но я уже гуглил по этому поводу раньше, и везде в интернетах пишут, что 27" imac 2017 не поддерживает Target Display Mode
  • Причины чёрного экрана смерти iMac 2017?

    morr
    @morr Автор вопроса
    ABOMETP видео карта интегрированная. Серийник DGKVLJ9SJ1GQ. Принтер есть, но он выключен и не включался несколько месяцев. Есть беспроводные апловская клавиатура, трекпад, мышь, airpods pro (купил буквально за дни до того, как падения начались, даже думал, что в них причина может быть, но их отключение/полный вынос из квартиры ничего не поменял).
    Вчера долго не было падений, сейчас включил посмотреть серийник, через минуту чёрный экран смерти.

    Пробовал вообще отключать блютус/wifi. Никакой разницы. Но по-моему компьютер продолжает bluetooth использовать даже при выключении в настройках - беспроводная мышь и трекпад продолжают работают (не полностью, жесты не работает при выключенном bluetooth)
  • Причины чёрного экрана смерти iMac 2017?

    morr
    @morr Автор вопроса
    еще в копилку. сегодня примерно 6 часов проработал imac без сбоев (сначала с час гонял все cpu на 100% загрузке, потом включил видео с ютуба). стоило компьютеру перейти в режим сна, тут же (или сразу, или в течение пары минут - не уверен) выскочил чёрный экран смерти
  • Причины чёрного экрана смерти iMac 2017?

    morr
    @morr Автор вопроса
    ABOMETP памяти у меня две планки. пробовал вставлять по одной, вставлять в разные слоты. это ничего не меняло, всё равно ребуты в произвольные моменты происходили

    > стресс-тест запустить yes > /dev/null &
    нагрузил 8 ядер на 100%, вентилятор крутится, шумит, ребута не происходит. произойдёт вскоре через некоторе время по любому, но корреляции с нагрузкой cpu не вижу

    на прошлой неделе я включил ютуб в сафари на свежей переустановленной osx для теста, и отработало больше 8 часов без падения. а пару дней назад умерло через пару минут после запуска видео. не вижу никаких закономерностей. умирает в случайны моменты
  • Как индексировать элементы для частого изменения очереди?

    Заур Ашурбеков при сдвиге помимо изменения позиции самого элемента, он делает лишь один запрос, пример которого я написал выше. как именно он отработает на ваших данных, лучше смотреть на продакшен базе через explain analyze. в большинстве случаев сервер не заметит этого, если у вас не слишком большая таблица

    плюс скорее всего вам сортировка нужна в контексте какого-то поля, чтобы сортировать десятки, максимум сотни элементов, в запрос в таком случае добавится where условие по этому полю, и обновляться индекс будет для совсем малого числа элементов. ручная же сортировка по position по всей таблице для десятков тысяч и более элементов в большинстве случаев бессмысленна и скорее всего означает неправильные требования к задаче
  • GIT: как скопировать (не слить!) ветку c форка в оригинальный реп?

    после git remote и git fetch переключитесь на желаемую ветку git checkout baz/fuz и ответвитесь от неё git checkout -b new_branch_name
  • RSpec Rails - почему в features проверяются не все тесты?

    Diesel-nick: не особый синтаксис. Как правило чтобы выполнить тест, вы сначала создаёте какие-то объекты через before блок или через let
    let(:site) { create :site }
    соответственно, когда создаваемые объекты пишутся в базу, то работает это гораздо медленнее.
    представьте, у вас для создания нужный условий к тесту создаётся десяток объектов.
    а потом вы пишите тесты
    it { ... }
    it { ... }
    it { ... }
    it { ... }
    it { ... }

    на каждый it блок будет создаваться по десятку объекту. 10 * 5 = 50 штук. соответственно, если пять it заменить на один, то объектов создатся в пять раз меньше. один it в такой ситуации отработает гораздо быстрее, чем пять.
    когда у вас наберётся несколько тысяч подобных тестов, то разница между один "it - один expect" и "один it - много expect" станет очень заметной. сильно зависит от тестов, но скорее всего "один it - много expect" будут выполняться в 2-4 раза быстрее
    одна-две минуту на все спеки, или 4-5 минут - разница очень существенна
  • RSpec Rails - почему в features проверяются не все тесты?

    Diesel-nick: один expect в одном it/scenario лично мне кажутся гораздо эстетичнее и читабельнее. стараюсь использовать такой синтаксис в случаях, когда в тестах не делается запросов к базе/к серверу(как в feature спеках).
    в остальных случаях группирую expect'ы в одном it/scenario. причина - при большом числе спеков группировка в разы ускоряет скорость прохождения тестов.
  • Какую мышу взять для макбука?

    Nikita Schipilov: если мышь будет без нареканий работать при проверке перед покупкой, то почему бы и нет
  • Как в Rails ловить ActionController::RoutingError при отдаче изображений на девелопменте?

    Этот гем тогда не подойдёт? https://github.com/evrone/quiet_assets если опцией quiet_assets_paths задать путь к изображениям
  • Как вести разные проекты с одним базовым функционналом?

    Александр Королев: увы, только теоретические размышления, т.к. делать не приходилось, лишь думал над этим.
    В рельсах уже есть встроенный функционал - Rails::Engine edgeguides.rubyonrails.org/engines.html . В engine можно поместить полную структуру приложения: /app, /config, /db (модели, миграции, вьюшки, ассеты).

    Соответственно выносим весь общий код в engine, кладём его в отдельный репозиторий подключаем в Gemfile для development и test через path (gem 'my_engine', path: '/path-to-repository') (чтобы не приходилось делать bundle update на каждое изменени в движке), а для production и staging подключаем как обычно.

    Engine в роутах маунтим в корень проекта (mount MyEngine, at: '/') и затем переопределяем в каталоге проекта нужные нам /app/views, /app/controllers

    В теории должен получиться движок, которой легко подключается, функционал которого можно переопределять своим кодом. Как будет на практике - не знаю, попробовать это мне так и не довелось. Наверняка выскочат какие-то подводные камни, о которые придётся хорошенько поспотыкаться.
  • Как правильно составить запрос?

    > а как во втором случае оперировать .limit(15)?
    не понял вопроса. отобразить ведь нужно 15 постов за вычетом постов, не подходящих по каким-то критериям?
    соответственно выбираем 15 постов и их фильтруем
    posts = Post.where(критерии_выборки).limit(15).select { |post| условия_фильтрации }

    возможно, вас смущает метод select, т.к. select из Enumerable и select из ActiveRecord имеют одинаковое название? написанный мной select - это не select активрекорда, это фильтрация массива.

    можно ещё вот так написать, код будет эквивалентен
    posts = Post.where(критерии_выборки).limit(15).to_a
    posts = posts.select { |post| условия_фильтрации }
  • Как правильно составить запрос?

    > Поторопился чуток) сейчас попробую переделать, логика не та не много, .limit(15) нужен не фиксированный. То есть если в выбранных 15 есть 1 с post_block_id 2 то надо выводить на 1 меньше. А в данному случае если Post_block_id 2 то он его просто фильтрует, тоже самое с quote. А надо просто что бы к примеру есть в эти 15, 3 с Post_block_id 2 и 2 c quote не nil, то выводим не 15 а 10

    тут как раз второй вариант подходит с фильтрацией в коде. сначала выбираем 15 постов, затем их фильтруем в руби. два варианта я написал, чтобы показать, как вообще можно делать.
  • Как правильно составить запрос?

    > Единственно вот так выдавало ошибку
    да, post_asset надо заменить на post_assets в where. там пишется не имя ассоциации, а имя таблицы
    .where.not(id: Post.joins(:post_asset).where.not(post_assets: { quote: nil }))

    > И если можно еще вопрос, что все таки лучше фильтровать сразу или после в коде?
    > Как лучше по производительности чтоли? Мне кажется выгоднее последнее?

    всё зависит от объёма данных. когда нужно всего 15 записей, и затем от них отрезать лишнее, то в руби отфильтровать и проще, и код понятнее. если бы, например, нужно было отфильтровать тысячи записей, и только затем выбрать 15, то это нужно было бы делать в базе.
  • Ruby on Rails vs Node.js: что лучше выбрать?

    @yucom ответил же на ваш вопрос в посте выше первым абзацем.
    nodejs не лучше и не хуже, он другой, он работает как _асинхронный_неблокирующий_сервер_, и с рельсами сравнивать его некорректно.

    асинхронность означает, что писать логику придётся на колбеках, на каждое блокирующее действие, задавая колбек на результат выполнения операции. это гораздо труднее, как написание самого кода, так и написание тестов к нему. преимуществом же будет возможность сервера держать на порядки больше открытых конекшенов.

    так же v8 сам по себе быстрее руби, на сколько сказать затрудняюсь, на вскидку в 1.5-3 раза.

    а недостатком, очень большим недостатком, будет отсутствие привычной экосистемы руби и скудный набор библиотек.

    если вы хорошо знакомы с руби и рельсами и вам нужен именно асинхронный вебсервер, то выбирайте лучше eventmachine или производные от него более высокоуровневые сервера (goliath, celluloid), получите ту же асинхронность, но с кучей плюшек, сопуствующих языку ruby.

    а если вам просто нужно поднять обычное апи, то асинхронность тут нафик не сдалась, рельсы будут лучшим выбором, на крайний случай можно взять синатру, либо её аналоги.