Skip to content

Instantly share code, notes, and snippets.

View loguncov's full-sized avatar
:electron:
Focusing

Maxim Loguncov loguncov

:electron:
Focusing
View GitHub Profile
@loguncov
loguncov / build-status.json
Last active September 4, 2025 18:08
byti-bot.json
{"label":"Build","message":"Passing","schemaVersion":1,"color":"brightgreen"}
@loguncov
loguncov / dynamic_pressure_monitor.py
Created August 29, 2023 18:03
Скрипт эмулирует считывание давлений с платы, создает динамическую гистограмму и сохраняет данные о давлениях в текстовый файл. Графический интерфейс позволяет наблюдать за изменениями давлений в реальном времени.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from datetime import datetime
class Pressures:
def __init__(self):
self.pressureTop = 0
self.pressureBottom = 0
self.pressureFront = 0
-- Количество исполнителей в каждом жанре
SELECT g.GenreName, COUNT(ag.ArtistID) AS NumberOfArtists
FROM Genres g
LEFT JOIN ArtistGenre ag ON g.GenreID = ag.GenreID
GROUP BY g.GenreName;
-- Количество треков, вошедших в альбомы 2019–2020 годов
SELECT COUNT(t.TrackID) AS NumberOfTracks
FROM Tracks t
INNER JOIN Albums a ON t.AlbumID = a.AlbumID
-- Название и продолжительность самого длительного трека
SELECT TrackName, Duration
FROM Tracks
WHERE Duration = (SELECT MAX(Duration) FROM Tracks);
-- Название треков, продолжительность которых не менее 3,5 минут
SELECT TrackName
FROM Tracks
WHERE Duration >= 210;
-- Заполнение таблицы Artists
INSERT INTO Artists (ArtistID, ArtistName)
VALUES (1, 'Artist 1'),
(2, 'Artist 2'),
(3, 'Artist 3'),
(4, 'Artist 4');
-- Заполнение таблицы Genres
INSERT INTO Genres (GenreID, GenreName)
VALUES (1, 'Genre 1'),
-- Название и год выхода альбомов, вышедших в 2018 году
SELECT AlbumName, ReleaseYear
FROM Albums
WHERE ReleaseYear = 2018;
-- Название и продолжительность самого длительного трека
SELECT TrackName, Duration
FROM Tracks
WHERE Duration = (SELECT MAX(Duration) FROM Tracks);
-- Заполнение таблицы Genres
INSERT INTO Genres (GenreID, GenreName)
VALUES (1, 'Rock'),
(2, 'Pop'),
(3, 'Hip Hop'),
(4, 'Jazz'),
(5, 'Electronic');
-- Заполнение таблицы Artists
INSERT INTO Artists (ArtistID, ArtistName)
@loguncov
loguncov / CREATE.sql
Last active June 6, 2023 13:21
for Netology
CREATE TABLE Genres (
GenreID INT PRIMARY KEY,
GenreName VARCHAR(255) NOT NULL
);
CREATE TABLE Artists (
ArtistID INT PRIMARY KEY,
ArtistName VARCHAR(255) NOT NULL
);
@loguncov
loguncov / Firestore.js
Created March 7, 2023 15:31
Этот код включает Cloud Functions, которые выполняют задачи получения и сохранения данных в Firestore и отправки push-уведомлений на основе этих данных. Первая функция запускается по расписанию с помощью Cloud Scheduler, а вторая функция реагирует на создание новых документов в коллекции Firestore и отправляет push-уведомления на основе содержим…
const functions = require('firebase-functions'); // Подключаем библиотеку Firebase Functions
const admin = require('firebase-admin'); // Подключаем библиотеку Firebase Admin SDK
const axios = require('axios'); // Подключаем библиотеку axios для работы с HTTP-запросами
admin.initializeApp(); // Инициализируем Firebase Admin SDK
// Cloud Function для получения и сохранения данных в Firestore
exports.fetchAndSaveData = functions.pubsub.schedule('0 9,17 * * *').onRun(async () => { // Создаем Cloud Function, которая запускается по расписанию
try {
const response = await axios.get('https://api.openweathermap.org/data/2.5/weather?q=London&appid=YOUR_API_KEY'); // Выполняем HTTP-запрос к стороннему API
using UnityEngine;
using System.Collections;
public class NoMouseCursor : MonoBehaviour {
bool isLocked;
// Use this for initialization
void Start () {
SetCursorLock (true);
}