Новые статьи Размеры текста в канвасе Если вы рисуете графику прямо в Canvas'е, то рано или поздно вам захочется выводить на экран и текст. Для этого вам нужно знать, как он будет располагаться, соответственно потребуется рассчитать его ширину/высоту для выравнивания и прочих эффектных штук. Недавно в своём приложении мне также понадобилось вертикальное и горизонтальное центрирование. Поэтому я начал со следующего кода:
Продолжить Рейтинг: 4 (За: 4 | Против: 0) Добавлено: 19.01.2015 от Ксакеп Комментарии (5) Java 8 в Android со Stream API и лямбдамиКак вы знаете, Android основан на Java 6. Google не спешит добавлять поддержку новых версий Java, поэтому приходится мечтать даже об использовании try-with-resources, multi-catch из Java 7, не говоря уже о Lambda Expressions и Stream API. Но если чего-то сильно захотеть, то никакие преграды не остановят, ведь так? Если мы не можем запустить код из Java 8 в Android-приложениях, то почему бы не преобразовать его в Java 6 совместимый? Именно это и делает проект Retrolambda финского разработчика Esko Luontola. Retrolambda На странице проекта есть описание и короткое видео, демонстрирующее, как работает преобразование. Вкратце, Retrolambda анализирует байт-код скомпилированных классов, ищет вызовы лямбда-выражений, Продолжить Рейтинг: 9 (За: 10 | Против: 1) Добавлено: 9.01.2015 от aNNiMON Комментарии (25) Как эффективно учитьсяЯ убеждён, что столь большая разница между хорошими студентами и плохими объясняется наличием привычек учиться. Большинство студентов ничего о них не знает, и как следствие, имеет низкую успеваемость, а преподаватели просто неспособны привить хорошие навыки в учёбе. Обучение пропорционально усилиям Вам кажется, что если вы сидите в аудитории, слушаете очередную лекцию, или, например, читаете новую главу в книге, то вы учитесь. Такой тип обучения является пассивным, а потому неэффективен. Что ещё хуже — у вас создаётся ложное впечатление, будто бы вы изучили материал. Вы можете прослушать курс лекций по квантовой механике, после чего вы познакомитесь с тематикой, некоторой терминологией но... на этом всё. Будет лучше, если вы станете постоянно стимулировать Продолжить Рейтинг: 18 (За: 18 | Против: 0) Добавлено: 1.01.2015 от Ксакеп Комментарии (11) Mockito и Behavior Driven DevelopmentКогда разработчик только начинает изучать принципы тестирования, он, как правило, знакомится в первую очередь с тестированием, основывающемся на проверке данных. То есть, чтобы протестировать функцию сложения чисел разработчик пишет, например, такой тест: “Заданы числа 2 и 3, в качестве результата ожидается 5”, и по тому, выполнилось ли это утверждение или нет, он делает вывод о верной или неверной реализации тестируемой функции. Такой подход хорошо работает, когда код достаточно прост, результат предсказуем, и его проверка не займёт относительно много времени. Но на практике часто функции сложные, тяжело покрыть тестами каждый возможный исход, либо подготовка исходных или проверка конечных данных для теста занимает много времени. Можно, конечно, подумать: “Это сложно тестировать Продолжить Рейтинг: 8 (За: 8 | Против: 0) Добавлено: 20.12.2014 от Freddy Комментарии (32) Простой бот для сайтаНаверняка, многие уже успели заметить некоторое нововведение на нашем сайте. Сейчас я расскажу, откуда пошли корни, как работает бот и как наполнялась база фраз. Сделать точно такого же бота не составит труда, уж поверьте. Корни ![]() Идею добавить на сайт бота подкинул благородный дон Virus-ON, так что все лавры ему. Что же нужно для создания бота? Во-первых, база данных фраз — память бота, чтобы он мог отвечать на сообщения. Во-вторых, некоторый алгоритм выбора фраз — мозг бота, чтобы он отвечал более-менее в тему. База данных. Часть 1 По воле случая, довелось познакомиться с одним человеком, программирующем Продолжить Рейтинг: 22 (За: 22 | Против: 0) Добавлено: 15.12.2014 от aNNiMON Комментарии (16) |