Skip to content

Instantly share code, notes, and snippets.

@akramarev
akramarev / create.sh
Created March 24, 2019 20:14
[quickly create new dotnet core test project and run tests] @leetcode
dotnet new nunit
dotnet add package FluentAssertions
dotnet test
@akramarev
akramarev / get_permissions.sql
Created June 22, 2019 04:22
[get all mssql permissions grants]
SELECT
(
dp.state_desc + ' ' +
dp.permission_name collate latin1_general_cs_as +
' ON ' + '[' + s.name + ']' + '.' + '[' + o.name + ']' +
' TO ' + '[' + dpr.name + ']'
) AS GRANT_STMT
FROM sys.database_permissions AS dp
INNER JOIN sys.objects AS o ON dp.major_id=o.object_id
INNER JOIN sys.schemas AS s ON o.schema_id = s.schema_id
@akramarev
akramarev / NunitShortPathFinderApp.cs
Created July 11, 2019 23:18
[Nunit] Nunit Short Path Finder App. Works in linqpad also.
class Program
{
static void Main(string[] args)
{
XDocument xDocument;
using (XmlReader xr = XmlReader.Create(@"c:\Users\akramarev\Downloads\TestResultSet.xml"))
{
xDocument = XDocument.Load(xr);
}
@akramarev
akramarev / sql-progress.sql
Last active July 21, 2019 07:41
[Print out long running mssql backup/restore queries]
SELECT session_id as SPID, command, a.text AS Query, start_time, percent_complete, dateadd(second,estimated_completion_time/1000, getdate()) as estimated_completion_time
FROM sys.dm_exec_requests r CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
WHERE r.command in ('BACKUP DATABASE','BACKUP LOG','RESTORE DATABASE')
{
"editor_path": "/usr/local/bin/code",
"editor_argument_format": "--goto ${file}:${line}:${col}"
}
@akramarev
akramarev / table-index-size.sql
Created March 18, 2022 19:42
[postgres table and index size]
SELECT
relname as table_name,
pg_size_pretty(pg_total_relation_size(relid)) As "Total Size",
pg_size_pretty(pg_indexes_size(relid)) as "Index Size",
pg_size_pretty(pg_relation_size(relid)) as "Actual Size"
FROM pg_catalog.pg_statio_user_tables
ORDER BY pg_total_relation_size(relid) DESC;
@akramarev
akramarev / kill.sql
Created April 14, 2022 20:36
[kill connections in postgres]
SELECT
pg_terminate_backend(pid)
FROM
pg_stat_activity
WHERE
-- don't kill my own connection!
pid <> pg_backend_pid()
-- don't kill the connections to other databases
AND datname = 'database_name'
;
@akramarev
akramarev / tty-width.sh
Created May 25, 2022 20:58
[How to change the width of remote serial console?] tty
stty rows 50 cols 132
@akramarev
akramarev / install-aws-cli.sh
Created May 25, 2022 21:01
[install aws-cli in an alpine container]
apk add --no-cache \
python3 \
py3-pip \
&& pip3 install --upgrade pip \
&& pip3 install --no-cache-dir \
awscli \
&& rm -rf /var/cache/apk/*
@akramarev
akramarev / DistributedDataLoader.ts
Last active June 2, 2022 03:47
[Distributed Data Loader] GraphQL data loaders enhanced by distributed cache #AmplitudeEngineeringHandbook #public
import DataLoader from 'dataloader';
import logger from '../../../logger';
export const REDIS_KEY_DELIMITER = '\x1F'; // ASCII unit separator (31 in hex)
export const REDIS_NULL_VALUE = '\x00'; // ASCII NULL (0 in hex), value is set but it's null
export type RedisNullValueType = '\x00';
export type DistributedDataLoaderOptions<K, V> = DataLoader.Options<
K,