𝘼𝙣𝙙𝙧𝙤𝙞𝙙 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙢𝙚𝙣𝙩 – Telegram
𝘼𝙣𝙙𝙧𝙤𝙞𝙙 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙢𝙚𝙣𝙩
12 subscribers
54 photos
2 videos
5 files
46 links
𝘼𝙣𝙙𝙧𝙤𝙞𝙙 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙢𝙚𝙣𝙩 & 𝙇𝙞𝙛𝙚𝙨𝙩𝙮𝙡𝙚
Download Telegram
День 30:
-10 минут Duolingo
-Курс дия для предпринимателей
-Дикция

Полезные привычки:
-чтение "Форест Гамп"
-Силовая тренировка (через день) +1 (11)
#идеи
Пришла идея для разработки, после приложения с фильмами запилить читалку, только с более приятным дизайном
#отчёт
День 31:
-10 минут Duolingo
-Экзамен
-Дикция

Полезные привычки:
-чтение "Форест Гамп"☑️
-Силовая тренировка (через день) +1 (12)
#обучение
Специально для украинцев онлайн школе английского запустила бесплатное обучение.
Залетел на него, занятия по такому графику:
-Пн, Вт, Со 18:00-18:30 (изучение материала)
-Чт 18-19:00 практика
𝘼𝙣𝙙𝙧𝙤𝙞𝙙 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙢𝙚𝙣𝙩 pinned «Навигация по каналу: #отчёт #обучение #идеи #ошибки #roadmap #дискуссии 👀 Связь - @yuriytargetboom Linkedin - https://www.linkedin.com/in/yuriy-kravets-01902822a/ Github - https://github.com/yuriycode Gmail- zoidthe311@gmail.com»
#отчёт
День 32:
-10 минут Duolingo
-Обучение программирование: 2 часа
-Дикция

Полезные привычки:
-Силовая тренировка (через день) +0 (12)
🔥1
#обучение
Нашёл интересный курс по Java для начинающих от Лёши Маршала.
Глянул первый урок, дикция хорошо поставленная, на первый взгляд, программа интересная.

В сфере моб. разработки множество компаний требует базовые знания Java, так что буду изучать. А вот Kotlin следует уже на проф. уровне, так как это официальный язык, который Google рекомендует всем разработчикам под Android.
#отчёт
День 33:
-10 минут Duolingo
-Обучение программирование: 1 урок обучения разработке, также лекция по java.

Полезные привычки:
-Силовая тренировка (через день) +1 (13)
#ошибки
Cannot fit requested classes in a single dex file (# methods: 130326 > 65536)

fix: multiDexEnabled true

Для преодоления ограничения необходимо настроить процесс сборки приложения для создания более одного файла DEX, известного как конфигурация multidex.
#обучение
-Разница между private & public.
Разница заключается в том, что при использовании модификатора public, мы позволяем все поля и методы видеть и другим классам, а вот используя private оставляем закрытым и недоступным другим классам.
Их нужно использовать для организации нашего кода.
...
👍1
#отчёт
День 34:
$Программирование:
+ 2.34 часа кодинга
(2 - практика, 34 - теория)
Разбирался с Firebase, есть проблема с сохранением данных от пользователей в "Realtime database" ,пока решил двигаться дальше.
Подучил теорию, завтра продолжу.
Завтра начну смотреть уроки по Java.

$Английский:
+ 10 минут - Duolingo.
#обучение
Нашел интересный курс по основам программирования от «Campster».
За день, думаю, можно освоить.
Кратко по тезисам из курса:
$Вступление к программированию

1)В программировании существует распределение языков:
-языки низшего уровня (тоесть это языки, которые пк распознаёт без перевода, на них писать код сложнее всего)
-языки высшего уровня (писать на них легче всего, с помощью компилятора и интерпретатора мы переводим написанный нами код в биты 0 и 1, которые понимает компьютер)
2)Есть такое понятие, как Машинный язык.
это когда мы обращаемся к компьютеру на его "родном языке", посредством последовательности 0 и 1. Также мы называем его Нативным.
3)Для перехода между языками высшего уровня и машинными мы используем язык Assembler'a.
тоесть намного проще перевести язык assembler на машинный язык, чем с высшего сразу на низкий.
4)Комьютер понимает только машинный язык.
соответственно, написанный нами код на других языках ничего для него не значит. для решений этой проблемы и придумали "компиляторы и интерпретаторы".
-компилятор - получили код на одном языке -> перевели в другой
-интерпретатор - немного отличается. мы берем кусочек кода, переводим и выполняем его и так постепенно. а в компиляторе мы переводим сразу всю нашу программу.

