Архив за 09 февраля 2020 - 4

Продолжаем рассказ про API, которые появились в новых версиях Java.

1. Files.mismatch()

Появился в: Java 12

На практике довольно часто возникает необходимость проверить, являются ли два файла в точности одинаковыми или нет. С помощью метода Files.mismatch(), появившегося в Java 12, это наконец-то можно сделать. Этот метод возвращает позицию первого несовпадающего байта в двух файлах или -1, если файлы идентичны.

Это может быть полезно, например, когда синхронизируешь содержимое двух директорий. Чтобы не перезаписывать файл при копировании тем же самым содержимым и лишний раз не нагружать диск, можно сначала проверить, идентичны файлы или нет:

public static void syncDirs(Path srcDir, Path dstDir)
        throws IOException {
    // Для простоты демонстрации считаем, что поддиректорий нет
    List<Path> srcFiles = Files.list(srcDir).collect(toList());
    for (Path src : srcFiles) {
        Path dst = dstDir.resolve(src.getFileName());
        if (!Files.exists(dst)) {
            System.out.println("Copying file " + dst);
            Files.copy(src, dst);
        } else if (Files.mismatch(src, dst) >= 0) {
            System.out.println("Overwriting file " + dst);
            Files.copy(src, dst, StandardCopyOption.REPLACE_EXISTING);
        }
    }
}

Читать полностью »

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

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

Под «Филвордом» я буду иметь ввиду эту многим знакомую игру.

Самый простой алгоритм для создания Филворда (Часть 1) - 1

В игре есть поле размером обычно NxN заполненное словами. Наша цель — найти все слова.
В нашей версии не будет букв в поле, которые не принадлежат ни одному слову и служат для сбивания игрока, а также не будет букв, которые принадлежат сразу нескольким словам. Обычный классический Филворд. И так, задача поставлена. Нужно решать.

Первым делом я всегда разбиваю задачу на подзадачи. Для решения этой задачи мне понадобится:

  1. БД со словами.
  2. Алгоритм, который вставляет слова в поле.
  3. Алгоритм, который проверяет выбранное пользователем слово на корректность. К примеру мы в поле поместили слово «программирование», а пользователь увидел там «мир» и выделяет это слово. Пользователь прав – такое слово есть, но мы его не загадывали. Нам нужен алгоритм, который будет проверять догадки пользователя и говорить ему прав он или нет.

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

1) БД со словами.

Для решение данной задачи я сделал простую БД с несколькими таблицами, каждая из которых хранит в себе слова определенной длинны. Таблица words_2 хранит в себе слова длинной в две буквы. Таблица words_3 хранит в себе слова длинной в три буквы и так далее. Выглядеть это будет примерно так:

“Если вы не можете измерить это, вы не можете улучшить его”, — так сказал Уильям Томсон, великий ирландский физик известный как лорд Кельвин.

B. Vellas и соавторы в своей новой работе предложили свои биомаркеры старения по каждому из 9 общих признаков старения, рассматриваемых в самой значительной работе про старение «Hallmarks of Aging».

Вот принцип, которым они руководствовались: «Основываясь на современной литературе, для каждого признака биологического старения мы предложили биомаркер здорового старения. Наш выбор был основан на их связи со смертностью, возрастными хроническими заболеваниями, старческой астенией и / или нарушением функций».

1. Геномная нестабильность. Микроядра.

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

Генетическое повреждение накапливается с возрастом из-за внешних и внутренних факторов. Нестабильность генома возникает в результате дисбаланса между повреждением и восстановлением ДНК. Повреждение хромосом можно оценить с помощью микроядерного анализа, который измеряет разрушение хромосом. Микроядра образуются из фрагментов хромосом, образовавшихся в ходе нарушенного клеточного деления или апоптоза. Увеличение содержания в организме клеток с микроядрами связано со старением, раком, нейродегенеративными заболеваниями, употреблением табака.
Читать полностью »

Жизнь под грибами: уникальный биологический концепт

Легкие, водонепроницаемые съемные панели размерами 200 х 70 см получены с использованием растительного субстрата, засеянного трутовиками Ganoderma lucidum. Пока что сооружение остается лишь концептом и долго не продержится: за месяц растущий мицелий использует все ресурсы и превратит стены в труху. Однако Лебу и его единомышленники уже работают над созданием более устойчивых «грибных панелей», способных выдержать на открытом воздухе несколько лет.

Читать полностью »

В прошлом месяце мы сообщали о том, что компания «Российские железные дороги» (РЖД) намерена закупить 15 000 компьютеров, основанных на российских процессорах «Эльбрус».

Читать полностью »

Марсианские хроники 2020: кто хочет попасть на Красную планету

Читать полностью »

Видео: складной смартфон Motorola Razr проверили на выживаемость в пыли и под давлением

Хотите ли вы знать, как будет выглядеть ваш складной смартфон Motorola Razr через несколько лет эксплуатации? Блогер Зак Нельсон (Zack Nelson) с YouTube-канала JerryRigEverything провёл ряд тестов с целью проверки Motorola Razr на выживаемость в суровых условиях, включая воздействие мусора и пыли на OLED-экран и шарнир.

JerryRigEverything/YouTube

Читать полностью »

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

Два дня назад в продажу поступил Ryzen Threadripper 3990X — монструозный 64-ядерный процессор стоимостью 3990 долларов. Это самый большой и самый производительный потребительский CPU.

Но, как было понятно изначально и как показали в итоге тесты, далеко не во всех задачах Ryzen Threadripper 3990X раскрывает весь свой потенциал. Компания AMD решила помочь потенциальным покупателям этого CPU и выпустила список подсказок касательно того, как сделать процессор наиболее эффективным.


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js