See how a minor change to your commit message style can make you a better programmer.
Format: <type>(<scope>): <subject>
<scope>
is optional
name: Main | |
on: | |
pull_request: | |
push: | |
branches: [main] | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} |
import os from 'node:os' | |
function getIPAdress() { | |
let localIPAddress = '' | |
const interfaces = os.networkInterfaces() | |
for (const devName in interfaces) { | |
const iface = interfaces[devName] as os.NetworkInterfaceInfo[] | |
for (let i = 0; i < iface.length; i++) { | |
const alias = iface[i] | |
if ( |
<script setup lang="ts"> | |
import ConfettiGenerator from 'confetti-js' | |
const confettiElement = ref<HTMLCanvasElement | null>(null) | |
const canvasBoundingRect = computed(() => { | |
if (confettiElement.value) { | |
return confettiElement.value.getBoundingClientRect() | |
} | |
return { | |
top: 0, | |
left: 0, |
<resources> | |
... | |
<string name="admob_app_id">ca-app-pub-3940256099942544~3347511713</string> | |
<string name="ad_unit_id">ca-app-pub-3940256099942544/5224354917</string> | |
... | |
</resources> |
type TerminalType = | |
| string | |
| number | |
| bigint | |
| boolean | |
| null | |
| undefined | |
| any[] | |
| Map<any, any> | |
| Set<any> |
type TerminalType = | |
| string | |
| number | |
| bigint | |
| boolean | |
| ((...args: any) => any) | |
/** | |
* Deep nested keys of an interface with dot syntax | |
* |
openssl genrsa -out private.pem 2048 openssl rsa -in private.pem -pubout > public.pem
Yukaridaki kisim openssl kullarak rs256 sifreleme sistemini kullanarak bir gizli key yaratiyor. Sonra bu gizli keyden public key yaratiyoruz.
Bu iki key sistemde kullaniyoruz. Jwt sifrelenirken public key ile sifrenip karsiya gonderiyor. Karsi taraf bize istek attiginda tokeni public key ile cozuyoruz.
awk -v ORS='\n' '1' private.pem
If you are not interested in the technical details and only want to get Listen to work:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
/** | |
* Filters an array of objects using custom predicates. | |
* | |
* @param {Array} array: the array to filter | |
* @param {Object} filters: an object with the filter criteria | |
* @return {Array} | |
*/ | |
function filterArray(array, filters) { | |
const filterKeys = Object.keys(filters); | |
return array.filter(item => { |