• Git: объясните «на пальцах» разницу между rebase и cherry-pick?

    @Nkly777
    git chery-pick - ты забираешь комиты из одной ветки в другую, это бывает полезно когда изменения сделаные другим разработчиком в его ветке, прямо сейчас нужны тебе в твоей ветке, и что бы не писать этот код заново, ты забираешь его комит себе в ветку

    git rebase master - ты синхронизируешься с главной веткой в которую коммитят все разработчики проекта, это полезно когда кто-то изменил участок кода с которым ты сейчас работаешь в своей ветке, дабы через неделю ты смог без проблем смержиться с master веткой. Обычно делается каждое утро перед началом рабочего дня и в конце когда фича готова.

    git merge - обычно используется когда у вас 2 и более master ветки (к примеру master и prototype) в этих ветках очень много комитов (и rebase здесь не подходит) и обчно через пару недель, maintainer репозитория наработки из prototype ветки "сливает" в master ветку по средствам этого самого git merge

    P.S. Что бы легче предствить разницу между git merge и git rebase. Представь что merge как собачка на молнии у одежды - "сшивает" комиты по дате их создания.
    В то время как git rebase как пожарная лестница - при применении твои коммиты крепится на конец родительской ветки

    git merge используйте для мержа фич и фиксов в master ветку (как и делает это Github)
    а git rebase используется для своей ветку в которой вы работаете над фичей что бы забрать последние изменения с master ветку (для этого есть очень удобная команда `git pull --rebase origin master`, аналог 3х команд (`git checkout master; git pull origin master; git checkout mybrach; git rebase master`)
    Ответ написан
    2 комментария
  • Как сделать правильный выбор между C# и Java?

    Sputterspark
    @Sputterspark
    В далеком прошлом, я занимался пустой тратой времени. А именно - выбором языков программирования.

    И продолжаешь этим заниматься.
    Ответ написан
    Комментировать
  • Как поддерживать опыт с java на kotlin?

    @Slavon93
    Тут все зависит от того, для чего оно надо. Некоторые говорят, что используя kotlin, используй kotlin, не смешивая с java. На самом деле, все зависит от ситуации.
    Если вы работаете и хотите использовать kotlin в рабочих проектах, то лучше лишний раз уточните, нужно ли его вообще изучать - быть может ваша компания не готова на него переходить и тратить время на его изучение вообще будет лишним. Если же переход возможен, следует уточнить, для каких целей, в каких объемах будет допустимо его использование. Опять же, возможно, основная логика будет на java, а kotlin только в каких-то мелочах. В зависимости от этого и выбирайте, что изучать в первую очередь.
    Если вы для себя, у вас нет проектов ни там, ни тут, лучше изучайте в формате «сначала java, потом kotlin». Многие истории успеха говорят о том, что переход с java на kotlin проходит недели за 2 неспешного чтения доков и книжки, вроде Kotlin in action.
    Вообще, хоть kotlin это и не java, на нем можно писать в стиле java, особенно на первых порах. А дальше, когда изучите его достаточно, можно будет переходить уже и на стиль kotlin.
    Ответ написан
    Комментировать
  • Запуск Kotlin под C# - возможно ли?

    iLLuzor
    @iLLuzor
    Java, Kotlin, Android Developer
    Есть ли варианты запуска кода Kotlin из под .NET?

    Нет.

    Как к примеру подключают stdlib Котлина для запуска под Java.

    Это просто библиотека.

    посоветуйте, как учить Kotlin на практике

    Читайте документацию, книги, порешайте koans.
    Ответ написан
    2 комментария
  • Что нужно Junior android developer?

    @antowa_plawkevich
    Junior Front-end developer
    Насколько я понимаю, с программированием не знакомы вовсе? Начните с чтения литературы:
    1) forcoder.ru/java/head-first-java-1127
    2) forcoder.ru/java/head-first-programmirovanie-dlya-...
    3) В качестве практики, выберите приложение (несколько приложений), которое было бы интересно разработать, даже если аналогов вашей идеи будет полно, это ничего не меняет, нужна практика, много практики.
    4) Читаем по WEB разработке forcoder.ru/web-other/head-first-servlets-and-jsp-1128
    5) После получения практических навыков, чтобы закрепить знания и улучшить скилл разработки, напишите сервер на java и приложение для android, которое будет взаимодействовать с этим сервером, например, по технологии websocket.
    Ответ написан
    1 комментарий
  • Какие знания нужны, чтобы создать такой продукт под android?

    ApeCoder
    @ApeCoder
    Надо знать, как писать UI под андроид, из каких компонентов состоит UI, рекомендации по визуальному дизайну .

    Перечень ограничений, которые android накладывает на приложение (какие разрешения просить, например, какие операции выполняются асинхронно). Какой паттерн для отделения бизнес логики от UI выбрать.

    у каждого пользователя есть своя страница,


    - Где и как хранить данные (тут нужен бекенд - это не связано с андроидом).
    - Как приложение будет получать данные? (протокол работы приложения с фронтэндом)
    - Каким образом обеспечивать авторизацию, защиту от подслушивания и перехвата. Модель атак на приложение.
    - Соответствие приложения европейскому (GPDR) и российскому законодательствам о персональных данных

    можно писать сообщения в ЛС либо в общий чат,


    - каким образом работают оповещения на Android
    - соответствие российскому законодательству об организаторах распространения информации

    присутствует карта города, на которой


    - Выбрать поставщика картографической информации (google, yandex, bing), ознакомиться с лицензией

    отмечены какие-либо места с фотографиями,


    - компоненты для обработки фото
    - в каком разрешении хранить, а в каком отображать
    - как устроить бекенд для фотографий

    также есть некая база с определёнными фотографиями/текстом, доступные всем.


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

    Вот примерный список зависимостей, покрывающий описанные вами нужды:

    implementation "com.google.firebase:firebase-core:16.0.1"
    implementation "com.google.firebase:firebase-auth:16.0.2"
    implementation 'com.firebaseui:firebase-ui-auth:4.0.0'
    implementation "com.android.support:appcompat-v7:${supportLibVer}"
    implementation "com.android.support:support-v13:${supportLibVer}"
    implementation "com.android.support:recyclerview-v7:${supportLibVer}"
    implementation "com.android.support:design:${supportLibVer}"
    implementation 'com.android.support:multidex:1.0.3'
    implementation "com.google.android.gms:play-services-maps:${gmsVersion}"
    implementation "com.google.android.gms:play-services-location:${gmsVersion}"
    implementation "android.arch.lifecycle:extensions:${aacVer2}"
    kapt "android.arch.lifecycle:compiler:${aacVer}"
    implementation "android.arch.persistence.room:runtime:${aacVer2}"
    kapt "android.arch.persistence.room:compiler:${aacVer}"
    implementation "com.squareup.retrofit2:retrofit:${retrofitVer}"
    implementation "com.squareup.retrofit2:converter-gson:${retrofitVer}"
    implementation "com.squareup.okhttp3:okhttp:${okHttpVer}"
    implementation "com.squareup.okhttp3:logging-interceptor:${okHttpVer}"
    implementation 'com.karumi:dexter:4.2.0'
    implementation 'com.google.code.gson:gson:2.8.4'
    implementation 'de.hdodenhof:circleimageview:2.2.0'
    implementation 'ch.acra:acra-http:5.1.2'
    implementation('com.afollestad.material-dialogs:core:0.9.6.0') {
        exclude group: 'com.android.support', module: 'appcompat-v13'
    }
    implementation ('com.squareup.picasso:picasso:2.71828') {
        exclude group: 'com.android.support', module: 'animated-vector-drawable'
        exclude group: 'com.android.support', module: 'exifinterface'
    }


    Но, на данном этапе, он, скорее всего, будет для вас бесполезен. :) Начинать надо с другого края.

    Самый главный и ценный навык - технический английский. Определенный уровень даже в режиме "только чтение" позволит вам быть в курсе всех технологических новинок в данной отрасли.

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

    Далее вы должны по поводу и без повода обращаться к руководствам Google по разработке для Android. Если вы Android-разработчик - вам без них никуда. Вникайте в методологии и методики, предлагаемые разработчиком платформы. Это очень важно, поскольку 90% возможностей приложения нормального человека так или иначе завязаны на сервисы Google.

    Затем следуют отраслевые ресурсы. Сайты с библиотеками кода и средствами разработки, через которые обменивается знанием подавляющее большинство разработчиков - ещё один ключ к успеху. В наше время лучше всего не изобретать колесо, если вы не заявляете себя в качестве изобретателя и конструктора колёс. Старайтесь в первую очередь использовать наработки людей, которые уже потратили своё время на решение конкретной задачи. Множество драгоценных камней сверкает в таких местах как https://android-arsenal.com/ , например.

    И пара советов лично от меня:
    • Изучайте Kotlin.
    • Приобретите 16 gb памяти, SSD и процессор с четырьмя или более ядрами. Установите и освойте Linux, хотя бы в объёме, необходимом для разработки приложений. Впрочем, я уверен, когда привыкнете, он вам понравится сам по себе. Я рекомендую Linux Mint.
    Ответ написан
    Комментировать
  • Стоит ли продолжать учить android Разработку в 2018?

    bask
    @bask
    Странный вопрос.
    До 2022 года как до Пекина. За 4 года можно выучить Андроид и успешно его забыть.
    Вопрос сначала нужно задать самому себе - для чего тебе нужен вообще андроид?
    Второе. Fuchsia OS будет поддерживать все приложения, написанные для Андроида.
    Возможно, что Java вымрет, а возможно и нет (не зря ведь он уже 30 лет существует). Будет Котлин, потом и он вымрет. Ну и что? Ему на смену придёт другой язык. Так и будем сидеть и смотреть как один язык приходит на смену другому? В ожидании чего?
    И третье. Вопрос задан так, будто выбирается только один язык или платформа один раз и на всю жизнь. Смешно.
    Ответ написан
    2 комментария
  • Стоит ли продолжать учить android Разработку в 2018?

    AlexMarken
    @AlexMarken
    Во-первых, прочтите эту новость.

    Цитата из статьи:
    В Google подчеркнули, что Kotlin будет дополнительным языком и ни в коем случае не заменит Java и C++ (на сегодняшний день языком первого класса для Android является именно Java). Планируется, что инструменты Kotlin, основанные на JetBrains IDE, будут по стандарту включены в Android Studio 3.0 — официальный инструмент разработки для ОС Android.
    Подробнее: www.cnews.ru/news/top/2017-05-18_google_perevodit_...


    Во-вторых, Java останется с Android навсегда - как минимум из-за Java Machine, которую использует ОС.
    В-третьих, Google не смысла заменять Android другой операционкой. Это будет крайне сложно и затратно сделать. Если Google разрабатывает новую ОС, то лишь для определённых устройств.

    Как говорится, волков бояться - в лес не ходить) Технологии развиваются, какие-то языки программирования умирают, какие-то появляются. А по вашей логике, разработкой вообще не стоит заниматься.
    Ответ написан
    Комментировать
  • Стоит ли продолжать учить android Разработку в 2018?

    @klim76
    android/java/sql
    sarcasm_mode_enable
    дворники требуются всегда и их востребованность не зависят от веяний технологий и пожеланий какого то там гугла. Дворники выше всего этого
    sarcasm_mode_disable
    Ответ написан
    Комментировать