Skip to content

Instantly share code, notes, and snippets.

@crowar
crowar / copilot-instructions.md
Created October 31, 2025 04:26 — forked from adrianhall/copilot-instructions.md
My standard dotnet copilot-instructions.md

GitHub Copilot Instructions

These instructions define how GitHub Copilot should assist with this project. The goal is to ensure consistent, high-quality code generation aligned with our conventions, stack, and best practices.

🧠 Context

  • Project Type: Web Application
  • Language: C#
  • Framework / Libraries: .NET 9 / ASP.NET Core / Entity Framework Core
  • Testing Framework: xUnit, NSubstitute, AwesomeAssertions, TestContainers
@crowar
crowar / bitbucket-pipelines.yml
Created September 25, 2023 08:58 — forked from shaypal5/bitbucket-pipelines.yml
Bitbucket status badges
image: python:3.8.3
# pipeline stages definitions
test: &test
step:
name: test
caches:
- pip
script:
- python --version
@crowar
crowar / context_cancel.go
Created October 13, 2021 16:08 — forked from fracasula/context_cancel.go
GoLang exiting from multiple go routines with context and wait group
package main
// Here's a simple example to show how to properly terminate multiple go routines by using a context.
// Thanks to the WaitGroup we'll be able to end all go routines gracefully before the main function ends.
import (
"context"
"fmt"
"math/rand"
"os"

Интеграция с AppScreener

Была задача написать написать PowerShell скрипт который будет проходить авторизацию на сервере, искать пнужный проект и выгружать в него архив для сканирования. Если проекта в системе AppScreener еще нет, то он будет создан.

В скрипте используется вставка кода написанного на C#, почему сделано так сложно сказать, все это можно было написать и на чистои PowerShell, но мне показалось что так будет быстрее писаться.

$serverUri = "https://appscreenerserver:8443"
$login =  "AppScreenerlogin"
$password = "AppScreenerPassword"

Using-Object: PowerShell version of C#’s “using” statement

function Using-Object
{
    [CmdletBinding()]
    param (
        [Parameter(Mandatory = $true)]
        [AllowEmptyString()]
        [AllowEmptyCollection()]

Прием платежей

Необходимо спроектировать приложение, которое занимается приемом платежей, поступающих через файлы. Платеж, должен быть сохранен в некоторой базе данных. Так же, после сохранения платежа необходимо уведомить некоторую CRM систему (например, через web-service) о сумме и факте совершения платежа. Требуется составить диаграмму компонентов системы и диаграмму message-trace для процесса регистрации платежа.

Прием платежей 2

Доработайте предыдущее решение таким образом, что бы регистрация платежей стала возможна не только из файлов, но и через Web Service, а уведомление, кроме CRM, в ERP систему.

Автоматизация метрополитена

@crowar
crowar / IINValidator.java
Created November 23, 2020 04:09 — forked from timtsj/IINValidator.java
Simple KZ IIN validator
public boolean isValidIIN(String iin) {
if (TextUtils.isEmpty(iin)) return false;
String date = iin.substring(0, 6);
String gender = iin.substring(6, 7);
return iin.matches("\\d{12}") && isValidBirthday(date) && gender.matches("[1-6]") && isValidControl(iin);
}
private boolean isValidBirthday(String date) {
if (TextUtils.isEmpty(date) || !date.matches("\\d{2}[01]\\d[0-3]\\d")) return false;

Настройка ESLint для выполнения проверки кода

Установка необходимых компонентов

npm install eslint --save-dev
npx eslint --init

Правила

@crowar
crowar / Google Play Api - Apk Upload.md
Created September 10, 2020 03:27 — forked from machinekoder/Google Play Api - Apk Upload.md
This python script uploads an apk file into Google Play Store using Android Play Publisher API

In Google Developer Console inside your app project, on the Credentials section, you must create a new "Service Account" "Client ID", if you have not already. And download the p12 file. You need the service account key file, generated in the Google APIs Console into the same directory and rename it to key.p12.

On Google Play Developer Console you have to give permissions to "YOUR_SERVICE_ACCOUNT_EMAIL@developer.gserviceaccount.com" for uploading apks.

Installation

Download Google APIs Client Library for Python (google-api-python-client): https://code.google.com/p/google-api-python-client/ or use pip:

$ pip install google-api-python-client

Операторы и типы данных

Этот блок должен быть решён БЕЗ использования готовых функций и сторонних библиотек. Используйте операторы. В решении не должны быть задействованы циклы, условия, функции, исключения. Проверка корректности входных значений не требуется.

Задача 1

Часы показывают время в формате h:mm:ss (количество часов (от 0 до 23), двузначное количество минут, двузначное количество секунд). Количество минут и секунд при необходимости дополняются до двузначного числа нулями.

Программа должна запрашивать количество секунд S, которое прошло с начала суток, и выводить в формате h:mm:ss, какое время будут показывать часы.

Формат ввода: