• Что не так в моем коде, и как подтянуть навыки?

    @onepavel
    Консультация и разработка мобильных приложений
    Тебе все правильно написали.
    Мой тебе совет лезть в гитхаб, качать оттуда проекты и смотреть их механику.
    Прежде чем лабать код смотрим на исходные данные.
    У тебя это json, открываем и смотрим.
    Мы видим массив одинаковых объектов. Для нашего удобства
    сообразим класс под json'овские данные
    class Product {
    int id;
    String name;
    String picture;
    String description;
    }

    Теперь нам нужно в активити их распарсить в список.
    У тебя есть объект с методом
    new JSONReadFromAsset().readJsonFromAsset(getApplicationContext());

    который возвращает json массив, а если заказчик завтра даст два таких файла !?
    мы же не хотим копипастить, а сделаем универсально и метод парсера будет возвращать сразу массив объектов, а не json данные и тогда мы выкинем лишние сущности
    ArrayList<String> nameList = new ArrayList<String>();
    ArrayList<Integer> idList = new ArrayList<Integer>();

    а вставим только один список
    List<Product> mDataList
    и тогда мы будем получать данные
    mDataList = JSONReadFromAsset.readJsonFromAsset(getApplicationContext(),"questions.json");

    Сделаем readJsonFromAsset статиком, так как JSONReadFromAsset ничего в себе не несет.
    в readJsonFromAsset должно быть что-то, вроде, такого
    readJsonFromAsset() {
    List<Product> dataList = new LinkedList();
    for () {
    Product product = new Product();
    obj = jsonArray.getJSONObject(position);
    product.id = obj.getInt("id");
    product.name = obj.getString("name");
    product.description = obj.getString("description");
    product.picture = obj.getString("picture");
    dataList.add(product);
    }
    return dataList; 
    }

    вместо методов getString, getInt я предпочитаю использовать optString, optInt
    Вариантов парсинга данных много, можно изворачиваться по разному.
    А что бы показать что ты крут, можно сделать класс Product Parcelable
    и не передавать пачку строк через бандл в интенте, а передать сразу Product объект.
    bundle.putParcelable(SomeActivity.PRODUCT, mDataList.get(position));

    В другом активити принять и с ним работать.

    Можно вот так сделать
    public static final String LINK = "ironwaterstudio.com";
    и поместить в легко доступное место или завести отдельный класс
    class Static {
    public static final String LINK =  "http://ironwaterstudio.com";
    }

    AlertDialog - насколько тебе необходимо обрабатывать setNegativeButton, попробуй не передавать обработчик кнопки, а сунуть null
    Ответ написан
    3 комментария
  • Php. Как лучше организовать хранение большого конфига социальной игры и быстрый доступ к нему?

    pavel_salauyou
    @pavel_salauyou
    Symfony2 & Angular разработчик
    храните весь конфиг в redis, redis хранит данные в оперативной памяти, а так же переодически сохраняет на диск, если что-то пойдёт не так, данные не пропадут.
    Ответ написан
    3 комментария
  • Узнать количество строк по условию MySQL/Java

    @Malah
    1) Количество строк которое удовлетворяет условию ищется запросом такого вида SELECT count(*) FROM chat_rooms WHERE parent_id=2
    2) stmt.executeQuery(query) вернет объект который будет содержать результаты выполнения запроса, а это, в общем смысле, набор строк с которым можно работать через интерфейс ResultSet. В случае запроса из пункта 1, результатом будет набор из ровно одной строки, с одной колонкой, в которой будет содержаться результат выполнения функции count(*) - число строк из таблицы chat_rooms у которых parent_id=2.
    3) Вытащить результат можно так:
    ResultSet rs = stmt.executeQuery(query);
    int count = 0;
    if(rs.next()) {
        count = rs.getInt(1);
    }
    Ответ написан
    Комментировать
  • Безопасность в MacBook Air: OS X?

    @askhat
    К черту TrueCrypt! У OS X есть свой /dev/random, которым можно создавать шифрованные .dmg контейнеры с помощью Disk Utility:ca346f838fa944b09c6eb8c648a1c57a.png
    Для вызова дилога создания контейнера в Дисковой утилите нажмите ⎇⌘N.
    Ответ написан
    1 комментарий
  • Гарантия 6 месяцев или 12?

    Sterhel
    @Sterhel
    Вспомнился pleer.ru с их вечными подобными разводами.

    Лучше правда чутка переплатить, зато купить в том же Связном или Евросети, чем сэкономить немножко, а потом сидеть и думать, чего с этим кирпичом теперь делать.
    Ответ написан
    6 комментариев
  • Каковы криптографические возможности linux?

    ntkt
    @ntkt
    Потомственный рыцарь клавиатуры и паяльника
    Общепринятой реализации провайдеров в привычном виндовом представлении нет.
    В ядре есть подсистема crypto и некоторое API к ней -- это реализация всех основных криптопримитивов для ядерного же использования.
    А в юзермоде -- нет ничего готового, единого и удобного, надо самому использовать чисто юзермодные библиотеки: openssl, gnutls, libnss и иже с ними.
    Все остальное -- маргинальные эксперименты (порт /dev/crypto из OpenBSD (www.logix.cz/michal/devel/cryptodev ), патчи в том же openssl, которые вызывают соотв. реализации функций из ядра через аналоги этого /dev/crypto, и т.д.).
    Ответ написан
    Комментировать
  • Куда копать для автоматической сборки видеофайла на сайте?

    bazilio91
    @bazilio91
    tochka.com, developer experience
    Смотря какие действия вы с этим фото хотите осуществить. А так — ffmpeg
    Ответ написан
    7 комментариев
  • Последствия обновления сервера linux. Попытка фикса openssl?

    alekciy
    @alekciy
    Вёбных дел мастер
    Скорее всего снесся openssl с сопутствующими библиотеками.

    @deadbyelpy проверить можно так:
    # dpkg --list | grep ssl
    ii  libssl-dev                         1.0.1e-2+deb7u5               amd64        SSL development libraries, header files and documentation
    ii  libssl-doc                         1.0.1e-2+deb7u5               all          SSL development documentation documentation
    ii  libssl0.9.8                        0.9.8o-4squeeze14             amd64        SSL shared libraries
    ii  libssl1.0.0:amd64                  1.0.1e-2+deb7u5               amd64        SSL shared libraries
    ii  openssl                            1.0.1e-2+deb7u5               amd64        Secure Socket Layer (SSL) binary and related cryptographic tools
    ii  ssl-cert                           1.0.32                        all          simple debconf wrapper for OpenSSL
    Ответ написан
    Комментировать
  • Какую архитектуру БД использовать для СааС?

    @portfelio
    При нормальном коде разграничение прав на уровне БД будет предпочтительнее. При кривом коде вы можете и к организации хранения данных подходить как угодно.

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

    Абстрактные "сотрудники-модули-клиенты-статистика" могут быть реализованы и на PostgreSQL/MySQL и на Riak/MongoDB и на любых других СУБД.
    Ответ написан
    Комментировать
  • Как осуществить организацию серверов на предприятии?

    Не плодите зоопарк (Proxmox+Hyper-V)
    HP DL320e Gen8/E1240v2 - контроллер домена (AD, DNS, DHCP)
    HP DL360p Gen8/E5-2630 - Hyper-V - file server, контроллер домена
    HP DL360p Gen8/E5-2630 - Hyper-V - Debian+postfix (habrahabr.ru/post/115630/)
    Настраиваете репликацию виртуальных машин с одного Hyper-V на другой.
    Если сервера еще не купили пересмотрите требования к памяти\дискам.
    Для бекапа нужно что-то еще :-) NAS какой нибудь простой, а лучше с отчуждаемыми носителями.
    Эта схема будет нормально работать.
    Ответ написан
  • Как усилить прием wi-fi в отеле?

    @Espresso
    Возите с собой направленные антенны. Размер соизмерим с ноутбуком. И любой внешний юсби вифи свисток с SMA разъемом для внешней антенны.
    Ответ написан
    4 комментария