• Правда ли, что разработка мобильных приложений умирает? Куда двигаться дальше?

    opium
    @opium
    Просто люблю качественно работать
    В 2019 оборот мобильных ап вырос с 76 млрд долларов до 122 млрд долларов
    Э́х Мне бы такую смерть
    Никто ничего не перестал устанавливать, просто вход стал дороже, конкуренция выше, все по прежнему растет, мобилки по прежнему растут
    Поставил бы хороший туду органайзер но их просто нет, все какие то гавно, приходится дрочить на Гугл календарь
    Ответ написан
    Комментировать
  • Правда ли, что разработка мобильных приложений умирает? Куда двигаться дальше?

    @SEOVirus
    50% американцев устанавливают за месяц 0 приложений. Я сам из их числа.

    Вы из числа американцев или из нуля приложений? :)

    Я сам из числа тех, кто ничего не устанавливает последнее время. В целом, есть такая тенденция, что люди стали проводить больше времени в инсте, тик токе, ютубе, фб, мессенджерах. Можно в них и развиваться, кстати :) Приложения можно писать в мессенджерах, соц сетях (ОК, ФБ, ВК). Можно для них пилить какие-то сервисы, оформляемые в виде веб-сервисов, либо HTML5-приложений. Далее этим же стеком выйти на мобайл-сторы, если обернуть в вебвью. Ну а так - да всё же приедается, народ не хочет выходить из одного ресурса, хочет, чтобы там всё было, куча блогеров, куча инфы, куча развлечений, контента и т.д. не выходя из одной соц сетки, чтобы интерфейс не менялся, покуда к новому ещё привыкать надо, а это не очень любят, проще идти по пути наименьшего сопротивления мозга - никуда не уходить, ничего не менять, тем более, что и в данной соц сетке развлекухи хватает.

    И ещё важная мысль: нужно решать проблему, а не писать программу. Когда вы перестанете думать о программах, а именно какая проблема существует и как её решить, так сразу же они и будут устанавливать ваши проги для решения их проблем. Бывает просто так, что программист зацикливается на программе, ему интересно просто написать программу, чтобы была, потягаться типа - а смогу ли я такой алгоритм замутить, забывая совершенно о проблеме. В итоге получается, что программа есть, но она никому не нужна, потому что изначально задумывалась как проба пера ради интереса самого программиста, а не решения чьей-то проблемы. Ну разве что своей :) Поэтому уходите от написания программ к: чем бы им там помочь, как бы жизнь облегчить, поинтересуйтесь жизнью "клиентов" и их проблемами на текущий момент времени, покуда программисты очень часто допускают такую ошибку, особенно одиночки, и поэтому таких пробелов (в незакрытых проблемах) может быть очень много, вы можете сделать кучу полезного софта, которого ещё нет.
    Ответ написан
    Комментировать
  • Можете порекомендовать торрент клиент для Debian?

    @Tabletko
    никого не трогаю, починяю примус
    Deluge, Transmission
    Ответ написан
    1 комментарий
  • Как спарить сложные данные JSON?

    doublench21
    @doublench21 Куратор тега Swift
    У вас JSON кривой по ссылке. В этой строчке
    {"id":67,"iconImage":"image\/catalog\/style\/modile\/icons-03.png"
    id имеет целочисленный тип, хотя во всех остальных местах это строка.
    5dd182bfe2d36713711596.jpeg

    Если не учитывать этот косяк в JSON, то такое можно спарсить как-то так:
    5dd181e2cd959773181456.png

    Код
    struct EntryList: Decodable {
      struct DynamicCodingKey: CodingKey {
        var stringValue: String
        init?(stringValue: String) { self.stringValue = stringValue }
        var intValue: Int? { nil }
        init?(intValue: Int) { nil }
      }
    
      struct Entry: Decodable {
        struct Content: Decodable {
          struct Subcategory: Decodable {
            let id: String
            let iconImage: String
            let name: String
            let sortOrder: String
            let type: String
          }
          
          let iconImage: String
          let iconImageActive: String
          let image: String
          let name: String
          let sortOrder: String
          let subcategories: [Subcategory]
        }
        
        let name: String
        let content: Content
      }
     
      let entries: [Entry]
      
      init(from decoder: Decoder) throws {
        let entriesContainer = try decoder.container(keyedBy: DynamicCodingKey.self)
        
        entries = try entriesContainer.allKeys.map { key in
          print(key)
          let content = try entriesContainer.decode(Entry.Content.self, forKey: key)
          return Entry(name: key.stringValue, content: content)
        }
      }
    }
    
    var entryList: EntryList?
    
    let task = URLSession
      .shared
      .dataTask(with: URL(string: "https://blackstarshop.ru/index.php?route=api/v1/categories")!) { (data, _, error) in
        guard error == nil else { return }
        guard let data = data else { return }
        
        entryList = try! JSONDecoder().decode(EntryList.self, from: data)
      }
    
    task.resume()
    Ответ написан
    2 комментария
  • Appstore app rejection iOS 13.2.2?

    chiliec
    @chiliec
    iOS-разработчик
    В идеале попробовать самому запустить на девайсе, симулятор всё же отличается по поведению.
    Ответ написан
    2 комментария
  • Обязательно ли видео для приложения в App Store?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Видео не обязательно. Ни для релиза, ни для TestFlight.
    Ответ написан
    Комментировать
  • Есть ли сайт с установленным linux?

    @trofimovdev
    Python
    Есть distrotest.net, большой выбор дистрибутивов. Прямо онлайн можно потыкать, ничего не скачивая.
    Ответ написан
    3 комментария
  • Не могу узнать, что за это программа?

    @q2digger
    никого не трогаю, починяю примус
    Midnight Commander или просто mc
    и это, со шрифтами у вас там фигня какая то, попробуйте запускать
    mc -a
    Ответ написан
    5 комментариев
  • Необходима ли высшая математика в программировании под ios?

    Adamos
    @Adamos
    Вообще-то запустить XCode без решения дифуров вам просто никто не даст.
    Даже странно такое спрашивать.
    Ответ написан
    1 комментарий
  • Программа виртуализации для MAC?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    1) Есть VmWare Fusion - это как раз VmWare для мака, сам на такой сижу.
    2) VirtualBox тоже есть официальный для мака, причем бесплатный, иногда пользую по работе, но очень редко.
    3) Есть еще Parallels Desktop - перешел с него на пункт 1), так как стали его продавать по подписке, в результате первый дешевле.
    Во всех трех можно установить и линукс, и винду, и даже OSX.
    Ответ написан
    Комментировать
  • Программа виртуализации для MAC?

    DevMan
    @DevMan
    Но VmWare и Virtualbox не для MAC
    шта???
    обе их есть под макось. кроме этого есть еще parallels desktop.
    Ответ написан
    Комментировать
  • Как из SAMSUNG сделать IPhone?

    Bohdan88
    @Bohdan88
    Люблю интернет
    1. Продай андроид
    2. Подними еще крапаль лаве
    3. Купи айфон от 7, а еще лучше 7+/8+ или 10 и т. д.
    4. ?????
    5. PROFIT!!!11

    Базарю, кайфанешь!

    Твои действие вышеперечисленные это лишний напряг, ты им особо не засветишься. Айфон это сдержанность, плюс вся Апл техника оптимизирована спецом под определенное железо, быстродействие и отклик достигаются за счет прямой подгонки под каждый аппарат, оптимизации.

    Айфон приятно держать в руки, куда приятнее чем Андроид.

    Если сугубо по твоей тематике, то такого не знаю, слышал только о хакинтошах компах. Сейчас 7 новую за 20к рублей / 10к гривен можно взять, а лучше больше экран бери, плюс заценишь.

    Переход на Апл технику это лучшее, что я сделал в техно плане в жизни. Тебе понравится.
    Ответ написан
    Комментировать
  • Можно ли вести разработку под iOS в VirtualBox?

    DevMan
    @DevMan
    вести разработку, со всякими костылями, в винде можно, но сбилдить приложение нельзя.
    варианты в порядке удовольствия: настоящик, удаленный настоящик, хакинтош, виртуалка.
    есть/были образы под вбокс и вмварю, но удовольствие - так себе.
    ставить лучше последнюю доступную версию.

    мой вам совет: если нет денег на настоящик, даже бу, соберите бюджетный хак.
    Ответ написан
    5 комментариев
  • Какой Linux стоит установить для освоения?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Какой Linux стоит установить для освоения?

    По которому рядом есть гуру.

    Если гуру нет и трахаться не хочется - бубунту.
    Если некоторый трах не пугает - дебиан
    Если не пугает много-много траха - арч/кальк/генту :) (но реально будет много-много траха и много много чтения манов и прочей документации)
    Ответ написан
    Комментировать
  • Какой Linux стоит установить для освоения?

    hOtRush
    @hOtRush
    Ubuntu / Mint
    Ответ написан
    Комментировать
  • Как правильно сделать структуру?

    doublench21
    @doublench21 Куратор тега Swift
    Простой пример:

    2ffZng2.png

    Код
    let json = """
        [{
        "invoiceNumber": "FV/MON/X/369",
        "date": "2019-06-01 00:00:00",
        "dueDate": "2019-06-01 00:00:00",
        "overdue": true,
        "valueNoTax": 100,
        "valueWithTax": 123,
        "valueToPay": 123
        },
        {
        "invoiceNumber": "FV/MON/X/368",
        "date": "2019-06-01 00:00:00",
        "dueDate": "2019-06-01 00:00:00",
        "overdue": true,
        "valueNoTax": 100,
        "valueWithTax": 123,
        "valueToPay": 123
        },
        {
        "invoiceNumber": "FV/MON/X/367",
        "date": "2019-06-01 00:00:00",
        "dueDate": "2019-06-01 00:00:00",
        "overdue": true,
        "valueNoTax": 100,
        "valueWithTax": 123,
        "valueToPay": 123
        },
        {
        "invoiceNumber": "FV/MON/X/366",
        "date": "2019-06-01 00:00:00",
        "dueDate": "2019-06-01 00:00:00",
        "overdue": true,
        "valueNoTax": 100,
        "valueWithTax": 123,
        "valueToPay": 123
        },
        {
        "invoiceNumber": "FV/MON/X/363",
        "date": "2019-05-04 00:00:00",
        "dueDate": "2019-05-04 00:00:00",
        "overdue": true,
        "valueNoTax": 100,
        "valueWithTax": 123,
        "valueToPay": 123
        },
        {
        "invoiceNumber": "FV/MON/X/362",
        "date": "2019-05-04 00:00:00",
        "dueDate": "2019-05-04 00:00:00",
        "overdue": true,
        "valueNoTax": 100,
        "valueWithTax": 123,
        "valueToPay": 123
        },
        {
        "invoiceNumber": "FV/MON/X/361",
        "date": "2019-05-04 00:00:00",
        "dueDate": "2019-05-04 00:00:00",
        "overdue": true,
        "valueNoTax": 100,
        "valueWithTax": 123,
        "valueToPay": 123
        },
        {
        "invoiceNumber": "FV/MON/X/360",
        "date": "2019-05-04 00:00:00",
        "dueDate": "2019-05-04 00:00:00",
        "overdue": true,
        "valueNoTax": 100,
        "valueWithTax": 123,
        "valueToPay": 123
        }]
        """
    
        struct FakturyObject: Decodable {
          let date: String
          let dueDate: String
          let invoiceNumber: String
          let overdue: Bool // <---- ОШИБКА БЫЛА ТУТ! 
          let valueNoTax: Int
          let valueToPay: Int
          let valueWithTax: Int
        }
    
        let data = json.data(using: .utf8)
        let decoder = JSONDecoder()
        let parsedData = try! decoder.decode([FakturyObject].self, from: data!)
    Ответ написан
    1 комментарий
  • Как по-простому зашифровать папку или файл в Линуксе?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    Внимание! Изменился адрес почты!
    1 комментарий
  • Как в ООП создать глобальную переменную?

    @stictt
    просто рак
    Их не используют по причине низкой защищености, то есть отсутствия инкапсуляции. Почитайте про сингл тон патерн такой.
    Ответ написан
    Комментировать