Skip to content

Instantly share code, notes, and snippets.

@condor-bird
condor-bird / Тестирование.md
Created October 26, 2023 16:22 — forked from codedokode/Тестирование.md
Автоматизированное тестирование

Автоматизированное тестирование

Обычно после написания кода его проверяют. Если речь о какой-то функции, то можно написать простой скрипт, который будет вызывать ее с разными аргументами, и смотреть, что она вернет. Если вы сделали сайт или приложение, то вы открываете его, жмете ссылки и кнопки, проверяете что все отображается верно. Это называется ручное тестирование или QA (Quality Assurance — контроль качества) — человек проверяет работу программы. Если мы попробуем автоматизировать этот процесс, и написать программу, которая проверяет правильность другой программы, то это называется автоматизированное тестирование.

Главный плюс автоматических тестов — то, что они выполняются намного быстрее, чем ручное тестирование, и вам не надо тратить на это свое время (или время тестировщика). Это позволяет запускать их хоть после каждого изменения в коде.

Также, тесты позволяют «защитить» написанный код. Если кто-то в команде (или вы сами) нечаянно «сломал» ваш код, тесты это обнаружат и укажут, что именн

@condor-bird
condor-bird / access_postgresql_with_docker.md
Created July 4, 2023 14:00 — forked from MauricioMoraes/access_postgresql_with_docker.md
Allow Docker Container Access to Host's Postgres Database on linux (ubuntu)

You have to do 2 things in order to allow your container to access your host's postgresql database

  1. Make your postgresql listen to an external ip address
  2. Let this client ip (your docker container) access your postgresql database with a given user

Obs: By "Host" here I mean "the server where docker is running on".

Make your postgresql listen to an external ip address

Find your postgresql.conf (in case you don't know where it is)

$ sudo find / -type f -name postgresql.conf

@condor-bird
condor-bird / AnswerQuestionsDublicate.php
Created September 20, 2022 13:59
AnswerQuestionsDublicate
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
use Illuminate\Database\Query\Expression;
use Illuminate\Support\Str;
class AnswerQuestionsDublicate extends Command
@condor-bird
condor-bird / AnswerRecordDublicate.php
Created September 20, 2022 13:59
AnswerRecordDublicate
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
use Illuminate\Database\Query\Expression;
use Illuminate\Support\Str;
class AnswerRecordDublicate extends Command
@condor-bird
condor-bird / calc_report.php
Created February 9, 2021 07:34
calc report
<?php
public function getUsersOrders($year, $billing, $month)
{
if ($billing === 0) {
$query = "SELECT u.*, o.*,
(SELECT order_id FROM user_orders uo
WHERE uo.user_id = u.user_id
AND uo.status = 1
ORDER BY uo.order_id DESC LIMIT 1
@condor-bird
condor-bird / iframe-auto-height.js
Created April 4, 2020 08:45
Iframe auto height
// исходный документ
window.addEventListener('message', function (e) {
iframe.height = e.data;
});
// загружаемый документ
window.addEventListener('load', function () {
parent.postMessage(document.documentElement.scrollHeight, '*');
});
@condor-bird
condor-bird / dom-change-listener.js
Created April 4, 2020 08:43
Is there a JavaScript DOM change listener?
MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
var observer = new MutationObserver(function(mutations, observer) {
// fired when a mutation occurs
console.log(mutations, observer);
// ...
});
// define what element should be observed by the observer
// and what types of mutations trigger the callback
@condor-bird
condor-bird / react-view-resize.js
Created April 4, 2020 08:42
Rerender view on browser resize with React
import React, { useLayoutEffect, useState } from 'react';
function useWindowSize() {
const [size, setSize] = useState([0, 0]);
useLayoutEffect(() => {
function updateSize() {
setSize([window.innerWidth, window.innerHeight]);
}
window.addEventListener('resize', updateSize);
updateSize();
@condor-bird
condor-bird / has-children-javascript.js
Created April 4, 2020 08:39
How to check if element has any children in Javascript?
if (element.firstChild) {
// It has at least one
}
if (element.hasChildNodes()) {
// It has at least one
}
if (element.childNodes.length > 0) { // Or just `if (element.childNodes.length)`
// It has at least one
@condor-bird
condor-bird / preg_split.php
Created February 23, 2019 10:55
Split Link
<?php
$regex = '#(https?://[a-z0-9.?=+_-]*)#i';
$res = preg_split($regex, $string, -1, PREG_SPLIT_NO_EMPTY);