Skip to content

Instantly share code, notes, and snippets.

View aaabramov's full-sized avatar
👨‍💻
Focusing

Andrii Abramov aaabramov

👨‍💻
Focusing
View GitHub Profile
@aaabramov
aaabramov / README.md
Created June 29, 2022 13:06
Bootstrap TypeScript npm project

Init project:

npm init

Install typescript & @types

npm install --save-dev \
# See https://telegra.ph/Gratus-Bot-06-24
CREATE TABLE "data_entity"
(
"id" BIGSERIAL NOT NULL PRIMARY KEY,
"userId" BIGINT NOT NULL,
"chatId" BIGINT NOT NULL,
"createdAt" TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_data_entity_userId_chatId ON "data_entity" ("userId", "chatId");
@aaabramov
aaabramov / abbreviations.md
Last active January 17, 2022 10:50
Popular abbreviations used in IT world.
Abbreviation Spelling Explanation
ASAP As soon as possible
AFAIK As far as I know used when you believe that something is true, but you are not completely certain
AFAIR As far as I remember
@aaabramov
aaabramov / 01_core.md
Last active May 23, 2023 15:35
Typical NestJS app dependecies

Generate new service

See First steps in NestJS

nest new <service_name>

Most of the services need these dependencies:

@aaabramov
aaabramov / UTF-8 table (box) symbols.txt
Last active April 29, 2024 11:47
Drawing tables (boxes) using UTF-8 symbols
@aaabramov
aaabramov / Dockerfile
Last active September 29, 2022 11:46
NestJS Docker packaging
# Building layer
FROM node:16-alpine as development
# Optional NPM automation (auth) token build argument
# ARG NPM_TOKEN
# Optionally authenticate NPM registry
# RUN npm set //registry.npmjs.org/:_authToken ${NPM_TOKEN}
WORKDIR /app
@aaabramov
aaabramov / install.sh
Last active January 13, 2024 01:26
Installing zsh + oh-my-zsh on Amazon EC2 Amazon Linux 2 AMI. (Prepared in the scope of posting https://aaabramov.medium.com/installing-zsh-oh-my-zsh-on-amazon-ec2-amazon-linux-2-ami-88b5fc83109)
sudo yum update
# Installing ZSH
sudo yum -y install zsh
# Check ZSH has been installed
zsh --version
# Install "util-linux-user" because "chsh" is not available by default
# See https://superuser.com/a/1389273/599050
@aaabramov
aaabramov / code.scala
Last active April 7, 2021 15:47
Scala 0.asInstanceOf[B]
// Code example for https://stackoverflow.com/q/66989225/5091346
package com.github.aaabramov
import java.time.LocalDateTime
object Test extends App {
trait TestTrait[A] {
@aaabramov
aaabramov / build.sbt
Last active January 13, 2021 11:44
SBT bug for scala 2.12.13
lazy val myProjectClient = (project in file("my-project-client"))
.settings(name := "myProjectClient")
.settings(commonSettings)
.enablePlugins(CustomPlugin)
lazy val service = (project in file("service"))
.settings(name := "myProjectSvc")
.settings(commonSettings)
.settings(serviceSettings)
.dependsOn(myProjectClient)
@aaabramov
aaabramov / solution.scala
Created January 12, 2021 12:26
akka-http validate path param with reusable directive
// https://stackoverflow.com/questions/65669069/akka-http-validate-path-segment
import akka.http.scaladsl.model.Uri.Path
import akka.http.scaladsl.server.{Directive, Rejection}
import com.exabeam.scheduler.models.AppErrors
import org.bson.types.ObjectId
final case class MalformedPathParamRejection(parameterName: String, errorMsg: String) extends Rejection
object ValidatedObjectId {