DevOps Curriculum

...von tldr und man heraus was die unten gezeigten Befehle machen. Versuche diese auch testweise zu verwenden. man (Get a more colorful output for man pages) top cat less

...ein Shell Script, das als Parameter einen Pfad zu einem Verzeichnis entgegen nimmt. Zum testen erstellst du dir selbst ein neues Verzeichnis, in dem du diverse Dateien anlegst. Einige der...

...all the classes in a Rails project, controllers are some of the hardest to test and understand and should receive special care. It is our belief that: Controllers should be...

...for the required model Write the controller first for the required model Write the tests first for the code bad: While doing this you can for example see easier when...

Don't insert table rows in a Rails database migration. This will break tests that expect that database to be empty and cause you all sorts of pain.

...don't need any "conversion" hacks which try to replace commas with dots. Additionally, tests which control browsers with Selenium will also see point-formatted values on non-English locales...

...configuration.rb With this approach you have a stronger decoupling in your application: Your unit tests might use Webmock or VCR for the lib/github_client part, but your application only talks to...

...the number of requests for a single IP address. Bash Command awk '{ print $1}' test.log | sort | uniq --count Result 1 87.140.79.41 3 87.140.79.42 Explain awk '{ print $1}' test.log...

...that, so I hope it will be fixed with a future release. The following test succeeds: context 'factories' do let(:test_case) { FactoryBot.create(:test_case) } it 'are valid' do

...test_case).to be_valid end end But when I did the same in byebug the following happened: (byebug) FactoryBot.create(:test_case) *** NameError Exception: uninitialized constant # ::TargetLimitation

...marked for destruction self.amount = invoice_items.reject(&:marked_for_destruction?).sum(&:amount) end end How to test the correct behaviour in rspec it 'ignores invoice items marked for destruction in a nested...

...Groups so, dass von deinen EC2 Instanzen in der ASG darauf zugegriffen werden kann. Teste die Verbindung manuell. Entferne die asg_instance_types und ersetze sie durch eine variable, die...

...https. This card is for the later kind. The Problem When you want to test your application directly on the VM it's running and usually it's the proxy...

...However the application will still redirect to https URLs which might not work for testing directly on the VM. $ curl -v http://localhost:12345 * Trying 127.0.0.1:12345... * TCP_NODELAY set...

You can build a ViewComponent following our conventions, and write a unit test for it. Resources Read what's new to you, skim what's familiar, skip what...

github.com

...use feature detection or a polyfill when using this API, to avoid unforeseen results. // Test via a getter in the options object to see if the passive property is accessed...

...var supportsPassive = false; try { var opts = Object.defineProperty({}, 'passive', { get: function() { supportsPassive = true; } }); window.addEventListener("testPassive", null, opts); window.removeEventListener("testPassive", null, opts); } catch (e) {} // Use our detect's results. passive applied if...

When you load a with a nonce, that script can await import() additional sources from any hostname. The nonce is propagated automatically for the one purpose of importing more scripts. This is not related to strict-dynamic, which propagates nonces for any propose not limited to imports (e.g. inserting elements). Example We have a restrictive CSP that only allows nonces: Content-Security-Policy: default-src 'none'; script-src 'nonce-secret123' Our HTML loads script.js using that nonce: Our script.js imports other.js without a nonce: let other = await import('other.js') console.log("Look, script.js has imported %o", other) The import succeeds without a nonce, due to implicit nonce propagation. Why this is useful In modern build pipelines, code splitting (chunking) is implemented using dynamic imports. Nonce propagation allows us to use automatic chunking with restrictive, nonce-based CSPs without using strict-dynamic. E.g. esbuild automatically groups dynamically imported modules into chunks, and writes that chunk to disk. The compiled build has an await import('assets/chunk-NAXSMFJV.js'). There's no way to inject a nonce into that import(), but implicit nonce propagation still allows the request. Should I worry about this? It would require some truly strange code for user input to make it into an import() argument. I wouldn't lose sleep over this. Is this a browser bug? It is by design. Here are some sources: HTML Spec Section 8 (Web Application APIs) (search for "descendant script fetch options") Chromium test ensuring none propagation Firefox bug implementing nonce propagation CSP issue: Someone concerned about propagation being a vulnerability CSP issue: Proposal for import-src that went nowhere Are other CSP sources also propagated? No, only nonces. In particular host-based CSPs do not propagate trust. For example, you only allow scripts from our own host (no nonces): Content-Security-Policy: default-src 'none'; script-src 'self' Our HTML loads script.js from our own host: Our script.js imports other.js from a different host: let other = await import('https://other-host.com/other.js') This fails with a CSP violation: Executing inline script violates the following Content Security Policy directive 'script-src 'self''

Geordi now supports our solution for running Selenium tests without having Firefox or Chrome windows popping up all over your workspace. This will stop Selenium windows from appearing on your...

...because capybara is a dependency of cucumber-rails), which will break all your tests. The fix Bundler >= 1.14 has a --conservative flag. Using the conservative flag allows bundle update GEM...

A convenient way to test SNS Subscription Filter Policies is using an email address as the subscription endpoint. However, for this to work when the filter is applied to the...

When filling out forms in Selenium tests, Chrome shows the (usual) bubble, asking to store those credentials. While the bubble does not interfere with tests, it is annoying when debugging...

...tests. Here are two ways to disable it: Option 1: prefs You can set profile preferences to disable the password manager like so: prefs = { 'credentials_enable_service' => false, 'profile.password_manager...

...EC2 Instanzen zugewiesen werden. Anschließend verbindest du dich per SSM auf deine Instanzen und testest den S3 Zugriff mit der aws-cli. Deprovisioniere deine Infrastruktur mit terraform destroy...

This is my configuration: # ~/.claude/notify.sh # Note: You need to `chmod +x` this #!/bin/bash # Test usage: # echo '{ "title": "foo", "message": "bar" }' | bash ~/.claude/notify.sh EDITOR_COMMAND="/snap/bin/rubymine" INPUT=$(cat)

Ubuntu has a package mysql-sandbox that lets you install multiple MySQL versions into your user home: Install mysql-sandbox...

...be missing — detect it and fall back — in HTML, CSS and JavaScript. You can test an app in browsers and devices you don't own, e.g. on BrowserStack, including mobile...

...API, with a compatibility table at the bottom of each page 📄 MDN: Cross-browser testing — the module, including feature detection in JavaScript and CSS 📄 Reminder: Safari is not an evergreen...

makandra dev

When your application is open for public sign up and sends out transactional e-mails to a large number of...

DevOps Curriculum

...systemd-networkd man file-hierarchy Übungen Erstelle dir eine Anwendung für einen Service Für Testzwecke brauchst du eine einfache App die du später als Service starten kannst. Du kannst dir...

...mit ./badapp starten. Die Anwendung startet einen Webserver. Mit curl localhost:8080 kannst du testen ob es funktioniert. Erstelle einen systemd Service der badapp startet. Wenn die App erfolgreich startet...