myStack
890 subscribers
761 photos
15 videos
27 files
310 links
Меня зовут Ростислав и я разработчик.

Это мой личный блог.

Я пишу на Go, читаю книги про технологии и пишу об этих и других вещах сюда.


Книги:
https://bit.ly/rostislav-books

Личка:
https://t.me/Rostislaved

Сайт:
Rostislav.me
Download Telegram
Мне кажется, что примерно также люди используют много других слов. Не обязательно математических, а любых.
Боже. Забываю матлаб) Ща сидел тыкал, ошибался. Страшные вещи...
Короче сделал маленькую штуку, ерундовую, но прикольную
Чтобы посчитать среднее значение чисел надо сделать что-то типо:
3 значения: (1+2+3)/3
4 значения: (1+2+3+4)/4
5 значений: (1+2+3+4+5)/5
и т.д.
В принципе 0 проблем) всё работает.
но если этих значений не 3, не 5, а 5 млрд?
Одно число это 8 байт, 5 млн чисел - 8*5e9 = 40*1000*1000*1000 байт, что есть 40 гигов. У кого есть 40 гигов оперативы?

Какой кейс? Мне надо считать, при каком среднем фпс работает моя диодная подсветка для моника.
ну т.е. 60.1 фпс, 60.8 и т.д. а программа работает в фоне, например весь день и легко может 1 млрд раз посчитать фпс.
Хранить все значения фпс'ов за день не разумено - утечка памяти и рано или поздно все помрет)
Поэтому я придумал формулу, которой на вход надо:
1. Текущее среднее значение
2. Число элементов, по которому считалось это среднее
и
3. Собственно новое число (фпс)
И короче вот формула:
(Дальше надо ток мне))
clear
clc

v = rand(1,1e6*100);

avg1 = mean(v)

avg = 0;
l = 0;
for i = 1:length(v)
avg = mymean1(avg,l,v(i)) ;
l = i;
end

avg


function avg = mymean1(avg,l,newElement)
avg = (avg * l + newElement) / (l+1);
end
ЧТО тут у них может сломаться?? Или моих данных не найдено на текущем ленточном накопителе и надо послать человека, чтобы вставил тот, другой, из коробки где написана первая буква моей фамилии?
Боже, какая сраная бюрократия.
Меня просто воротит от:
1. Необходимость ПРИКРЕПЛЯТЬСЯ к поликлиникам. Ну я знаю, что их финансирование от этого зависит, но неужели нельзя статистически определять количество людей посещающих ту или иную поликлинику?
2. ОМС действует в полную силу только в городе твоей регистрации. В других - базовая версия. Например сейчас, я не могу ПРИКРЕПИТЬСЯ к поликлинике из-за этого. И что мне делать? Например, у меня ковид будет.. Врача не вызвать, только скорую
Я бы кайфанул от проектирования системы, нацеленной на сведение количества бумажек в государстве в 0.
1
1
Какие же красивые графы рисует профилировщик для Go
Таблица популярности СУБД
https://db-engines.com/en/ranking
Она же в виде тренда
https://db-engines.com/en/ranking_trend
😂😂😂😂
Go statement considered harmful
GUI и API
GUI - это Graphical User Interface
API - Application programming Interface
Interface - с английского это граница раздела. Кстати глагол to interface - взаимодействовать.
То есть, например, в ведре вода - ее поверхность это интерфейс воздуха и воды - это для понимания природы слова.

В программировании также интерфейс - это раздел сред.
GUI - это раздел сред (внутренности программы)/(человек). То есть этот интерфейс создан, чтобы юзер глазами заглянул на запущенную программу (то есть на её GUI), увидел и мог нажать кнопочки. На этой границе происходит взаимодействие.
API - это также граница, где происходит взаимодействие. Только не программы с человеком, а программы с другой программой.
В GUI ты видишь кнопочки и т.д. - это те элементы, посредством которых ты взаимодействуешь с программой.
В API одна программа видит тоже некие кнопочки другой программы. Жмет их и что-то происходит. Только разница в том, что программам не нужно какое-то визуальное представление в виде кнопочек, менюшек и т.д. ей нужно что-то попроще (или по сложнее, как посмотреть, суть - без визуальной части).
API, вообще говоря, бывают разные. Для разных программ.

Есть web-API - Я на работе, например, именно такие и пишу. То есть я пишу для одной программы определенные "кнопочки", а другая их нажимает. www.google.com/images - одна кнопочка, www.google.com/maps - другая кнопочка. Какую из них нажмет браузер, то и получет.

Есть API операционной системы. Грубо говоря программы на компе используют функции операционной системы (функции - прям как в языке программирования. Называются системные вызовы.)

Есть API у базы данных. Кнопочки этого апи нажимаются драйвером базы данных, код которого встраивается в программу, которую пишет разработчик. Например, опять же я. Есть программы для более легкого анализа и работы с базами данных, например, DataGrip. Её тоже когда-то писали разработчики, и в ней также есть драйвер базы данных, но у нее есть еще один интерфейс GUI. То есть схематично выглядит так: Ты —->(GUI)-DATAGRIP-(database_driver)—-> (database API)-База данных.