Здравствуйте! Я уже много создавал тем по поводу того, чем бы мне начать заняться в IT в 24 года, наверно всех надоело мое нытье, так как не потянул учебу в МГУ дважды. Мне ребята с vc.ru посоветовали заняться Android-разработкой. Начал учить Java по источникам metanit.com & studytonight.com. Скачал слитые курсы Udacity по Java'е. Но поискав статьи про mobile-developement, я понял, что помимо этого нужно знать много чего, да я и сам чувствую, что что-то не хватает мне. Подскажите, пожалуйста, мне, сомневающемуся вечно человеку, нужно ли начать с азов информатики, то есть представление чисел в разных форматах, машинное эпсилон и т.п., потом протоколы TCP/IP и прочее? Просто столько тем, что охватить все невозможно. Не могу понять, с чего начать, то есть не особо вижу цепочку тем, которые следует изучить. Сам я в телефонах ни бельмеса не понимаю, так как всегда ходил с обычным телефоном без Интернета, но мне нравится графическое отображение кода на экране. Просто у меня такое ощущение, что люди в Android'е должны знать все, а именно устройство компьютера, доскональная работа всех его органов и их взаимодействие и т.п. Все это демотивирует не потому, что не хочется разобратсья, а потому, что непонятно, нужно ли это.
без обид, вспомни мотивацию от темы лебедева
не можешь решится не решайся, это твоя жизнь, какая разница что кто посоветует если ты ничего не делаешь ?
как в борадатом анекдоте, ты бы хотя бы билетик купил....
Здравствуйте, я себя взял в руки и начал изучать Java, дошел до многопоточности, изучаю сети по курсам Андрея Созыкина. Мне очень нравится. Понарвилась тема IT. Скажите, по какой схеме надо изучать Java, чтобы стартануть в Android?
Попутно экспериментируя с примерами из книг. Обязательно примеры набирать самостоятельно, а не копировать. Обязательно пытаться их изменять, чтобы убедиться, что вы действительно понимаете, как они работают. После прочтения попытайтесь набомбить пет-проект с использованием изученных технологий.
Если где-то застрянете, перечитывайте соответствующие главы, читайте официальную документацию, ищите ответы в гугле. Ни в коем случае не несите свою проблему другим людям до тех пор, пока не потратили хотя бы пару-тройку дней на поиск решения. Если ответы вам будет давать кто-то другой, программировать вы не научитесь.
И не используйте IDE на этапе обучения. Применяйте обычный текстовый редактор и консоль. Во-первых, IDE избавляет вас от рутинных операций, но именно рутинные операции позволяют набить руку . Во-вторых, IDE скрывает многие процессы, выполняя их за программиста, но именно они позволяют понять базовые принципы.
Начните со своей идеи приложения. Что вы хотите чтобы ваше приложение делало и отображало на экране? В мобильном приложении есть несколько ключевых функций - ввод и отображение информации на экране, работа с аппаратными данными устройства (работа с камерой, gps, другими встроенными датчиками устройства), обработка информации на устройстве, хранение данных на устройстве, получение и передача данных по интернету. Не все функции нужны в каждом приложении, но это основное на что можно разделить приложение. Так вот придумайте приложение, которое реализует что-то из таких модулей и несёт практическую пользу.
Андроид приложение начинается с желания отобразить что-то на экране смартфона. И все курсы по андроид разработке с этого и начинаются - с обучения отобразить что-то на экране (да не только... на любом языке всё начинается с программы Hello World!).
В процессе разработки и обучения вы уже поймёте надо ли вашему приложению хранить данные в телефоне или всё можно хранить в какой-то общей базе данных на сервере. Являются ли данные для вашего приложения нужными только одному пользователю на его телефоне или это общая публичная информация, которая должна быть доступна множеству пользователей и т. д. Должно ли приложение само проводить все расчёты и вычисления или этим должен заниматься сервер (а значит программировать должен отдельный серверный разработчик), а приложение только показывать данные. Ну и т.д. Ну и учите курсы по Kotlin. Сейчас въезжать в андроид на java уже нет смысла так как 90% вакансий уже на котлине, а пока вы научитесь будет 100.
Хорошо. Просто сфера IT настолько богата, что порой думаешь, что мозг взорвется от всего этого.
То есть, допустим, если где-то я столкнусь с TCP/IP протоколами, то мне придется их учить. То есть решать проблемы по мере их поступления?
Alexanderietz, Именно так. Но для создания приложения вряд ли придётся действительно углубляться в тонкости всех технологий, так как для очень деликатных деталей уже существуют библиотеки - готовые модули, которые решают конкретную задачу, вам остаётся лишь это подключить и использовать. Понимать всю глубину технологий вам придётся если устроитесь например в банк и надо будет обеспечивать на безупречном уровне шифрование всех передаваемых данных.
Здравствуйте, я себя взял в руки и начал изучать Java, дошел до многопоточности, изучаю сети по курсам Андрея Созыкина. Мне очень нравится. Понарвилась тема IT. Скажите, по какой схеме надо изучать Java, чтобы стартануть в Android?
Alexanderietz, по прикладной схеме) реализовывайте свою идею, разбирайтесь с возникающими проблемами. Изучать строго теоретически, академически, по порядку вам может не хватить энтузиазма. Ваше желание должно доводить вас до кодинга до утра периодически, а это бывает когда идея своя) Стартуйте в андроиде с Котлина уже. Джава в андроиде умрёт в течение года на мой взгляд. Вы же хотите на работу в итоге устроиться всё-таки, а вакансии уже на котлине почти 100%.
Сначала вы делаете рабочий говнокод, потом хотите брать куски кода в другой проект, но уже причесать до приличия немного, ну а дальше уже и архитектура подтянется и тестирование (особенно когда это в вакансиях требуется)) Главное быть на волне и кодить, кодить, кодить)
Fotonick, Кодить нужно еще и с целью запомнить. Так лучше запоминается намного. А вот pet-project сколько строк должен иметь? И что это вообще может быть: игра наподобие "Кто хочет стать миллионером?", анализ функций каких-нибудь в математике (построить график), викторина?
Alexanderietz, у меня хоть и было образование по специальности, но всерьёз в разработку я пришёл в 27. Никогда не поздно если вы планируете стать специалистом. Если вы можете качественно, оперативно и грамотно решать IT задачи бизнеса вас возьмут не глядя на возраст, тем более что сейчас даже в офисе необязательно быть, а можно на удалёнке и важно только как вы работаете. Типовые задачи в приложениях с которыми надо разобраться это - взаимодействие с сервером по API (GET, POST, JSON), многопоточность, вёрстка приложения, анимации в приложении, подключение различных библиотек, работа с камерой, датчиками устройства, GPS, карты, использование тем и стилей, хранение данных в БД. Найдите какое-нибудь публичное апи и сделайте приложение с ним, сделайте красиво, с анимациями, сделайте чтобы нормально работало если интернета нет. Типично это список фильмов или данные погоды.
Alexanderietz, свой проект даёт силы и интерес. Получится, если можете сконцентрироваться на задаче на несколько часов. Создайте идеальную рабочую обстановку.
У меня сейчас только идет знаний и теории. У меня даже идей нет. Я с телефонами не на ты. Изучаю многопоточность, сети. Хочу начать книгу Лафоре по алгоритмам.
Очень нужны, например, грамотные специалисты по саппорту, умеющие зачастую всего лишь смотреть в логи или делать простые SQL-запросы. Или, например, тестировщики. Да просто даже эникейщики всегда будут нужны. Вся эта работа требует намного более низкой квалификации, чем у разработчиков, так что порог вхождения гораздо ниже.
И не нужно воспринимать такую работу как стояние на кассе в Макдональдсе. Я вполне серьёзно.
Alexanderietz, я не знаю, что такое "SQL-разработчик". Обычно SQL-запросы пишут для решения конкретных задач: для работы софта, для генерации отчётов (в том числе в специальных системах для этого, типа JasperReports), также есть такой вид деятельности DBA (Database Administrator). Отдельного вида деятельности "написание SQL-запросов" нет.