R class Tech
R class Tech
  • 58
  • 843 344
PHP 8.3 - Плюшки, изменения и производительность
Поговорим об основных изменениях в новой версии PHP 8.3, а они там есть, пусть и не столь существенные. Чуть-чуть затронем производительность в узких кейсах. Всё просто и понятно, как обычно.
00:00 - Вступление
00:37 - Изменение свойств при клонировании
04:07 - Типизированные константы
04:18 - #[Override] атрибут
06:11 - json_validate()
07:49 - Извлечение констант из классов
08:30 - Анонимные классы только для чтения
08:52 - Randomizer дополнения
10:52 - Новые исключения по дате/времени
11:47 - unserialize() обработка ошибок
12:05 - Изменения в range() функции
13:28 - Трейты и статические свойства
14:11 - Замыкание магических методов
15:26 - Инвариантная видимость констант
15:52 - get_class(), get_parent_class()
16:53 - Производительность
18:28 - Директивы ограничения памяти
Теги: php, php8, php что нового, разработка, php разработка, php trait, php json, json_validate, php override, php unserialize, php range, php framework, symfony, laravel, wordpress
Переглядів: 4 585

Відео

Оптимизация обработки данных на PHP
Переглядів 1,9 тис.7 місяців тому
Общие практики и подходы для работы с данными в момент выгрузки и загрузки больших (и не очень) объемов данных. Будут как Right-way так и bad practice. 00:00 - Вступление 01:58 - Планирование 04:58 - Дробление 06:40 - Индексы 07:53 - минутка bad practice 14:44 - Про UPDATE 15:47 - RAM 18:15 - ORM и LazyLoad 25:24 - Мониторинг 26:12 - Заключение Теги: php, orm, база данных, mysql, индексы, синхр...
Doctrine: запросы, связи. DQL, QueryBuilder, JOIN, каскадные операции.
Переглядів 1,3 тис.7 місяців тому
Вторая часть мини-курса по Doctrine. Изучаем связи, запросы и коллекции. Рассмотрим стратегии извлечения, Regular и Fetch Join, виды результатов запросов, а так же почему и когда стоит использовать DQL и Query Builder. Первая часть: ua-cam.com/video/K5yRtP1Nw7w/v-deo.html Презентация: docs.google.com/presentation/d/10iIITL08OFyj5S-fVoYrZMrwvMEiih_A4JCkv9Guv6Q/edit 00:00 Вступление 00:26 План 00...
Doctrine ORM: Entity, Identity Map, Unit Of Work
Переглядів 3,2 тис.10 місяців тому
Первая часть небольшого курса по Doctrine ORM. Поговорим об ORM в целом, о Doctrine и ее механизмах работы: Entity, Repository, Identity Map, Unit Of Work и так далее. 00:00 - Приветствие и вступление 00:40 - План 00:56 - Что такое ORM 03:44 - Реализации ORM 03:55 - ActiveRecord 07:34 - DataMapper 10:21 - Что лучше? 11:56 - О Doctrine 13:18 - Entity 14:12 - Anemic Model 17:12 - Rich Model 20:27...
PHP 8.0 - 8.2 | Производительность и фичи
Переглядів 15 тис.Рік тому
Краткий чейнджлог по PHP от 8.0 до 8.2. Плюсом разберем что сделали с производительностью в 8.2 (а об этом почему-то почти никто не говорит). Всё как обычно - мемы и гифки в комплекте :) 00:32 Стартуем! 01:13 8.0: полезное 06:26 8.1: полезное 13:31 8.2: полезное 15:26 Производительность 8.2 16:52 Динамические свойства 17:50 Random 18:03 Подписывайтесь :)
Ошибки web-дизайнера | Сложные элементы web-страниц | Дизайнер vs Верстальщик
Переглядів 638Рік тому
Разберем сложные элементы web-страниц, которые часто рисуют дизайнеры, а верстальщикам потом с этим жить. Как быть, куда бежать и что делать? Мемы и гифки - всё как обычно) 00:30 Стартуем! 02:11 Иконки без подложки 04:03 Формы в модалках 05:25 Endless-пагинация 06:38 Кнопка "Назад" 08:09 Анимация (но не сейчас) 09:43 Плавные переходы 13:40 Кастомные инпуты 16:24 Плавный скролл 20:10 Модные вста...
Большие файлы логов? | LogFileNavigator | Удобная работа с логами
Переглядів 2,7 тис.Рік тому
Расскажем о проблемах, связанных с большими файлами логов и небольшой программке, которая позволяет быстро и удобно работать с такими логами.
Пакетные менеджеры, composer, lock-файлы
Переглядів 4,1 тис.2 роки тому
Сегодня кратко говорим о пакетных менеджерах, в частности о composer, немного затронем yarn и npm, lock-файлы и работу пакетных менеджеров с ними. Посмотреть презентацию: docs.google.com/presentation/d/1tsqrHdba44dIT8RNIt300E-1XF-gsIV483emM7H-2A4/edit?usp=sharing Теги: composer.json, package.json, composer.lock, composer, пакетный менеджер
Inversion of Control, Dependency Injection, DI Container - что это такое и кто все эти люди?
Переглядів 19 тис.3 роки тому
В этом видео мы поговорим о: - Inversion of Control (Инверсия управления, инверсия контроля) - Dependency Injection (Инъекция зависимостей, внедрение зависимостей) - Dependency Injection Container (DI Container) - Service Locator Расскажем что это такое и покажем реализацию этих штук на примере PHP. Пачка примеров и мемасиков, всё как обычно :) Презентация: docs.google.com/presentation/d/1d1vd0...
Распаковка гаджета от Яndex
Переглядів 8833 роки тому
Распаковка гаджета от Яndex
Базы данных. ClickHouse. Колоночные СУБД
Переглядів 41 тис.3 роки тому
Базы данных. ClickHouse. Колоночные СУБД
Базы данных. NoSQL. Redis
Переглядів 30 тис.3 роки тому
Базы данных. NoSQL. Redis
Базы данных. NoSQL. MongoDB
Переглядів 29 тис.3 роки тому
Базы данных. NoSQL. MongoDB
Базы данных. MySQL. Транзакции
Переглядів 35 тис.4 роки тому
Базы данных. MySQL. Транзакции
Базы данных. MySQL. Индексы
Переглядів 65 тис.4 роки тому
Базы данных. MySQL. Индексы
Базы данных. MySQL. Alter, Engines
Переглядів 6 тис.4 роки тому
Базы данных. MySQL. Alter, Engines
Базы данных. MySQL. Подзапросы
Переглядів 19 тис.4 роки тому
Базы данных. MySQL. Подзапросы
Web Components
Переглядів 2,5 тис.4 роки тому
Web Components
Базы данных. MySQL. Update, Delete
Переглядів 5 тис.4 роки тому
Базы данных. MySQL. Update, Delete
Адаптивные изображения (webp, picture, source)
Переглядів 2,9 тис.4 роки тому
Адаптивные изображения (webp, picture, source)
Базы данных. MySQL. Left Join, Right Join
Переглядів 8 тис.4 роки тому
Базы данных. MySQL. Left Join, Right Join
Babel
Переглядів 6854 роки тому
Babel
Базы данных. MySQL. Cross Join, Inner Join.
Переглядів 12 тис.4 роки тому
Базы данных. MySQL. Cross Join, Inner Join.
webpack для начинающих
Переглядів 19 тис.4 роки тому
webpack для начинающих
Базы данных. MySQL. Select: GROUP, HAVING
Переглядів 16 тис.4 роки тому
Базы данных. MySQL. Select: GROUP, HAVING
Базы данных. MySQL. Функции, AS, UNION.
Переглядів 9 тис.4 роки тому
Базы данных. MySQL. Функции, AS, UNION.
Базы данных. MySQL. Select: Where, Order, Limit
Переглядів 9 тис.4 роки тому
Базы данных. MySQL. Select: Where, Order, Limit
Базы данных. SQL. MySQL. Insert
Переглядів 8 тис.4 роки тому
Базы данных. SQL. MySQL. Insert
Базы данных. SQL. MySQL: Внешние ключи
Переглядів 18 тис.4 роки тому
Базы данных. SQL. MySQL: Внешние ключи
Базы данных. SQL. MySQL: Таблицы, типы данных
Переглядів 23 тис.4 роки тому
Базы данных. SQL. MySQL: Таблицы, типы данных

