Начиная разбираться в SQL многие сталкиваются с проблемой сложности понимания различия между разными JOIN-ами в этом языке. В этом видео уроке я объясняю: 1) Что такое JOIN. 2) Различие между CROSS JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN, и FULL JOIN. Также показываю как реализовать FULL JOIN в базах данных, которые не предоставляют такую конструкцию.


Начало работы в терминале с коммандным процессором bash. Рассматривается то, как работают команды создания директорий, файлов, и получения списка файлов и названия рабочей директории.


Благодаря наследованию мы можем достичь полиморфизма, то есть мы можем передать объект дочернего класса там где от нас требуют родительского. Но как-же это происходит на самом деле в памяти? И оказывается что большинство компиляторов решают данную проблему очень просто, с помощью элегантной упаковки объекта, где один и тот-же адрес указывает как на объект суперкласса, так и на объект подкласса.


Как перевести любое, данное вам, целое десятичное число в двоичную систему счисления.


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


Инкапсуляция — это одно из основных понятий Объектно Ориентированного Программирования. Причина простая, ООП во многом нужен для этой самой инкапсуляции.


Вы не можете создать объекты абстрактного класса. И когда вы впервые это слышите, может быть не совсем ясно, зачем-же вообщетакой класс нам может понадобиться. К счастью понять это весьма несложно, и вы разберётесь в этом посмотрев это видео.


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


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


Если вы не сталкивались с понятиями «первичный ключ», «вторичный ключ», «внешний ключ», и «сложный ключ», то вам просто необходимо посмотреть этот видео урок.


B‐дерево (произносится «би дерево») — это вид деревьев, который гарантирует полную балансировку. Не стоит путать его с бинарными деревьями, так как он с ними не имеет ничего общего. В этом видео уроке я обсуждаю, что такое B‐дерево и как работает алгоритм добавления данных в него. Как пример я обсуждаю дерево с M=4, также известное как дерево 2‐3‐4.


Объектно-Ориентированное Программирование — это не панацея, которая позволит вам всегда разрабатывать приложения правильно. Иногда подойдёт старый добрый структурный подход, или даже простое последовательное исполнение. Но как решить нужен вам ООП или нет? В этом видео я привожу 3 вопроса, которые вы можете себе задать о конкретном проекте, и эти вопросы позволят вам начать думать в нужном русле и выбрать подход максимально подходящий под требования клиента.


Где стоит и где не стоит использовать Виртуальную Частную Сеть (VPN).


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


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


Один из самых главных структур данных, которые приходится изучить будущему программисту — это деревья. В этом видео я в кратце описываю, что такое деревья, а затем объясняю почему бинарные деревья являются особенными.


Описание основ программирования на C++ под Ubuntu GNU/Linux. В данном видео я не использую среду разработки, а компилирую всё вручную, так как если человек может программировать без какой-либо среды, потом легко научиться её использовать, но на много сложнее перейти в обратном направлении.


Когда вы слышите определение интерфейса в ООП, как чего‐то, похожего на классы, но не способного реализовывать объекты, то бывает сложно понять, чем‐же это отличается от абстрактного класса. А отличие есть, и как раз об этом и пойдёт речь в этом видео‐уроке.


Понимание связаных списков — это один из первых шагов к пониманию коллекций данных. Связаные списки используются там, где массивы замедляют, а не ускаряют, работодействие программ.


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


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


Хеширование (или хэширование) - это одновременно очень простая вещь, и нечто, в чём очень просто запутаться. Многие путают хеши с другими понятиями (шифрование, цифровая подпись, и тд). В этом видео я описываю что такое хеширование и перечисляю требованию к функции, чтобы она могла называться алгоритмом хеширования.


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


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


Логическая Адресация Блоков используется для получения информации с жёсткого диска без необходимости обращения к физическим компонентам диска.


Атака отказа доступа — это наверно самая популярная атака в интернете. Давайте рассмотрим как она работает, и какие у неё есть разновидности.


Рекурсия, то есть способ написание алгоритма используя вызывающую себя функцию, часто рассматривается как что‐то почти магическое. На самом‐же деле — это весьма простой подход к написанию многих программ.


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


К несчастью наследование - это весьма плохое название для такой важной части ООП. Но что-же это всё-таки такое?


Самый первый и самый простой алгоритм сортировки списка.


Как работает индексация в базах данных?


Продолжаю описывать структуру данных «деревья». В этом уроке речь пойдёт о сортированных бинарных деревьях


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


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


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


Эффект туннеля — это один из самых интересных фактов из сферы квантовой механики. Он позволяет мельчайшим частицам делать то, о чём мы даже не можем мечтать, но в тоже время без этого эффекта одни из самых крупных объектов (звёзды) выглядели‐бы совершенно неузнаваемо.


Начиная разбираться в анонимности, и после установки сети Freenet очень многие задаются вопросом: А что-же всё таки лучше, Freenet или Tor? Если вас тоже интересует этот вопрос, то вам стоит посмотреть это видео.


Чёткое определение факториала, котороё часто забывается в школьных программах, которое также поможет разобраться в вопросе «Что такое 0! и как его вычеслить?»


Наверно самая известная атака против Bitcoin-а. Она работает по одному очень простому принципу: создать параллельную цепь, которая перегонит настоящую.


Как перевести любое, данное вам, целое двоичное число в десятичную систему счисления.


Алгоритм Дейксты — это весьма элегантный способ нахождения кратчайшего пути сквозь любою сеть с возможностью задавать конкретный вес для каждой из дуг.


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


Небольшая программка, которая показывает, как может работать искуственный интеллект. Здесь, ИИ весьма простой, в дальнейшем я хотел-бы продолжить его улучшать, чтобы использовать в качестве примера. Пожалуйста не забудьте стать спонсором учебника по gtkmm. Любая сумма поможет достичь цели, но большая сумма поможет больше ))) Код доступен под лицензией GPL3


Здесь рассматривается перевод чисел из системы 10 в системы 8 и 16, а затем их перевод обратно.


Мы много слышим про реляционные базы данных, но есть и другие типы. Многомерные базы данных работают по принципу проекции многомерной информации.


Возможно некоторые из вас слышали о таковых, в этом видео я просто описываю характеристики этих деревьев. Алгоритмы, которые используют эти деревья будут описаны позже. Отблагодарить меня можно следущими способами: Яндекс деньги: 410012245557024 Webmoney-R: R327167873071 Webmoney-Z: Z345122673518 Paypal: Volodya@whengendarmesleeps.org Paypal (рублёвый): VladimirMozhenkov@yahoo.com


Агрегация и Композиция - это два понятия, которые описывают связь между классами в объектно-ориентированных приложениях, но про которые мало кто говорит.


В стандарте C++11 появился замечательный класс std::thread, позволяющий создавать многопоточные преложения для почти любой операционной системы. Этот класс написан очень хорошо, но есть некоторые ньюансы, которые могут вызвать затруднения при начале работы (контринтуитивность процесса отсоединения процесса, баги в компилляторах, небольшие несоответствия стандартам, и тд). В этом уроке я делюсь своими знаниями, в надежде, что другим не придётся наступать на теже грабли, на которые сначала встал я. Программный код доступен по


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


Один из способов хранения информации о классе (и соответственно о его объектов) использует таблицу виртуальных методов для хранения ссылок на виртуальные методы (извиняюсь за тавтологию). Проблема, которую решает этот метод - это невозможность узнать какие будут использоваться виртуальные методы у объекта того или иного класса.


Видео добавлено: