общая папка на linux

Сегодня открываю новый цикл администрирования по ветке linux.

Ресурсы:

  • redhat v2.6
  • samba-3.6-rpm

самба будет ставиться не из официального источника, поэтому нужно выключить проверку сертификации в нашей OS. открываем etc/yum.conf (для тех кто linux видит впервые поможет команда mc ) Читать далее «общая папка на linux»

SQL Join

Увы редко получается писать, но после среды скорее всего в плотную вернуть к блогу.

Сегодня поговорим о JOIN. Согласно Wiki:

JOIN — оператор языка SQL, который является реализацией операции соединения реляционной алгебры. Входит в раздел FROM операторов SELECT, UPDATE или DELETE.

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

  • в схему таблицы-результата входят столбцы обеих исходных таблиц (таблиц-операндов), то есть схема результата является «сцеплением» схем операндов;

  • каждая строка таблицы-результата является «сцеплением» строки из одной таблицы-операнда со строкой второй таблицы-операнда.

Большинство начинающих разработчиков используют CROSS JOIN сами того не подозревая что создает при большом объеме выборки не рентабельные затраты на использование системы БД. Читать далее «SQL Join»

Наследование vs Композиция vs Агрегация

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

 

 

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

Продолжение следует…

Fail жизни или деление без деления в java

Проходил только что собеседование готовился отвечать по «высоким технологиям» а спросили очень низменные вещи как оказалось от которых я далек…
В итоге я решил через минуту после того как получил отказ ><
Задача: Написать функцию деления целых чисел
Решение:

 

    static int divide(int a, int b) {
        if (a == b) return 1;
        if (a < b) return 0;
        int d = 1;
        int c = a - b;
        while (c > 0) {
            c -= b;
            d++;
        }
        return d;
    }
// пример с рекурсией от alx
static int div(int a, int b) {
    if (a - b > 0) {
        return 1 + div(a - b, b);
    } else if (a == b) {
        return 1;
    } else {
        return 0;
    }
}

Выбор типа хранилища MySQL: MyISAM или Innodb

Если вы создаете БД по обстоятельствам и не уверены как база будет
использоваться, выбирайте Innodb.
Innodb следует использовать:
Когда взаимодействие с базой имеет характер OLTP (http://ru.wikipedia.org/wiki/OLTP)
Когда требуются транзакции.
Когда нужна высокая надежность хранения и быстрое восстановление после сбоя.
Innodb хорошо справляется со смешанной нагрузкой (select/update/delete/insert).

Минусы Innodb:
могут возникать deadlock, не свойственные MyISAM;
Медленнее выполняются insert операции и работа с блобами;
Не поддерживается полнотекстовый поиск;
Проблемы с производительностью COUNT(*);
Для Innodb нет поддержки mysqlhotcopy;

Читать далее «Выбор типа хранилища MySQL: MyISAM или Innodb»

Leo Dev Blog | LD
Обзор конфиденциальности

На сайте используются обязательные и аналитические файлы cookie.

Обязательные cookie необходимы для корректной работы сайта.

Аналитические cookie используются для анализа посещаемости и улучшения работы сайта.

Вы можете изменить настройки использования cookie.