КОМЕНТАРІ

  • @millkiway3682
    @millkiway3682 3 дні тому

    23:30 а как форсить нужный тип данных для БД? Например нужно чтобы доктрина в mysql создала char(32) not null default='sometxtobj'

  • @le_mon_tree
    @le_mon_tree 7 днів тому

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

    • @Rclass
      @Rclass 7 днів тому

      Старались для вас 😊

  • @artfiltersai
    @artfiltersai 8 днів тому

    Очень понравился, без воды, все по делу, ждем еще таких докладов

  • @alexzhaliazouski5924
    @alexzhaliazouski5924 9 днів тому

    как вам не стыдно сделать ролики на такую важную тему и на продолжать их

    • @Rclass
      @Rclass 8 днів тому

      Добрый день! Презентация по следующей части готова, ролик снимать будем через неделю-две. Напишите в личку в телеграм нашему техдиру: @qantus - выдадим вам ссылку :)

  • @dj_omen
    @dj_omen 9 днів тому

    Таблица users а выбирают из workers. Нормальное начало))

  • @millkiway3682
    @millkiway3682 9 днів тому

    Почему картавых и неуверенных в себе людей заставляют этим заниматься. По населению картавых людей 2%, но судя по Ютубу кроме них некому больше этим заниматься

  • @subarin4802
    @subarin4802 10 днів тому

    Непонятно зачем в этот список Nuxt попал)

    • @Rclass
      @Rclass 10 днів тому

      Там половина не понятно зачем) Дикий компот :) Но вот так попросили осветить)

  • @Siplyi_s_otvertkoij
    @Siplyi_s_otvertkoij 16 днів тому

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

  • @infotauta9234
    @infotauta9234 19 днів тому

    Вам бы в языки типизирование пойти а не ПХП засирать, со своей типизацией! Кто вас тут держит!!!???

    • @Rclass
      @Rclass 19 днів тому

      Мы прекрасно понимаем и плюсы и минусы динамической типизации и то что нам дают выбор очень ценим. В первую очередь мы за то чтобы развивался язык на котором работаем - не больше и не меньше.

    • @infotauta9234
      @infotauta9234 19 днів тому

      @@Rclass Спасибо за ответ! Никто ни в коей мере не говорит о стагнации! Но на данный момент по моему мнению. Наш ПХП превращается в помойную яму в которую спихивают все. Не понимая, не осознавая, не думая. Хорошо ли это. Какие улучшения это дает. Гляньте на свое видео. Кака упала скорость (Да в 8.2 может и поднялась)!!! А сколько дурочков не думая прыгают с версии на версию. Это как с пластиком на планете. Тотальное, не обдуманное использование. И какой результат. Вот скажите мне, зачем теперь отрицательный индекс в массиве!!!??? Спору нет проверка json на валидность это хорошо. ?? это хорошо. Много хорошего. НО ещё больше плохого. Та же типизация. Предположим кто то хочет. Ну тогда пускай, он включит это. А в ядре все как было до этого.

  • @user-zs4kv4ii7d
    @user-zs4kv4ii7d 28 днів тому

    О своей лекции автор точно сказал на 4-й минуте. Выключаю.

  • @websoda
    @websoda Місяць тому

    имба

  • @DimaTiunov
    @DimaTiunov Місяць тому

    5.20 так сделай Contact объектом (Интерфейсом), а в нужном месте передавай реализаций и пройдёшь ревью

  • @donjuanfamily1128
    @donjuanfamily1128 Місяць тому

    Итнро топ, чисто за него сразу лайк 👍

    • @Rclass
      @Rclass Місяць тому

      Спасибо)

  • @guilbertde1516
    @guilbertde1516 Місяць тому

    Отличный ролик, много полезной инфы доступным языком! Спасибо!

    • @Rclass
      @Rclass Місяць тому

      Для вас стараемся ;)

  • @Dzheintululu
    @Dzheintululu Місяць тому

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

    • @Rclass
      @Rclass Місяць тому

      Для примера! Всё для примера! Естественно в каждой отдельной ситуации нужно думать головой)

  • @belphegor6979
    @belphegor6979 Місяць тому

    Спасибо Гене, без него бы не понял!

    • @Rclass
      @Rclass Місяць тому

      Спасибо за отклик)

  • @TheILOVEYOUXD
    @TheILOVEYOUXD 2 місяці тому

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

    • @TheILOVEYOUXD
      @TheILOVEYOUXD 2 місяці тому

      А так очень полезно, спасибо ❤

    • @Rclass
      @Rclass Місяць тому

      Сложно на камеру работать, а так Рома у нас в целом всегда на чиле)

  • @user-nf1td4hh7y
    @user-nf1td4hh7y 2 місяці тому

    Антон спасибо за Ваши лекции, супер

    • @Rclass
      @Rclass 2 місяці тому

      Всегда пожалуйста :)

  • @user-nf1td4hh7y
    @user-nf1td4hh7y 2 місяці тому

    Антон, вы супер объясняете! Спасибо!

    • @Rclass
      @Rclass 2 місяці тому

      Спасибо, стараемся :)

  • @user-si4qz6ps9o
    @user-si4qz6ps9o 2 місяці тому

    ведущий позитивный, класс)

    • @Rclass
      @Rclass 2 місяці тому

      Спасибо, мы стараемся)

  • @GuruNemo
    @GuruNemo 2 місяці тому

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

    • @Rclass
      @Rclass 2 місяці тому

      В следующем видео информация эта есть :) И достаточно подробно :)

  • @GuruNemo
    @GuruNemo 2 місяці тому

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

    • @Rclass
      @Rclass 2 місяці тому

      Согласны, что-то с этим надо делать. Раньше мы просто экран камерой записывали, но в итоге было тоже плохо(

  • @GuruNemo
    @GuruNemo 2 місяці тому

    а в какой момент Доктрина использует рефлексию при работе с классами объектов?

    • @Rclass
      @Rclass 2 місяці тому

      Надо забираться "под капот" )

  • @GuruNemo
    @GuruNemo 2 місяці тому

    так и в чём разница между Active Record и Data Mapper? если и там и там можно в модель запихивать поведение?

    • @Rclass
      @Rclass 2 місяці тому

      Гм, в подходе?) Active Record - сам объект умеет себя сохранять и удалять из базы. В DataMapper объект - это просто объект.

    • @GuruNemo
      @GuruNemo 2 місяці тому

      @@Rclass но Rich Model судя по объяснению в видео это тот же Active Record.

    • @Rclass
      @Rclass 2 місяці тому

      @@GuruNemo отнюдь. Бизнес-логика и логика уровня работы с сохранением данных - это разные вещи.

    • @GuruNemo
      @GuruNemo 2 місяці тому

      @@Rclass если не пихать бизнес логику в Active Record, то отличия с Rich Model не вижу. Ещё раз пересмотрел видео, но отличия не нашёл кроме обращения напрямую и через Data Mapper.

  • @jlvby
    @jlvby 2 місяці тому

    У Зандстры в книге есть рекурсивный DI-контейнер

    • @Rclass
      @Rclass 2 місяці тому

      🚀

  • @user-cx8kh4sb2i
    @user-cx8kh4sb2i 2 місяці тому

    все круто, но цокать поменьше надо)

    • @Rclass
      @Rclass 2 місяці тому

      Спасибо, исправимся)

  • @lafoerteaitishnik4793
    @lafoerteaitishnik4793 2 місяці тому

    PHP-разработчики - самые добрые и нетоксичные среди всех😇

    • @Rclass
      @Rclass 2 місяці тому

      Именно так ^_^

  • @hook_off
    @hook_off 2 місяці тому

    дай бох здоровья

    • @Rclass
      @Rclass 2 місяці тому

      Спасибо)

  • @mikurrey416
    @mikurrey416 3 місяці тому

    Спасибо! Не всё понятно сразу, видимо, нужно еще вернуться к просмотру после небольшой практики. Но в целом - здорово!

    • @Rclass
      @Rclass 3 місяці тому

      Спасибо за положительный отклик, нам очень приятно :)

  • @KGB1st
    @KGB1st 3 місяці тому

    походу у меня вся база в 2 и 3 НФ, я даже составные ключи не делаю.. это уже даже вошло в привычку. Если я вижу, что две совершенно разные сущности сразу создаю таблицу объединения по внешним ключам.. до 4 и 5 НФ даже дело не доходит :)

    • @Rclass
      @Rclass 3 місяці тому

      Это же замечательно :) Отличная привычка! Всем бы такую)

    • @KGB1st
      @KGB1st 3 місяці тому

      @@Rclass ладно.. спасибо.. всегда хотел спросить такую вещь. Хранение и поиск по строкам очень затратно? Тогда почему ФИО мы не разбиваем на имена и отчества, которые часто встречаются, что бы в таком случае фамилию хранить рядом с их индексами и поиск выполнять только по фамилии?

    • @Rclass
      @Rclass 3 місяці тому

      @@KGB1st всё зависит от задачи, если у вас огромная информационная система в которой это будет иметь смысл - именно так и нужно делать! :)

  • @wsg2843
    @wsg2843 3 місяці тому

    Ответы по задачам: SELECT worker_id, SUM(salary)FROM `salaries` GROUP BY worker_id; SELECT worker_id, AVG(salary) as salary FROM `salaries` WHERE (date<"2020-03-01") GROUP BY worker_id ORDER BY salary DESC; SELECT MONTH(date) as month, AVG(salary) FROM `salaries` GROUP BY month; SELECT MONTH(date) as month, SUM(salary) as sum FROM `salaries` GROUP BY month HAVING sum >=2000; SELECT COUNT(tag_id) as count, tag_id FROM `tags_tasks` GROUP BY tag_id ORDER BY count DESC; SELECT COUNT(tag_id) as count, tag_id FROM `tags_tasks` GROUP BY tag_id ORDER BY count DESC LIMIT 1 OFFSET 1; SELECT worker_id, COUNT(end_at) as count FROM `tasks` WHERE end_at is not null and worker_id not in (11,12) GROUP BY worker_id ORDER BY count DESC; SELECT MONTH(date), DAY(date), SUM(salary) FROM `salaries` GROUP BY MONTH (date), DAY(date);

    • @Rclass
      @Rclass 3 місяці тому

      Лучший подписчик просто :) Спасибо большое :)

  • @wsg2843
    @wsg2843 3 місяці тому

    Запросы, которые получились по задачкам, просто оставлю здесь: 1 SELECT MAX(salary) FROM `salaries`; 2 SELECT description as `Before`, REPLACE(description,"Починить","Исправить") as `After` FROM `tasks` where description LIKE "%починить%" or description LIKE "%исправить%"; 3 SELECT AVG(salary) FROM `salaries` where date>="2020-03-01" and date<"2020-04-01"; 4 SELECT TIME(date) FROM `salaries` where salary=(SELECT MAX(salary) FROM `salaries`); 5 SELECT COUNT(salary) FROM `salaries` where date>="2020-01-01" and date<"2020-03-01"; 6 SELECT SUM(salary) FROM `salaries` where DAY(date)=10; 7 SELECT COUNT(*) FROM `tags_tasks` WHERE task_id in (10,13,22); 8 SELECT COUNT(*) AS total_tasks_started_in_january, SUM(CASE WHEN end_at IS NOT NULL THEN 1 ELSE 0 END) AS completed_tasks_in_january, (SUM(CASE WHEN end_at IS NOT NULL THEN 1 ELSE 0 END) / COUNT(*)) * 100 AS percentage_completed_in_january FROM `tasks` WHERE MONTH(started_at) = 1; 9 SELECT salary, ABS(salary-330) as `diff` FROM `salaries` ORDER BY diff ASC LIMIT 5; 10 SELECT AVG(TIMESTAMPDIFF(MINUTE, started_at, end_at)) FROM `tasks` where started_at is not null and end_at is not null;

    • @Rclass
      @Rclass 3 місяці тому

      Спасибо большое :) В закреп, как обычно)

  • @wsg2843
    @wsg2843 3 місяці тому

    Лучший! Антон, респект! И команде, кто помогал Отличное объяснение, коротко и по теме. Спасибо что заморочились с БД и задачками и выложили все это в открытый доступ. Я уже работал с БД, но решил закрыть все пробелы и порешать задачки. Вот запросы которые получились, может кому полезно будет: SELECT * FROM tasks WHERE (created_at>="2020-02-01" and created_at<"2020-03-01") OR (started_at>="2020-02-01" and started_at<"2020-03-01") OR (end_at>="2020-02-01" and end_at<"2020-03-01"); SELECT * FROM tasks WHERE end_at>="2020-01-01" and end_at<"2020-02-01"; SELECT * FROM tasks WHERE started_at is not null and end_at is null ORDER BY started_at DESC; SELECT * FROM tasks WHERE description like "%бюджет%"; SELECT * FROM tasks ORDER BY created_at DESC LIMIT 3; SELECT * FROM tasks WHERE started_at is null ORDER BY created_at ASC LIMIT 2; SELECT * FROM tasks WHERE worker_id IN (8,9,11); SELECT * FROM tasks WHERE end_at is not null or started_at is null; SELECT * FROM tasks WHERE creator_id=worker_id; SELECT * FROM tasks WHERE description LIKE "%изменить%" or (creator_id=12 and end_at is null);

    • @Rclass
      @Rclass 3 місяці тому

      Спасибо! За ответы особенно! В закреп!

  • @wickedtorpedo75
    @wickedtorpedo75 3 місяці тому

    хочется чтобы учитель был моим тимлидом в проекте

    • @Rclass
      @Rclass 3 місяці тому

      Спасибо, стараемся :)

  • @P_B_N_D
    @P_B_N_D 3 місяці тому

    Мне нужен такой Гена, на моей работе!😅

    • @Rclass
      @Rclass 3 місяці тому

      Нам всем иногда нужен Гена)

  • @exLesnick
    @exLesnick 3 місяці тому

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

    • @Rclass
      @Rclass 3 місяці тому

      Спасибо, мы старались ^_^

  • @user-ok8dp3mt1w
    @user-ok8dp3mt1w 3 місяці тому

    Очень круто розжевал. Иногда автор затачивает видео под какой-то конкретный язык что на мое мнение не является правильным так как язык это просто инструмент. В этом видео все будет понятно в не зависимости от языка программирования. Спасибо)

    • @Rclass
      @Rclass 3 місяці тому

      Именно этого и хотелось добиться, спасибо :)

  • @user-vu9du2ui4m
    @user-vu9du2ui4m 3 місяці тому

    Подскажите, где можно ответы на дз посмотреть? Хочется свериться

    • @Rclass
      @Rclass 3 місяці тому

      Увы, ответов нет(

  • @user-vu9du2ui4m
    @user-vu9du2ui4m 3 місяці тому

    Спасибо большое, классная подача!

    • @Rclass
      @Rclass 3 місяці тому

      Спасибо что смотрите:)

  • @olegkonyushevsky6216
    @olegkonyushevsky6216 3 місяці тому

    Объясните, пожалуйста. Третья нормальная форма предполагает, согласно видео, отсутствие связей между неключевыми атрибутами. Однако в правой таблице появляется связь между именем и телефоном: первичный ключ -> имя -> телефон. Получается транзитивная зависимость, или я неправильно понял? В свою очередь идентификатор шины никак не связан с поставщиком, а мы в примере наоборот их разносим в разные таблицы. Хотя они зависят от первичного ключа и не зависят друг от друга . Согласно тому что говорит "Гена", так и должно быть. Почему мы тогда их разнесли в разные таблицы?

  • @user-ii3ip7ye1z
    @user-ii3ip7ye1z 3 місяці тому

    О боже, пошел в шарагу после 9 на программиста т.к. думал что это халявный диплом IT-шника, а теперь сижу тут и пытаюсь вникнуть. Спасибо за ролик, благодаря вам меня допустят к практике.

  • @user-pi3jy4qz7i
    @user-pi3jy4qz7i 3 місяці тому

    в конце про нормализацию когда рассказывали, там же ошибка больше логическая в примере чем проблема не оптимальности, премия сотруднику начислялась по ОТДЕЛУ а не по тому какой он сотрудник, значит там никак у двух разных разрабов премия быть разной не может, после решили что у разрабов премия 20, так разделение таблиц нужно было что бы избавиться от двух одинаковых записей а не пофиксить, что у одного 10 а у другого 20.

  • @millkiway3682
    @millkiway3682 3 місяці тому

    В первых 10 минутах 10 ошибок и не верных терминов.

  • @muhammadumarsotvoldiev8768
    @muhammadumarsotvoldiev8768 3 місяці тому

    Спасибо огромное

    • @Rclass
      @Rclass 3 місяці тому

      Спасибо за отклик :)

  • @zagar_on1
    @zagar_on1 3 місяці тому

    Очень годно и доступно обьяснил , читал википедию , смотрел видео на ютубе , очень скудная инфа , а тут все просто и по полкам , респект !!!!! А главное хорошие примери

    • @Rclass
      @Rclass 3 місяці тому

      Спасибо, мы старались :)

  • @user-gv4rc2hg4k
    @user-gv4rc2hg4k 4 місяці тому

    Ребята, огромное спасибо вам. Доклад очень полезный, все объясняете максимально понятным языком!

    • @Rclass
      @Rclass 3 місяці тому

      Для вас стараемся :)

  • @ruslanm.1120
    @ruslanm.1120 4 місяці тому

    Уже хочется про 8.3 доклад от выступающего

    • @Rclass
      @Rclass 4 місяці тому

      Вы не поверите! Он уже на канале! :)

    • @ruslanm.1120
      @ruslanm.1120 4 місяці тому

      @@Rclass уже посмотрел!)

    • @Rclass
      @Rclass 4 місяці тому

      @@ruslanm.1120 Ееее!

  • @asyahaila
    @asyahaila 4 місяці тому

    Забавное совпадение когда лектор исчез рассказывая про TTL для memcached

    • @Rclass
      @Rclass 4 місяці тому

      Магия, не иначе :)

  • @Anshegar
    @Anshegar 4 місяці тому

    АЛИЛУЯ, наконецто нормальное и простое объяснение этиого заумного(не умного, а имено избыточно заумного) пиздеца.

  • @BYGUR
    @BYGUR 4 місяці тому

    Серия и Номер паспорта сходу - плохой первыичный ключ, потому что паспорт меняется с возрастом, а также с утерей. СНИЛС или ИНН (физ. лица) - вот они пожизненные и не меняются.

    • @Rclass
      @Rclass 4 місяці тому

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