$Вступление к алгоритмам

1)Алгоритм - совокупность определенных правил, которые направлены на решение той или иной проблемы.
Для записи алгоритмов используем графический и текстовый метод.
Графический, в виде блок-схемы самый эффективный.
2)Переменные - это своеобразный контейнер, в котором хранятся данные, эти данные имеют значения.
Эти самые значения могут изменяться в зависимости от типа переменной.
Каждая переменная должна Декларироваться.
То есть нужно указывать: 1) имя переменной, 2) тип переменной.
-Типы переменных:
Целочисленные - int (для большинства чисел), long (для больших чисел), short (для малых чисел), byte (очень маленькие числа)
Дробовые - float (десятичные), double (большие числа)
Другие типы - string (текстовый тип), boolean (логическое выражение true/false), char (символ).
3)Операторы = и ==
Оператор "="
- оператор присваивания. То есть то что находится слева принимает значение того, что справа.
Оператор "==" - оператор сравнения. Проверяет одинакова ли правая и левая сторона и возвращает булевое значение true & false.
4)Арифметические операторы:
-Операторы добавления, отнимания, умножения +, -, *
-Оператор инкрементация и декрементации:
a = a + 1; a++; - инкрементация
b = b - 1; b--; - декрементация
Оператор % дает остаток от деления.

$Декларации и массивы

1)Массивы - это переменные, которые могут включать много значений сразу.
Декларация массива делается таким образом:
-Тип данных [] имя переменной
Инициализация таким образом:
-имя переменной = тип данных[целое число]
Индекс элемента - целое число, что представляет порядковый номер элемента в массиве. Просчет начинам с 0 всегда.
Через Инициализацию массив сохраняется в памяти и мы можем его использовать для обработки.
2)Одномерный массив - это сложный тип данных, у которого все элементы одного типа.
Элементами массива могут быть данные, тип которых тоже является массивом. Это двухмерный массив.
Массивы - это переменные, что сохраняют несколько значений.

$Вступление к командам для контроля исполнения программ:

1)Алгоритмические структуры.
Всего 3 вида: 1)линейная, 2)разветвленная, 3) циклическая.
2)FOR команда.
Используется
в ситуациях, когда нужно повторить 1 или больше команд несколько раз.
Такого рода команды называют петлями или FOR петля.
i++ - "i" счетчик.
FOR принадлежит к командам циклического повторения.
Используем, когда знаем сколько итераций петле нужно выполнить.
3) While команда.
Используем когда точно не знаем, сколько итераций петле нужно будет выполнить.
В отличии от For петли, у While не существует счислителя. Петля останавливается только когда условие больше недействительно.
4) Do-While команда.
Практически тот же синтаксис, как и у WHILE петли, но условие проверяется в конце итерации, а не в начале.
$Объектно-ориентированное программирование

1)Класс - общий представитель совокупности предметов, имеющих общие характеристики, структуру и поведение.
Атрибуты, методы, реляции классов называются элементами класса.
2)Атрибуты - это характеристика чего-то, как в украинском языке.
Они описывают характеристику(свойства) класса.
3)Обьект - это какой-то конкретный экземпляр класса, который ещё называют инстанцией.
То есть самолет - это класс, так как все виды самолетов имеют между собой похожие характеристики. А вот Boeing (модель самолета) - это уже обьект этого класса.
Декларируем так же как и в классе, т.е. имя класса имя обьекта.
для инициализации имя обьекта = new имя класса()
4)Методы - это про то, как ведет себя класс, грубо говоря. То есть у каждого класса есть свое поведение своеобразное.
Методы могут иметь значения на входе, так называемые, параметры.
Параметры - это значения, которые нужно передать методу для корректной работы.
5) Наследование - концепт ООП. Все методы и атрибуты надкласса мы переносим в подкласс с возможностью добавлять новые характеристики и методы.
Основной мотив - избежать повторения кода.
В Java наследование обозначается словом" extends".
#отчёт
День 35:
$Программирование:
+ 7.5 часов кодинга
(7.5 часов теории и практики)
Прошел курс по основам программирования. Он рассчитан на 2 месяца, но я его прошел за 1 присест)
Интересная подача и многие, на первый взгляд, сложные термины теперь мне понятны😌
Прикрепляю сертификат.
Выше оставил конспект обучения, писал как сам понял, могут быть ошибки)

