TGViewer
Channel Public Channel
DEV: Рубиновые тона

DEV: Рубиновые тона

@dev_in_ruby_colors

Анонсы новых видео о программировании (Ruby/Rails, Solidity/Ethereum, Python, JS и не только), практические советы, обзор полезных инструментов и новости из мира IT
Subscribers
3.27K
Photos
156
Videos
2
Links
1.1K

Showing posts older than #347 · Back to latest

Older Posts 20 shown
Post #346 893
В очередном уроке по RSpec мы разберём решение WebMock, позволяющее легко тестировать сторонние сервисы API. С его помощью вы можете создавать "запросы-заглушки", формировать ожидаемые ответы и проверять, что вызов определённых методов действительно приводит к отпрвке запросов. https://www.youtube.com/watch?v=M0_wdUNf6PE
YouTube RSpec 3, урок #5 | WebMock: тестирование сторонних сервисов (API) В очередном уроке по RSpec мы разберём решение WebMock, позволяющее легко тестировать сторонние сервисы API. С его помощью вы можете создавать "запросы-заглушки", формировать ожидаемые ответы и проверять, что вызов определённых методов действительно приводит…
  • 🔥 12
  • 👍 8
  • ❤ 5
Post #344 789
  • 😁 1
Post #342 766
Overengineering, доведённый до абсурда: библиотека, которая говорит, равняется ли число 13. https://github.com/jezen/is-thirteen Что интересно, у неё в списке зависимостей есть noop3 - https://github.com/sindresorhus/noop3#readme библиотека, которая ничего не делает
GitHub GitHub - jezen/is-thirteen: Check if a number is equal to 13. Check if a number is equal to 13. Contribute to jezen/is-thirteen development by creating an account on GitHub.
  • 😁 9
  • 👏 1
Post #341 829
И правда
  • 😁 22
  • 🎉 3
Post #340 818
По мотивам "this person does not exist", ресурс, который показывает несуществующие блюда с названиями, сгенерированными нейросетью https://thissnackdoesnotexist.com/
  • 👍 3
Post #338 821
Post #337 811
Post #334 886
Биржа для разработчиков Rails с открытым исходным кодом https://railsdevs.com/
  • 🔥 8
Post #332 930
Один чел из твиттера сделал нейронку, которая на основе фоток и мемов с волками делает свои. Ну, в общем, получилось странновато
  • 😁 7
  • 🔥 2
Post #329 852
В этом уроке мы поговорим о test doubles: так называемых "заглушках", которые позволяют вместо реальных объектов использовать "дублёров". Это очень удобно в тех случаях, когда необходимо ввести изолирование и тестировать не всю систему целиком, а конкретную часть. Узнаем, что такое mocks, stubs и spies и как их создавать. https://www.youtube.com/watch?v=4JyOmdi-hNs
YouTube RSpec 3, урок #4 | Test doubles, mocks, stubs, spies В этом уроке мы поговорим о test doubles: так называемых "заглушках", которые позволяют вместо реальных объектов использовать "дублёров". Это очень удобно в тех случаях, когда необходимо ввести изолирование и тестировать не всю систему целиком, а конкретную…
  • 🔥 29
  • ❤ 3
Post #328 840
Post #327 977
Ну а пока ещё немного Solidity. Сегодня поступил резонный и не вполне очевидный вопрос. Есть код:

contract Adder {
uint public a;

function add() public {
for (uint i; i < 100; i++) {
a += i;
}
}
}


Почему в этом случае первый вызов функции add стоит сильно больше газа (на 20к больше), чем последующие? И почему вот с таким кодом:

contract Adder {
uint public a = 1; // a любой, но НЕ нулевой

function add() public {
for (uint i; i < 100; i++) {
a += i;
}
}
}


вызовы стоят одинаково? Я и раньше замечал такую вещь, причём в разных средах. Ответ, на самом деле, очень простой: эта логика зашита прямо в EVM. Читаем документацию по опкодам:

* G(sset) — 20000 Paid for an SSTORE operation when the storage value is set to non-zero from zero
* G(sreset) — 2900 Paid for an SSTORE operation when the storage value’s zeroness remains unchanged or
is set to zero.

То есть переводя с русского на человеческий:

* Мы платим 20к газа, если сохраняем в переменную состояния новое НЕ нулевое значение, но только в том случае, если эта переменная хранила до этого ноль

* Но мы платим всего лишь 2900 газа, если в не-нулевую переменную мы сохраняем что-то ещё (или она была нулевой и осталась нулевой)

Отака история, малята.
  • ❤ 20
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →