• Почему не вызывается метод startActivity?

    mitaichik
    @mitaichik
    Наведите курсором мыши на красноту и студая сама вам все объяснит. А так - адаптер не имеет метода startActivity. И так как это не какой-то внутренний класс активити, вызвать его неоткуда.
    Ответ написан
  • Куда лучше помещать одинаковую логику для разных контроллеров/моделей?

    mitaichik
    @mitaichik
    Да куда угодно. То что вы описали (isJson и т.п.) - имхо им место как раз в хелперах. А так - все завсист от функционала. Сервисы, репозитории, агрегаты, вылидаторы, поведения, трейты, филтры, фабрики, билдеры, адаптеры и т.п. - список огромный
    Ответ написан
  • Как сбросить до заводских настроек без тачскрина?

    mitaichik
    @mitaichik Автор вопроса
    В общем, можно сделать через аккаунт гугла https://habrahabr.ru/post/195028/

    Можно сбросить данные, поставить блокировку, а так же симитировать звонок (чтоб найти). Причем звонить будет даже на беззвучном режиме.
    Ответ написан
    Комментировать
  • А Вы встречали гениев-программистов?

    mitaichik
    @mitaichik
    Задание в студию!

    Помню дали мне тестовое задание, там на день работы - сделать админку для зоозпарка, серверную и клиентскую часть, все онлайн (один юзер изменил - у другого в клиенте автоматом обновилось) и т.п. Выбор технологий - на мое усмотрение.

    Я сделал за 1.5 часа - Firebase + Angular. Задание сделанно? Сделанно. Работает? Работает. Гений ли я? Нет.
    Ответ написан
    1 комментарий
  • Почему проверка расширения в Yii2 работает некорректно?

    mitaichik
    @mitaichik
    Врядли проблема в этом. Yii никакой логики не добавляет, а юзает стандартный пхпшный pathinfo($this->name, PATHINFO_EXTENSION).

    Он же вашу ситуацию корректно отрабатывает php.net/manual/ru/function.pathinfo.php

    Скорее всего, проблема в другом. Советую оттдебажить это все и посмотреть в чем реально дело.
    Ответ написан
  • Как автоматизировать выполнение скрипта в Yii?

    mitaichik
    @mitaichik
    Как сказали выше - юзай консольные комманды. Для минимизации потребления памяти используй стриминговые хмл парсеры, для минимизаци нагрузки на бд юзай батч или пакетные вставки, обновления. Чтоб дать другим время - можеш слип вставить, но это всефигня, в многопроцессорных и многоядерных системах врядли один php процесс повесит систему так что жругие остановяться. Можно процесс занайсить.

    Для запуска - крон. Так же есть короно-подобное решение для yii, увы не помню как называется, мы его юзаем - нареканий нет.
    Ответ написан
    1 комментарий
  • Как реализовать listview с маршрутом путей (как изображено на картинке)?

    mitaichik
    @mitaichik
    Да так же как и все остальное.
    Ответ написан
    Комментировать
  • Что делать когда коллеги уровнем ниже?

    mitaichik
    @mitaichik
    Сталкивался с таким 2 раза. Оба раза пытался объяснить, донести, книги приносил, лекции читал. В ответ - то же самое что и у вас - агрессия, не понимание, безразличие. Оба раза на долго в таких компания не задерживался.

    Мои выводы таковы. Во первых - принять тот факт, что в любой профессии, имхо, 1% гениев, 5-10% процентов профессионалов (тех кто реально увлечен, повышает свои навыки, читает тонны книг, изучает новые технологии), для остальных - это не более чем работа.

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

    Что касается попыток исправить ситуацию : Необходимо вводить общепринятые практики - ввод стандартов кодирования, написание тех документации, вывод каких-то общих компонентов в либы, заставлять сотрудников выступать перед коллективном с лекциями по различным аспектам программирования (что сами разобрались в вопросе), код-ревью, CI и прочее. Необходимо чтоб они сталкивались с хорошим кодом, и видели что их работу можно сделать гораздо проще.
    Но главное - инициатива должна исходить от тимлида (хотя это не гарантия успеха). Если хотите - попробуйте убедить его в необходимости перемен. Но если он сам этого не осознает - дело труба, особенно если вы новичок в коллективе.

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

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

    Но самый главный вопрос в вашей ситуации - зачем вам все это? Незря же есть поговорка: умный в гору не пойдет - умный гору обойдет. Скорее всего, у вас ничего не получиться (особенно если коллектив состоявшийся). Если думаете что есть шанс получить какой-то профит (стать тим-лидом, получить овердофига к зарплате) - можно. Но скорее всего вас просто пошлют куда подальше, ваша лояльность к компании исчезнет, и в итоге вы уволитесь. Не лучше ли сразу уйти в компанию своего уровня? Вы пишете что это не решение проблемы а уход от нее. Но нужно понимать что это не ваша проблема. А решать чужие проблемы часто выходит себе дороже.
    Ответ написан
    Комментировать
  • Как обновить приложение через google play установленного не из google play?

    mitaichik
    @mitaichik
    Нет, обновляться не будет. И сделать это вряд ли возможно.
    Ответ написан
    1 комментарий
  • Как поменять порядок скриптов в Yii2?

    mitaichik
    @mitaichik
    Надо юзать ресрусы: https://github.com/yiisoft/yii2/blob/master/docs/g...

    Там есть возможность указать порядок с помощью указания зависимостей (раздел Зависимости ресурсов), и мапить ресурсы (раздел Привязка ресурсов) чтоб подключать один jquery
    Ответ написан
    Комментировать
  • Как лучше храниь куки в android?

    mitaichik
    @mitaichik
    Как хранить куки - не знаю. Но, имхо, андройд приложения как правило юзают REST API и по правильному авторизовывать с помощью access-токенов.

    А так - куки - обычный объект - надо его сериализовать и куда-то записать, например, в private preferences
    Ответ написан
  • Почему не проходит самомтоятельная валидация?

    mitaichik
    @mitaichik
    Потомучто писать надо $this->$attribute в валидаторе. А ваш код валидации, имхо, вообще эксепшн должен выкинуть, странно если не так.
    Ответ написан
  • Что лучше переписать все как есть на php или сделать это на python?

    mitaichik
    @mitaichik
    Дам совет: соберетесь переписывать - не переписывайте все сразу. Сначала сделайте обертку из фреймворка (например, что фреймворк принимал все запросы а птом перенаправлял старому коду). Это позволит юзать компоненты фреймворка совместно с старым кодом. А затем преписывайте потихоньку, порциями. И релизить надо порциями. Много раз видел как пытаются переписать все и сразу - всегда это заканчивается фейлами.
    Ответ написан
    1 комментарий
  • Как запускать автоматически websocket сервер на хостинге?

    mitaichik
    @mitaichik
    Ответ написан
    Комментировать
  • Как вы делаете приложения для маркета?

    mitaichik
    @mitaichik
    MVP бро! https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BD%D...

    Но это не значит что продукт должен выглядеть как недоделанное говно. По крайней мере внешне (тут гайдлайны спасают).
    Ответ написан
    Комментировать
  • Как справиться с высокой нагрузкой на сервер?

    mitaichik
    @mitaichik
    Во первых - забудь про Apache. Юзай nginx.
    Во вторых - крайне советую проштудировать ruhighload.com, начать можно с https://ruhighload.com/post/%D0%90%D1%80%D1%85%D0%...

    В третьих - цифры не говорящие. Важнее кол-во запросов одновременно (ибо 5000 юзеров * 2 запроса в час на каждого - это фигня) и время генерации ответа - вот это важно.

    Если реально одновременно 5000 одновременных запросов - на одном сервере с php ты ну прям точно не вытянешь, нужно думать о нескольких бэкендах с балансом нагрузки. Лично я бы при таком варике о php вообще не думал.

    А вообще - я бы начал писать как есть а уже в процессе занялся оптимизацеий - все заказчики мнят что у них одновременно в одночасье будет по 5000 юзеров одноврмененно, но жизнь жестока, пусть сначала хотя бы соточку наберут.
    Ответ написан
    1 комментарий
  • В Google Play боты наставили игре 50 оценок по 1 звезде, что делать?

    mitaichik
    @mitaichik
    Была похожая ситуация, только наставили несколько тысяч единиц. Я прям в реалтайме сидел и смотрел. На следующий день исчезли сами собой, без обращения, видимо гугл сам увидел слив. А так - да, писать гуглу.

    Писать вот сюда https://support.google.com/googleplay/android-deve...
    Ответ написан
    Комментировать
  • Банит ли Google Play приложения с чужими данными?

    mitaichik
    @mitaichik
    А как вы собрались доставать данные из БД чужого приложения? Если в чужом приложении есть для этого открытые эндпоинты (контент-провайдеры например), то как-то можно, и за это вас не должны упрекнуть. Но если их нет - то вы прост никак не получите данных.

    К копирайту - думаю следует. Гуглу, думаю, все равно, но если владелец пожалуется - забанить могут.
    Ответ написан
  • Что нужно знать и уметь, чтобы стать андроид-разработчиком?

    mitaichik
    @mitaichik
    Яйца! яйца надо иметь в любом случае! А по теме - у андройда свой мир, свои решения, свои инструменты. Главный - Android SDK - вот его надо знать. Дата биндинг для работы со вьюхами. Retrofit для работы с сетью RxJava для всего - как начал юзать - кайфую. Gradle - тоже ништяк, спринг супер, под андройд есть, но сам не юзал (сервер на нем) - для DI у андройда нсть dagger 2 - ништяк, удобно! Firebase тема крутая! Что еще: Ссори за бухой комментарий!!
    Ответ написан
    7 комментариев
  • Интернационализация push уведомлений?

    mitaichik
    @mitaichik
    Тут всего 2 варианта: либо делать ее на сервере, либо на клиенте. Чтобы делать на сервере, нужно как-то получить язык клиента. Например, я передаю язык в заголовке каждого запроса с клиента. Другой вариант - мониторить язык клиента и передавать при изменении.

    Но, имхо, предпочтительней делать ее на клиенте. Передпавать дата-сообщение и формировать текст в приложении.
    Ответ написан
    Комментировать