Use CTE (Common Table Expression)

--একই result set যদি ২–৩ জায়গায় লাগে → Temp Table ভালো।

ALTER PROCEDURE [dbo].[GetPOBasicParentDataByParamsForAdvanceBill_SP]
@FromDate date,
@ToDate date,
@POId int = 2011,
@SupplierId int=0,
@CompanyId int=0,
@userId int = 3
AS
	;WITH AlreadyBilledAmount AS (
	SELECT 
		bic.Po_Id,
		SUM(ISNULL(bigc.billAmount,0.00)) - SUM(ISNULL(bigc.Discount,0.00)) as TotalBilledAmount
		FROM dbo.BillInvoice_Parent bip
		INNER JOIN dbo.BillInvoice_Child bic ON bip.ID = bic.Bill_ParentId
		INN

Python Packaging - One Big Question

# Pourquoi les imports nécessitent une install éditable avec un src layout

## Le problème

Quand tu lances `pytest` depuis la racine du projet, Python cherche les modules dans son `sys.path`. Par défaut, `sys.path` contient le répertoire courant (`.`) et les packages installés. Avec ta structure :

```text
.
├── src/
│   └── mini_etl/
│       ├── __init__.py
│       └── models.py
├── tests/
│   └── test_models.py
```

Python ne trouve pas `mini_etl` parce qu'il n'est **ni à la racine** (il est 

How to select a element by role and also for css selector in Playwright?

// It is possible using .and locator https://playwright.dev/docs/api/class-locator#locator-and
import { test, expect } from "@playwright/test";

test(" Text input actions", async ({ page }) => {
  await page.goto("https://testautomationpractice.blogspot.com/");
  const textBox = page.getByRole('textbox').and(page.locator("#name"));
  await textBox.fill("Playwright");
  await expect(textBox).toHaveValue("Playwright");
});

how to runs only one test on PlayWright?


npx playwright test tests/todo-page.spec.ts

how to check if a input has a value using Playwright?

// https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value
const locator = page.locator('input[type=number]');
await expect(locator).toHaveValue(/[0-9]/);

how to complete a input or text area in playwirght?

// Text input
await page.getByRole('textbox').fill('Peter');

// All arguments https://playwright.dev/docs/api/class-locator#locator-fill

190. Reverse Bits

Reverse bits of a given 32 bits signed integer.
/**
 * @param {number} n
 * @return {number}
 */
var reverseBits = function(n) {
    // This will accumulate the reversed bit pattern.
    // Start at 0 because we build it up bit-by-bit.
    let result = 0;

    // We must process exactly 32 bits.
    for (let i = 0; i < 32; i++) {

        // Step 1: Extract the least significant bit (LSB) of n.
        // (n & 1) gives us either 0 or 1.
        let bit = n & 1;

        // Step 2: Shift result left to make room for the new bit.
        result

AI ML

# AI / ML

## Prompt

Openness to experience, Conscientiousness, Extraversion, Agreeableness, Non-Neuroticism. (https://github.com/aimclub/OCEANAI?tab=readme-ov-file)


- AIM
- OCEAN
- CoT

## Context

- `.github/prompts/*.prompt.md` - default in VSCode (change: `chat.promptFilesLocations`) https://code.visualstudio.com/docs/copilot/customization/prompt-files
- `@...`
- Structured Output

how to test if a element is enabled on page using Playwright?

// you can do that using the toBeEnabled method of the object that returns expect method
 
import { test, expect } from '@playwright/test';
 
test('basic test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  const inputName = page.locator("#name") // Select element by id
  await expect(inputName).toBeEnabled()
});

how to check if a element is visible on a page using PlayWright?

// you can do that using the toBeVisible method of the object that returns expect method
 
import { test, expect } from '@playwright/test';
 
test('basic test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  const inputName = page.locator("#name") // Select element by id
  await expect(inputName).toBeVisible()
});

how to select an html element using css selector in Playwright?

// you can do that using the locator method of the page object that is set as argument of the test function argument

import { test, expect } from '@playwright/test';

test('basic test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  const inputName = page.locator("#name") // Select element by id
  await expect(inputName).toBeVisible()
});

Prevent to push on branches

- Create `.git/hooks/pre-push` with ``` #!/bin/bash protected_branches=("develop" "main" "master" "prodcution") current_branch=$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,') for branch in "${protected_branches[@]}"; do if [ "$current_branch" = "$branch" ]; then echo "🚫 Direct push to '$branch' is not allowed." echo " Please create a feature branch and open a pull request." exit 1 fi done exit 0 ``` - Then make it executable with `chmod +x .git/hooks/pre-push`
#!/bin/bash

protected_branches=("develop" "main" "master" "production")
current_branch=$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,')

for branch in "${protected_branches[@]}"; do
    if [ "$current_branch" = "$branch" ]; then
        echo "🚫 Direct push to '$branch' is not allowed."
        echo "   Please create a feature branch and open a pull request."
        exit 1
    fi
done

exit 0

How to navigate to another page on Playwright?

// You can navigate to another page using the goto method of the page object that is set as argument on the function argument for test function page.goto
import { test, expect } from '@playwright/test';
  test('email entered on login page is displayed on code page', async ({ page }) => {
    await page.goto('/login');
  })

🐧 - Ubuntu - Cheatsheet `fd`

# Cheatsheet fd — De zéro à avancé

## Syntaxe générale

```
fd [FLAGS/OPTIONS] [<pattern>] [<chemin>]
```

- `pattern` : regex par défaut (pas un glob)
- `chemin` : dossier de recherche (défaut : répertoire courant)
- Tout est optionnel : `fd` seul liste tous les fichiers non-cachés du dossier courant

---

## Niveau 1 : Les fondamentaux

### Recherche simple

```bash
# Tous les fichiers contenant "test" dans le nom
fd test

# Recherche dans un dossier spécifique
fd test src/

# Recherche depui

🐧 Ubuntu - Alternatives modernes à find et grep

# Alternatives modernes à `find` et `grep` sur Ubuntu

## Vue d'ensemble

| Outil classique | Alternative moderne | Auteur / Écosystème | Langage |
|-----------------|--------------------|--------------------|---------|
| `find` | **fd** | David Peter | Rust |
| `grep` | **ripgrep** (`rg`) | Andrew Galloway (BurntSushi) | Rust |

Philosophie commune : valeurs par défaut intelligentes, parallélisation, respect automatique de `.gitignore`, syntaxe concise.

---

## fd — Remplaçant de `find`

### I

How can I check what is the remote repository of my current branch?

git remote -v
# origin  https://github.com/user/repo.git (fetch)
# origin  https://github.com/user/repo.git (push)