Skip to content

Instantly share code, notes, and snippets.

@ruvaleev
ruvaleev / constants.js
Last active October 18, 2023 15:17
WTF is going on?
export const PRICE_PRECISION = 18;
export const Q96 = BigNumber(Math.pow(2, 96));
export const Q128 = BigNumber(Math.pow(2, 128));
export const Q256 = BigNumber(Math.pow(2, 256));
export const ZERO = BigNumber(0);
@ruvaleev
ruvaleev / all_steps.md
Created September 27, 2023 22:31
Deadlock
  1. Открываем два окна psql: session_1 и session_2;
  2. В session_1:
BEGIN;
UPDATE bank_accounts SET amount = amount - 100 WHERE id = 1;
  1. В session_2:
BEGIN;
UPDATE bank_accounts SET amount = amount + 100 WHERE id = 2;

Итоговый вывод Postgres можно посмотреть в файле resulting_output.md. Команды, как я создавал и наполнял таблицы - в creating_and_filling_tables.md. Результат того, как бы сделал я, я поместил в таблицу up_to_me_trips, а того, что соответствует 6НФ - в таблицу up_to_6nf_trips. Общая идея такая:

users:
first_name
second_name
patronymic_name
@ruvaleev
ruvaleev / postgres-deployment.yml
Created December 14, 2022 06:08
example-voting-app-kubernetes-v2
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres-deployment
labels:
app: demo-voting-app
spec:
replicas: 1
selector:
matchLabels:
@ruvaleev
ruvaleev / Пример запроса
Created January 3, 2022 11:43
Создание рецепта
curl -X 'POST' \
'https://murmuring-forest-17162.herokuapp.com/receipts' \
-H 'accept: application/json' \
-H 'Authorization: 7b89ff5a9f267d457a2b239f282f3fbf6da9dabfdad7b8ae16598579f8dcd616' \
-H 'Content-Type: application/json' \
-d '{
"receipt": {
"description": "Описание рецепта",
"portions_count": 4,
"cooking_duration": 30,
const generateBoxShadowStyle = (
xOffset,
yOffset,
shadowColorIos,
shadowOpacity,
shadowRadius,
elevation,
shadowColorAndroid,
) => {
if (Platform.OS === 'ios') {
import * as React from "react"
import Svg, { G, Rect, Path, Defs } from "react-native-svg"
/* SVGR has dropped some elements not supported by react-native-svg: filter */
function HardGreenCircle(props) {
return (
<Svg
width={72}
height={72}
viewBox="0 0 72 72"
@ruvaleev
ruvaleev / project.rb
Created May 18, 2021 08:41
Ранзакер director для модели projects
ransacker :director do
subquery = <<-SQL.squish
(
SELECT users.lastname
FROM users
LEFT OUTER JOIN members ON members.project_id = projects.id
LEFT OUTER JOIN member_roles ON member_roles.member_id = members.id
LEFT OUTER JOIN roles ON roles.id = member_roles.role_id
WHERE roles.id = 8 AND projects.id = projects.id
LIMIT 1
@ruvaleev
ruvaleev / run_qcachegrind.rb
Created December 28, 2020 12:59
Как отчет qcachgrind делать
# RubyProf CallGrind report
# ruby 15-ruby-prof-callgrind.rb
# brew install qcachegrind
# qcachegrind ruby_prof_reports/...
require 'ruby-prof'
require_relative '../task-2.rb'
RubyProf.measure_mode = RubyProf::WALL_TIME
result = RubyProf.profile do
@ruvaleev
ruvaleev / дз.md
Last active December 9, 2020 09:00
Docker workshop. DZ 1

Журнал

Задание 1

  1. Запустить вашу любимую базу данных в докере,
  2. Подключиться к ней, создать там пару таблиц, сделать в них пару записей.
  3. Выйти, остановить и удалить контейнер (не образ).
  4. Запустить контейнер заново. Убедиться, что таблицы и записи с них на месте.

В качестве решения прислать в чат лог из терминала.