author avatar

ashwanikumarjha

Thu Jun 20 2024

EJS, the templating engine for JavaScript, allows us to generate HTML markup with plain JavaScript.

By default, EJS escapes any HTML entities in the output to prevent issues such as cross-site scripting. This is done by replacing characters like <, >, &, and " with their respective HTML entity codes.

For example:

- `&` is replaced with `&`
- `<` is replaced with `<`
- `>` is replaced with `>`
- `"` or `'` (double or single quote) is replaced with `"` or `'` respectively.

Unescape HTML entities with <%- %>

If we want EJS to output our data without escaping HTML entities, replace <%= %> with <%- %>. This instructs EJS to render the data as unescaped.

author avatar

giritharan

Thu Jun 20 2024

My Rails application is named xyz. When I tried to create a scaffold with the same name as the application, it caused a below error.

The name 'Xyz' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative or use --skip-collision-check or --force to skip this check and run this generator again.

To fix this, I changed the module name in application.rb to abc. After making this change, everything worked. It's always best to avoid using the same name for both the model and the application.

#rails-naming-convention #rails

author avatar

giritharan

Wed Jun 19 2024

After pushing my changes to the Fly, I noticed that my Application JS controller wasn't being found. The problem was due to an incorrect line in app/javascript/controllers/application.js. It originally had:

import { application } from "./application";

To fix it, I changed it to:

import { application } from "controllers/application";

These changes ensured that the request was directed to the correct location, and the Stimulus JS controller started working.

#stimulus #assert-not-loading #rails

author avatar

ayushsrivastava

Wed Jun 19 2024

Common procedure to monitor data in Devops Environment

First we need a source of metrics that can be Applications, Databases, Containers etc

After that we need Exporters

Exporters are components that collect and export metrics from various systems, applications, and services, making them available to monitoring tools

Then we need Datasource

Datasource aggregates, stores, and allows querying of the metrics collected from Exporters, making it the data source for visualization tools and alerting mechanisms.

Collected data is stored in Time Series database

A time series database (TSDB) is a special type of database designed to store and manage data that is recorded over time. Each piece of data has a timestamp, which helps keep track of when it was collected.

Then comes the visualisation part

We can use tools like Grafana that make use of the data that is stored in Time Series Database like prometheus to visualise data

#monitoring #devops

author avatar

adithya.hebbar

Tue Jun 18 2024

util.inspect use-case:

• Without util.inspect

const obj = {
  name: "Adi",
  age: 24,
  details: { details1: { details2: { hobbies: "travelling" } } },
};
console.log(obj);
//Output: { name: 'Alice', age: 30, details: { details1: { details2: [Object] } } }

• With util.inspect

import util from "util";

const obj = {
  name: "Adi",
  age: 24,
  details: { details1: { details2: { hobbies: "travelling" } } },
};

console.log(util.inspect(obj, { depth: null, colors: true }));

//Output: { name: 'Adi', age: 24, details: { details1: { details2: { hobbies: 'travelling' } } } }

console.log doesn't show all details of complex objects, especially nested ones or hidden properties. util.inspect gives a complete and customizable view for better debugging and understanding.

#javascript

author avatar

adithya.hebbar

Tue Jun 18 2024

To kill a process running on a specific port in mac:

  1. lsof -i :<port_number>
  2. Note the PID of the process from the output.
  3. kill -9 <pid> #killprocess
author avatar

ayushsrivastava

Mon Jun 17 2024

Password recovery command for Influxdb when running in local as the UI does not provide any other way to set a new password if you have forgotten

influxd recovery user update \
  --username example-username \
  --password ExAmPL3-paS5W0rD

#influxdb

author avatar

ayushsrivastava

Mon Jun 17 2024

Uninstall / remove a Homebrew package including all its dependencies

brew tap ggpeti/rmrec
brew rmrec pkgname

#homebrew

author avatar

nisanth

Tue Jun 11 2024

Terminating a AWS EC2 Instance #devops #aws

If the Instance is no longer in use and has been stopped, it is necessary to proceed with terminate the Instance. This step ensures that we free up resources, reduce potential security risks, and maintain a clean and efficient infrastructure.

Checklist:

  1. Take a Snapshot of the EBS Volume: ◦ It is best practice to take a snapshot of the EBS volume as a backup before decommissioning the service.
  2. Verify Terraform Management: ◦ Check if the service is managed by Terraform.
  3. Terminate the Instance
author avatar

nisanth

Mon Jun 10 2024

Restarting a DaemonSet in Kubernetes #devops #kubernetes

To find a DaemonSet in a specific namespace:

kubectl get ds -n <namespace>

To restart the DaemonSet:

kubectl rollout restart ds <name-of-the-daemon-set> -n <namespace>

Showing 1 to 5 of 62 results