Страницы

25 марта 2013 г.

Установка postgresql 9.1.1-1 на windows7 x64


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


Итак нам понадобится: 
  • Windows 7x64
  • postgresql-9.1.1-1-windows-x64
1. ВАЖНО: В названии Вашей учетной записи не должно быть кирилических(русских) букв. postgres относится к ним с презрением и не создаст конфиг файл который потребует для старта сервиса

18 марта 2013 г.

Вечная память Google Reader или как дальше жить?



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

Google Reader, который относят к сервисам для "искушенных пользователей", как говорит aif.ru, прекратит свою работу 1 июля этого года. В Google объясняли, что сервис не пользовался популярностью, в интернет-тусовке – что компании нужно показать инвесторам способность закрывать неэффективные программы. И с грустью в голосе журналисты подвели итог эры RSS, с которой многие сегодняшние пользователи интернета вообще не знакомы.

23 января 2013 г.

Кофе в 8 утра

Приветствую друзья.
Сегодня не будет ничего информативного кроме моего недовольства, так что если кто-то ждет очередной FAQ по IT можете закрывать страницу.
Как некоторым из Вас известно живу я в городе "собирателе" Симферополе. Не смотря на быдло менталитет Симферопольцев, я все же люблю свой город и не хочу никуда уезжать, хотя предложений было не мало, но речь не об этом.

22 декабря 2012 г.

Липкий запуск сервисов в Android-e.


В Android API есть такой абстрактный класс как Service. Он является наследником ContextWrapper-а, который в свою очередь является наследником Context-a. При некоторых допущениях можно относиться к сервисам как к "активити без UI" (хотя это не совсем правильно в деталях). Использовать сервис рекомендуется для задач не требующих прямого вмешательства пользователя.
В документации особо акцентируется внимание на том, что Service не является ни процессом, ни ниткой. Если сервис должен делать какую-то "тяжелую" работу, то нужно самому выносить ее в отдельный thread, чтобы не получить ANR (Application Not Responding).
Если делать свой thread лениво, то можно использовать готовый класс для асинхронной работы IntentService.
Про него нужно знать следующее:

4 декабря 2012 г.

Настраиваем Github в Intellij IDEA

На сегодняшний день существует пререлиз Intellij IDEA 12. В числе многих украшательств и фишечек JetBrains расширил поддержку популярного вершн контрола Git/Github. Мне очень захотелось попробовать поработать с Git, но помня нашу неудачную с Сашей попытку настроить Github проект из Intellij IDEA, я предварительно вооружился документацией на русском языке после чего начал настраивать Git репозиторий. Здесь я расскажу как у меня это получилось и на какие грабли наступил.

25 ноября 2012 г.

Перегрузка и переопределение: памятка

Override - переопределение - когда подкласс подсовывает свою реализацию метода вместо реализации в суперклассе. При вызове метода выбирается наиболее "специфическая" реализация, то есть реализация в подклассе, если она есть, приоритетнее реализации в суперклассе. В Java выбор выполняемого метода при переопределении происходит динамически (в рантайме) и не зависит от того, каким типом объявлена ссылка на объект:
public class TestOverriding {
    
    private static class Parent {
        String getName() { return "Parent"; }
    }

    private static class Child extends Parent {
        @Override
        String getName() { return "Child"; }
    }

    public static void main(String[] args) {
        Parent child = new Child();
        // Prints "Child"
        System.out.println(child.getName()); 
    }
}

Overload - перегрузка - объявление методов (или конструкторов) с одинаковыми именами, но разными с сигнатурами. Пример - все конструкторы любого класса, если их больше одного. В Java выбор выполняемого метода при перегрузке происходит статически (во время компиляции) и не зависит от типа объекта в рантайме:
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;

public class TestOverloading {

    static void classifyCollection(Collection c) {
        System.out.println("Collection");
    }

    static void classifyCollection(Set s) {
        System.out.println("Set");
    }

    public static void main(String[] args) {
        Collection c = new HashSet

31 октября 2012 г.

Анонимные (anonimous) классы и слушатели событий (listeners)

Столкнулся с довольно глупой на мой взгляд ситуацией. Нужно из заинжекченного класса сказать внешнему что что-то произошло и пора забирать данные, в моем случае координаты GPS. Я решил задачу тем что передаю классу который инжекчу ссылку на класс в который инжекчу) Но это не совсем грамотно как я понял и все же рекомендуют написать своего слушателя. Вроде и JAVA CORE а я не в теме >< Кому не понятна суть слов Dependency_Injection тык на ссылку.
Итак начнем по порядку....