Skip to content

Instantly share code, notes, and snippets.

View genakim's full-sized avatar

Gennadiy Kim genakim

  • Uzbekistan, Tashkent city
View GitHub Profile
amp = .06;
freq = 2;
decay = 5;
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time){
n--;
}
@genakim
genakim / gist:48dd144434e315e8ae3bd3f40594cace
Created January 23, 2019 11:35 — forked from davepoon/gist:4371622
Added the .gitignore, and refresh the file index so the files get ignored properly.
git rm -r --cached .
git add .
git commit -m ".gitignore is now working"
@genakim
genakim / Instructions.sh
Created March 30, 2019 20:07 — forked from GhazanfarMir/Instructions.sh
Install PHP7.2 NGINX and PHP7.2-FPM on Ubuntu 16.04
########## Install NGINX ##############
# Install software-properties-common package to give us add-apt-repository package
sudo apt-get install -y software-properties-common
# Install latest nginx version from community maintained ppa
sudo add-apt-repository ppa:nginx/stable
# Update packages after adding ppa
@genakim
genakim / README.md
Created May 30, 2019 09:29 — forked from sameoldmadness/README.md
Нагрузочное тестирование c Yandex.Tank и JMeter

Нагрузочное тестирование c Yandex.Tank и JMeter

На этой странице описывается процесс настройки нагрузочного тестирования внешних ресурсов.

Кратко

Для тестирования поведения сервиса под нагрузкой используется утилита Yandex Tank.

Танку можно указать патроны (HTTP-запросы, которые будут отправлены на целевой сервер) и расписание (количество запросов в секунду к целевому серверу в каждый момент времени стрельб, а также продолжительность стрельб). Также к танку можно подключить плагин мониторинга, позволяющий снимать показатели (например, количество свободной памяти или загрузку процессора) с целевого сервера.

Download Vagrant boxes manually

In this example, we're going to download the Midnight Sun box.

# The box URL is https://app.vagrantup.com/uwmidsun/boxes/box/versions/2.1.0
# In general, we just take the box URL, and then append the provider URL
# https://app.vagrantup.com/<organization name>/boxes/<box name>/versions/<version>/providers/<provider>.box
wget https://app.vagrantup.com/uwmidsun/boxes/box/versions/2.1.0/providers/virtualbox.box -O box-2.1.0.box
# Step 1 - install java 1.8
yum install java-1.8.0-openjdk.x86_64
# Step 2 - install jmeter 3.2
curl https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-3.2.tgz > $HOME/apache-jmeter-3.2.tgz
tar -xvzf $HOME/apache-jmeter-3.2.tgz
ln -s $HOME/apache-jmeter-3.2 $HOME/jmeter
# Step 3 - add to your path in ~/.bashrc
export JMETER_HOME=$HOME/jmeter
@genakim
genakim / GROUP_MAXIMUM.SQL
Created September 13, 2019 10:06 — forked from hackimov/GROUP_MAXIMUM.SQL
#SQL #MAXIMUM #WITHOUT_GROUP_BY #SPEED #QUERY
SELECT maintable.*
FROM TABLE_NAME maintable
LEFT OUTER JOIN TABLE_NAME temporarytable
ON maintable.GROUPING_BY_COLUMN = temporarytable.GROUPING_BY_COLUMN
AND maintable.COLUMN_WHERE_THE_MAXIMUM_IS_NEEDED < temporarytable.COLUMN_WHERE_THE_MAXIMUM_IS_NEEDED
WHERE temporarytable.COLUMN_WHERE_THE_MAXIMUM_IS_NEEDED IS NULL
ORDER BY PRIMARY_KEY_COLUMN DESC
LIMIT 50;
@genakim
genakim / reverse.php
Created November 7, 2019 05:07
[Реверс массива] #algorithm
<?php
function reverseArray($coll)
{
$size = count($coll);
$maxIndex = floor($size / 2);
for ($i = 0; $i < $maxIndex; $i++) {
$mirrorIndex = $size - $i - 1;
$temp = $coll[$i];
$coll[$i] = $coll[$mirrorIndex];
@genakim
genakim / swap.php
Last active November 7, 2019 05:26
[Swap prev, next index by array center] #algorithm
<?php
function swap($coll, $center)
{
$prevIndex = $center - 1;
$nextIndex = $center + 1;
$isSwappable = array_key_exists($prevIndex, $coll) && array_key_exists($nextIndex, $coll);
if ($isSwappable) {
$temp = $coll[$prevIndex];
@genakim
genakim / ContinuousSequence.php
Created November 7, 2019 06:20
[Последовательно возрастающие числа] #algorithm
<?php
function isContinuousSequence($coll)
{
// guard expression
if (count($coll) <= 1) {
return false;
}
// neutral element
$start = $coll[0];