43 Matching Annotations
  1. Last 7 days
    1. Теперь

      пока могу сказать, что traint играет роль extensions методов c интерфейсами. мы создаём trait, который играет роль интерфейса, и уже под этот трайт реализуем "extentions" логику, для определённого типа.

    1. Робот пишет сообщение в очередь:

      Здесь юзается брокер сообщений, по сути робот берёт ссылку кидает в брокер и потом обработчики, кто свободен берёт эту ссылку и обрабатывает её. если он не смог обработать, это ссылка опять в брокере. она выходит из таймаута видимости. время пока ссылка не будет видна другим обработчикам

    1. архитектура (№10)

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

      транзакций в redis - тупо, чтоб собрать все операция в очередь и выполнить их по очередно, при этом пофиг выполнится ли все операция, транзацация выполнится даже в любом случае. в postgresql, тразнакция отменится, Если не все операция внутри выполнятся, то есть у некоторых будут ошибки.

      суть оптимистической блокировки в том, чтоб не получить одному клиенту не верные данные измененные другим клиентам.

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

      по сути

    2. Микросервисная

      либа для реддиса, StackExchangd.Redis

      LRU - чем нужнее, тем меньше шансов на удаления

    1. Обращение по HTTP

      через api gateway - можно делать, те же запросы к backend. условно он уже отыграет роль proxy. он просто перенаправит (forwarding) на другой url

    2. Интеграция с Object Storage

      api gateway - даёт возможность, создавать уже своё api, для взаимодействия со внутреними сервисами yandec cloud

    3. Пример скрипта для данного расширения:

      можно просто через это api gateway, создать запрос к другому сервису. apigateWay можно сказать играет роль swagger, он некоторый слой, который помогает именно отправлять запросы куда-то.

    1. OpenAPI 3.0

      по сути - это спецификая, которая помогает создавать единый стиль restApi. по сути спецификая, как и до этого было написано, удобный элемент для того, чтоб программам, работать с api в написаний документаций

  2. Apr 2024
    1. Микросервисная архитектура
      1. Редис как элемент, для синхронизаций кэша на большом количестве серверов, чтоб пользователь не кидался на разные сервисы, и каждый раз не кэшировал данные с одного и тоже же запроса, но с разных серверов.

      2.

    1. который выполнит код если входное значение будет соответствовать единственному шаблону, и проигнорирует все остальные значения.

      if let - удобна в том случае, когда нужен только один из всех вариантов, enum. остальные он просто будет игнорировать.

    1. Другими словами

      по сути, используя option, мы работатаем с "null" на уровне кода, мы на уровне кода прописывает, может ли этот тип иметь "null" или нет.

      всё написано, так, что просто невозможно, использовать пустое значение.

    2. IpAddrKind::V4

      по сути как ассоциативную функцию

    1. созданная функция

      Кароче, по сути она работает, компонента,

      есть какая-та среда, в которой будет функция, сама среда не знает, ничего про функций, пока не запустить всё.

      по сути как было сказано - это как контайнер, со своим миров, в которым мы впихивает свою функцию

    1. Создание экземпляра структуры из экземпляра другой структуры с помощью синтаксиса обновления структуры

      а еще можем через ...<nameOldData> создать новую структуру но с новыми данными

    2. Использование сокращённой инициализации поля

      можно не писать прописывать всем полям значения, компилятор - это сам сделает на изичиах

    1. или ноду (node)

      можно сказать, что это сервер, где стоит, proxomx

    2. Под — это логический хост.

      можно сказать, что это qemu в proxmox системе

    3. оркестрацией

      Умение управлять множество контейренов, через одну точку входа, это и есть оркестрация.

      слабая аналогия - это роутер

    1. fn first_word(s: &String) -> &str { let bytes = s.as_bytes(); for (i, &item) in bytes.iter().enumerate() { if item == b' ' { return &s[0..i]; } } &s[..] }

      так то прикольный код, первый раз такое вижу

    2. enumerate()

      Превращает элементы коллекция в кортеж, где первый элемент - это индекс этого элемента в массиве, а второй сам этот элемент

    1. s1 после создания s2 ; это не сработает:

      а все потому, что по правилу, у данных может быть только один владелец.

      s1. не будет сущестовать по примеру ниже.

    2. Длина — это объём памяти в байтах, который в настоящее время использует содержимое String

      один байт это 8 бит, то есть 255 возможных значений. сюда как помещятся все эти ackii значения.

    3. Эта группа данных хранится в стеке

      в стеке хранится длина и емкость (можно сказать массива) и ссылка на сам массив.

      в куче же сами символы (если это строка), ибо он не понятно какого размера, и в будущем может менятся

    4. память автоматически возвращается, как только владеющая памятью переменная выходит из области видимости

      как только переменная исчезает из зоны видимости она перестаёт существовать.

    1. Здесь ошибка:

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

      тем самым ссылка будет указавывать хз куда.

    2. Ошибка:

      сейчас одновременно, и mut ссылка и обычная ссылка, и этого компилятор не разрешает, ибо очень нагло, есть ссылка на неизменяемый объект вдруг изменится, это было бы контр интуитивно

    3. и продолжается до последнего использования этой ссылки.

      ссылки очень хитро работают однако, ссылка сама "исчезает" когда она уже не будет использована, то есть компилятор, знает, когда ссылка последний раз использовалась, и в последнее использование её удаляет. умный компилятор

    4. не является его владельцем

      по сути ссылка это как есть владелец дома, и те кто в нём прописаны (те кто прописаны это ссылки на дом). по сути те же права, но живой ты или нет, от этого квартира никому другому не уйдёт. квартирой ты можешь пользоваться, но ты ей не владеешь, а только пользуешься

    5. Области неизменяемых ссылок r1 и r2 заканчиваются после println! где они

      здесь компилятор настолько умный, что сам понимает, что r1 и r2 не будут использованы и тем самым не выдаёт ошибку

    6. Рисунок 4-5: диаграмма для &String s, указывающей на String s1

      Ссылка указывает на указатель

    1. качестве переменных,

      переменные можно закинуть в спецификацию

    1. 'counting_up: loop {

      сам по себе loop, в данном примере это не выражение, а только инструкция

    2. loop

      бесконечный цикл

    3. Использование if в инструкции let

      Можно создавать выражение внутри if, и тем самым возвращать значение оттуда и присваивать к переменной

    1. Выражения

      Кароче это функция или любая другая, штука, которая внутри себя имеет вычисления, и возвращает какой-то результат

    1. let a = [3; 5];

      Можно делать такие массивы: в данном случае будет массив первая отвечает элемент, второй за количество [3,3,3,3,3]

    1. Почему в этой стране живут почти одни мужчины?

      Говорит, о том, как много графики с разной статистикой, много говорит о событиях в реальной жизни.

  3. Mar 2024
    1. аналитическом

      противоположный язык, он вместо окончнаний имеет служебные слова для понимания всего и в следствие этого предложение нужно строить в определённом порядке

    2. Синтетический

      Язык в котором можно в любом порядке составлять слова, но при этом каждого слово имеет свой суффикс, чтоб задать отношения между всеми словами

    1. Затенение

      По факту одна переменная затемняет другую, в том смысле, что старая переменная просто исчезает из поля видимости компилятора и заменется новой с таким же названием и даже может уметь другой тип.

    2. mut

      как удобно

    1. От Стива Клабника и Кэрол Николс, при поддержке других участников сообщества Rust

      Ваще прикол

  4. Feb 2024