• Как проверить массив из объектов на пустоту?

    Читаем тут и видим:
    Работать с ArrayList просто: создайте нужный объект, вставьте объект методом add(), обращайтесь к нему методом get(), используйте индексирование так же, как для массивов, но без квадратных скобок. ArrayList также содержит метод size(), который возвращает текущее количество элементов в массиве (напомню, что в обычном массиве используется свойство length).


    Один запрос в гугл и ответ готов, не ленитесь
    Ответ написан
    2 комментария
  • Рентабельно ли держать отдельный хостинг для изображений?

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

    Отдельный хостинг для изображений - это хостинг, который заточен под отдачу статики, а не бесплатный сервис для публикации фото для фотографов или вставки картинок на форумы. Правилами последних, к слову, прямая линковка без ссылки может быть вообще запрещена. Хостинг для изображений - это сервисы вроде этого: https://www.akamai.com/us/en/solutions/why-akamai/...

    А "рентабельность" - это экономическая оправданность (грубо - возможность получить прибыль больше или равную затратам), а не целесообразность вообще. Следовательно, вопрос о рентабельности использования бесплатного хостинга лишен смысла автоматически.

    Перефразируйте вопрос, чтобы он имел смысл.
    Ответ написан
    5 комментариев
  • 360 3d панорама есть ли плагин?

    profesor08
    @profesor08
    В плагине для ios не так много кода, можно его взять за основу своего плагина для android.
    Ответ написан
    2 комментария
  • Как реализовать отдельный поток для постоянной проверки доступа к интернету?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Это так не делается. Нужно подписаться на событие изменение статуса сети и проверять в обработчике этого события.

    AndroidManifest.xml
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <receiver android:name="NetworkChangeReceiver">
        <intent-filter>
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
        </intent-filter>
    </receiver>

    NetworkUtil.java
    import android.content.Context;
    import android.net.ConnectivityManager;
    import android.net.NetworkInfo;
    
    public class NetworkUtil {
        public static final int TYPE_WIFI = 1;
        public static final int TYPE_MOBILE = 2;
        public static final int TYPE_NOT_CONNECTED = 0;
    
        public static int getConnectivityStatus(Context context) {
            ConnectivityManager cm = (ConnectivityManager) context
                    .getSystemService(Context.CONNECTIVITY_SERVICE);
    
            NetworkInfo networkInfo = cm.getActiveNetworkInfo();
            if (networkInfo != null) {
                if(networkInfo.getType() == ConnectivityManager.TYPE_WIFI)
                    return TYPE_WIFI;
    
                if(networkInfo.getType() == ConnectivityManager.TYPE_MOBILE)
                    return TYPE_MOBILE;
            } 
            return TYPE_NOT_CONNECTED;
        }
    }

    NetworkChangeReceiver.java
    public class NetworkChangeReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            int status = NetworkUtil.getConnectivityStatus(context);
            if(status == NetworkUtil.TYPE_NOT_CONNECTED) {
                // Действия при недоступности сети
            }
            else {
                // Действия при доступности сети
            }
        }
    }
    Ответ написан
    1 комментарий
  • Для чего используется Java в современном вебе?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вот я, как раз сбежал обратно на яву после 8 лет программирования на python!
    И несказанно этому доволен - java8 стала очень и очень приятная, ну а бонусом прирост в скорости на моем приложении - 200х!
    И так, как минимум рекомендую для web посмотреть jooby.org, sparkjava.org и конечно же spring boot.
    На jooby как раз пишем маркет, очень весело и современно.
    Да, на котлин пока не смотрел.
    Ответ написан
    2 комментария
  • Как обновить данные в таблице посредство DRF?

    kentuck1213
    @kentuck1213
    1. почитать www.django-rest-framework.org/api-guide/filtering
    2. Вы должны не через GET запрос обновлять данные а через PUT или PATCH
    Ответ написан
    Комментировать
  • Как понять какой код лучше подойдет для разработки?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Язык это инструмент. На любом современном языке можно сделать плюс-минус что угодно.
    java / ruby / php / python / go / node.js - выбирайте любой и вперед.

    java - популярен, но на 99.9% энтерпрайз проекты со всеми их плюсами и минусами
    ruby - популярен сильно меньше, но спрос есть постоянный, в основном стартапы
    python - популярен сильно меньше, но спрос есть постоянный, как стартапы так и энтерпрайз
    php - дико популярен, есть разные проекты от "сайт под ключ за 2 копейки" до стартапов и энтерпрайза
    go - не популярен, в основном стартапы, дикий спрос на западе
    node.js - умеренно популярен, в основном стартапы, дикий спрос на западе

    * под популярен - понимается количество людей на нем пишуших
    все моё субъективное мнение, возможно я где-то не прав
    Ответ написан
    Комментировать
  • Почему до сих пор никто не создал p2p мессенджер?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Почему до сих пор никто не создал p2p мессенджер?

    Потому что это никому не нужно и в этом нет смысла. Именно поэтому нет
    стульев для людей ростом выше 18м,
    летающих ассенизаторских машин,
    ванны из сахара,
    валюты, которая привязана только к своей популярности (а нет есть такие)
    и прочих интересных и бесполезных штук.

    Если Вы ищите бизнес идею - лучше реализовать "facebook только красный", недавно предлагали на общественных началах поучаствовать в этом мега проекта. Скрепя зубами отказался. Кстати могу дать контакт, им наверняка не помешает в проекте p2p мессенджер.
    Ответ написан
    2 комментария
  • Почему до сих пор никто не создал p2p мессенджер?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Потому что у p2p только один единственный плюс в виде децентрализации и он же является минусом перечеркиващим все остальное. Сам p2p также фигово предназначен для передачи мелких и РАЗНЫХ данных но хорошо для передачи мелкими кусочками болищих неменяющихся данных.

    Т.е. грубо говоря одно дело идет раздача 1гб данных куче пиров которые также становится раздающими и в целом ускоряют раздачу потому что этот гиг хочет 1000 человек. Другое дело у тебя 10 байт текста обвязанных 300 байтами служебки и их надо передать одному единственному или паре пиров, остальным он не нужен, в таком случае сеть грубо говоря превращается в кучу шлюзов ретрансляторов из разряда ПирА(отправляет сообщение пиру Я) -> увидел пирБ(не мое передам дальше и затру у себя)->...-> поймал пирП(не мое передам дальше и затру у себя) ->...->->получил пирЯ(а это мне!). В савокупности для передачи породится космическое число мусора и изначальные байта сообщения по дороге выжрут мегабайты чужого трафика. Кроме того время доставки сообщения может быть очень большим пока сообщение путешевствует от пира к пиру даже потому что иногда придется искать маршрут что говорится в слепую не зная с какой стороны находится адресат.
    Почему на мобилках не интересен и не популярен тот же токс, ну вот ты пользуешься торрентом на телефоне? Аааа трафик жалко стало да? вот и тут схожая ситуация.

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

    Намного более интересные это жаббер\matrix которые могут быть гибридными, проще это представить как почту где ты привязался к сервису например яндекс и можешь отправить сообщение пользователю который привязан к гуглу, каждый сервис имеет свои плюшки а если что то не нравится то всегда можно найти другого провайдера почты. Но к сожалению яббер не нашел массового успеха погрязнув в стандартах изза чего потерял совместимость, а матрица досих пор в каком то непонятном состоянии.
    Ответ написан
    Комментировать
  • Зачем делают backend на разных языках?

    @InoMono
    Возьмем например Дропбокс.

    Изначально был написан на Python - это быстрее для прототипирования.
    Потом был переделан на Go - для предсказуемости и скорости. Но зачем переделывать полностью? Многие куски на Python существуют там до сих пор. И работают.
    И маааалюсенький кусочек был переделан на Rust - для ускорения самого узкого места.

    Вот вам и 3 языка работающих одновременно в Дропбоксе на бэке.

    Или имеется в данный момент свободен тот или иной специалист, который лучше знает тот или иной язык. Ему поручили - он сделал на том, что лучше знает, чтобы сделать быстрее и качественнее.

    Или такова была особенность задачи. Пример с комбинацей Rust/Go выше приведен. Где то может быть лучше один язык, где то другой.

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

    Вы преувеличивайте значение языка. Это всего лишь инструмент программиста. Такой же как клавиатура. Опытный программист за долгие годы изучает не меньше десятка языков, а кто то и намного больше. Ничего такого в этом нет.
    Ответ написан
    Комментировать
  • Стоит ли покупать коленный стул?

    @V_Holmow
    Шляпа, нет упоров для локтей = будет болеть спина, нагрузка от туловища идет на колени, а не на тазовые кости как должна = не есть хорошо для коленей.
    да и просто... ну не удобно же, бороться надо не с рабочим местом, а с рабочими задачами)
    Ответ написан
    7 комментариев
  • Интерактивная карта на js?

    gromdron
    @gromdron
    Работаю с Bitrix24
    В приведенном Вами примере используется Raphaël. В принципе, при наличии знаний и опыта, не составит труда собрать ее на любой библиотеке.

    Но наиболее простым будет использование одного из существующих библиотек:
    Ответ написан
    Комментировать
  • Как сохраняются сеансы в Android приложение?

    Le_barto
    @Le_barto
    Junior android developer
    У меня на нескольких проектах было так:
    • вводим пару email, пароль
    • отправляем серверу
    • сервер возвращает токен, по которому все запросы валидируются
    • сохраняем токен в приложении и радуемся!


    Токен можно отправлять например в header каждого запроса, тут уже надо делать как сервер ожидает.
    При запуске можно проверять наличие токена. Сервер может возвращать ошибку авторизации при любом запросе, например, если токен не подходит или устарел
    Ответ написан
    2 комментария
  • Почему говорят, что postgress лучше для более-менее серьезного проекта чем что-либо иное?

    @abroabr
    Не так.

    Серьезные проекты, например, у того же Google прекрасно работают и с MySQL

    Дело в другом - у PostgreSQL больше функционала. Если он вам нужен и если вы умеете им пользоваться.

    У MySQL функционала меньше, он проще, и потому во многих случаях быстрее.

    Но реализация функционала, отсуствующего в MySQL надстройкой над MySQL обойдется дороже по производительности, чем использование такового уже имеющегося функционала в PostgreSQL.

    Как пример, JSONB (рекомендую его в PostgreSQL, работает эффективно, позволяет реализовать schemeless). Не путать с JSON (это старая реализация в PostgreSQL, не рекомендуется).

    Смотрите выступления Олега Бартунова на Youtube - он разработчик PostgreSQL и проводит просветительскую работу по некоторым особенностям PostgreSQL.
    Ответ написан
    8 комментариев
  • Как можно менять значение тегов XML через код (Java)?

    @Izgoj
    TextView tvTemp = (TextView) findViewById(R.id.you_text_view);
    LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) tvTemp.getLayoutParams();
    params.setMargins(0,25,0,0);
    tvTemp.setLayoutParams(params);

    LinearLayout.LayoutParams - зависит от текущей разметки
    Ответ написан
    Комментировать
  • Бан за безактивность на upwork?

    syschel
    @syschel
    freelance/python/django/backend
    Да, вы верно слышали. Это защита от спама и гулпых фрилансеров, которые шлют однотипные шаблонные предложения на вроде "найми меня".

    Если вообще без активности аккаунт, ничего страшного не будет. Единственное, поставьте статус "не нуждаюсь в работе" в настройках. Это чтобы вам не слали инвайты. Ибо есть статус профиля "время отклика на инвайты", где желательно его держать в "отвечает в течении суток". И если всётаки прилетит инвайт, но он вам не интересен, постарайтесь как можно быстрее (в течении суток) отказаться от него, выбрав одну из причин в списке. Отказ от ивайтов никак не влияет на рейтинг, только время отклика.

    З.Ы. Во время когда ищу новый заказ, мне 60 бесплатных "коннектов" (по 2 на заявку) очень много, так как очень скурпулёзно выбираю к кому отправить предложение о работе. То задача размытая или не интересная, то цены не те, то условия подозрительные, то клиент какой-то не благонадёжный, то уже наняли. Но некоторые, особенно новички(при регистрации дают 90 коннектов на первый месяц), все эти поинты умудряются прогулять за пару часов в первый день. Рассылая всем подряд предложения. Вот и выходит, что с такими система борется. Повышая качество. Так как не крути, но нас фрилансверов там со всего мира миллионы, а вот работодателей с деньгами всего лишь тысячи.
    Ответ написан
    2 комментария
  • Где выгоднее жить программисту, в Москве или Новосибирске?

    b0nn1e
    @b0nn1e
    Alcohol & Ruby on Rails
    Офтоп немного, но я бы порекомендовал Минск.
    Год назад переехал, и не жалею.
    Ответ написан
    9 комментариев
  • Где выгоднее жить программисту, в Москве или Новосибирске?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Москва - это странный выбор. Лучше жить в среднем по размеру городе, где есть инфраструктура. но цены на услуги ниже, чем в Москве, Питере, Новосибирске и т.д.
    Я живу сейчас в Тамбове - считаю оптимальным выбором. Это достаточно рядом с Москвой (4 часа на экспрессе). Достаточно далеко от Москвы, экология в норме, Тамбов и Белгород самые чистые города европейской части России. Из тех, в которых есть вся необходимая инфраструктура. Цены на жилье радуют. Снимаю очень большую и хорошую 2-шку за 12K + 3k коммуналка. Модно найти однушку за 8k.
    Я долго думал куда съехать (жил в Харькове, потом в Москве) начертил себе табличку, провел тендер и выбрал победителя - Тамбов. Многие наверно удивятся, но я за 3 года не разу не пожалел. Город - отличное место для фриланса. Конечно же работать в Тамбове программистом не где. Есть конечно студии, но там ценники в месяц на уровне 1 закупки в супермаркете. Только фриланс.
    Ответ написан
    6 комментариев
  • Где выгоднее жить программисту, в Москве или Новосибирске?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Если удаленка - все равно где. Если офис - Москва
    По сравнению с любым другим городом, в Москве разница в зп выше, чем разница в съеме квартиры.
    Ответ написан
    3 комментария
  • Как вызвать метод родителя родителя?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    (this as A).Method()

    ((A)this).Method()

    ps .. сам не пробовал ))

    pps .. попробовал.. не прокатило ((

    кстати - protected вообще не дает использовать Method() в Some()

    ppps любопытно, что на stackoverflow полно ответов типа моего, при чем многие отмечены ответами

    совет - пересмотрите архитектуру на предмет применения интерфейсов и расширений.. я последние годы чуть ли не 90% кода реализую в расширениях, крайне редко новые классы (чаще просто структуры, а сейчас все чаще кортежи.. а то и вовсе безымянные кортежи ;))), и только по необходимости интерфейсы

    по поводу расширений - это вообще инструмент, позволяющий много разных элегантных решений

    в частности можно реализовать одноименные расширения для всей иерархии A, B, C, и согласно различию сигнатуры входных параметров, они не будут конфликтовать. в том числе и ни каких проблем в наследованием и переопределением

    вообще, с годами, убеждаюсь, что городить свою иерархию классов ооочень далеко НЕ всегда оправдано

    pppps ну и раз такое дело - на всякий случай тоже подпишусь, вдруг есть современное решение ))

    обещанный эскиз на основе расширений https://dotnetfiddle.net/UTPZLv
    Ответ написан