$Английский:
+ 10 минут - Duolingo.
#обучение
Теория - Андроид разработка. Урок № 18.

-Callback.
В приложении мы используем его с Firebase.
Его суть в том, что мы отправляем какой-то запрос и получаем обратно результат.
-Очистка кода. Важная практика.
Умение находить более короткое решение must have.
-Вопросы, которые не стоит задавать на работе.
Вопросы тех. характера стараться свести к минимуму. Вначале самостоятельно находить решение, после, в случае провала, обращаться к разработчикам.
Вопросы организационного характера нужно задавать.
-С курсов и обучающих программ важно выносить не только рабочий проект, который, по сути можно тупо переписать с экрана.
Важно научиться технически мыслить, гуглить когда того требует задача. В этом заключается суть работы программистом. Ежедневное обучение, работа с ошибками, исправление этих самых ошибок и создание полноценных программ!
#отчёт
День 36:
$Программирование:
+ 3 часа кодинга
(2 часа теории и 1 час практики)
Понемногу разбираюсь с Android Studio.
Сегодня изучил теорию,она указана выше.
Единственное, во время работы над проектом, логику привязал не к той кнопке, нужно будет разобраться и поменять. Завтра поработаю над этим.
Java не успел сегодня пройти, завтра исправлюсь.

$Английский:
+ лекция и 1-е задание модуля-Aloha School.
#обучение
Java для начинающих. Лёша Маршал.
Лекция 3. Типы данных.
(вырезка из кода)

// целочисленные типы данных
byte num = 100; // 8 бит -128 +127
short num1 = 101; // 16 бит -32768 +32767
int num2 = 102; // 32 бит -2147483648 +2147483647 !САМЫЙ ИСПОЛЬЗУЕМЫЙ!
long num3 = 103; // 64 бит -9 223 372 836 854 775 888 +9 223 372 836 854 775 887

// числа с запятой
float num4 = 1.11f; // 32 бит 6-7 знаков после запятой
double num5 = 1.12d; // 64 бит 15 знаков после запятой !САМЫЙ ИСПОЛЬЗУЕМЫЙ!

// символьный
char num6 = 'g'; // 16 бит

// логический тип данных
boolean num7 = true; // 1 бит false
#обучение
Сегодня изучил, что существует 2 способа реализации прокручиваемого списка: RecyclerView, ListView.

-ListView был внедрён еще на выходе API 1 включительно по Android LolliPop 2014 года.
В этом методе было много минусов.
К сожалению, мы могли создать только вертикально прокручиваемый список, и чтобы он прокручивался плавно, приходилось делать все надлежлащим способом. Кроме того, класс ListView довольно тяжелый - у него множество обязанностей.

-RecyclerView появился по приходу Android Lollipop и сразу исправил множество ошибок, которые были в ListView.
Из ярких можно выделить:
Создание макетов (LayoutManager) отделено, и мы получили больше свободы для манипуляции с данными, чем манипулирование только внутри адаптера, как было раньше.
-ViewHolder. Паттерн ViewHolder помогает сделать прокрутку нашего списка плавной. Он сохраняет ссылки на элементы списка, чтобы затем адаптер мог их переиспользовать.

-LayoutManager. LayoutManager берет на себя ответсвенность за макетирование представления элементов. Благодаря этому у RecyclerView нет ответственности за поозиционирование элементов в списке.