1

Этап 1

Дочитать "Операционные системы"

2

Этап 2

Изучить C

3

Этап 3

Г. Шилдт "Java 8 полное руководство"

4

Этап 4

Scott Oaks "Java Performance: The Definitive Guide"

5

Этап 5

Р. Лафоре "Алгоритмы и структуры данных на java"

6

Этап 6

Hadoop/Zookeeper/Clickhouse

7

Этап 7

Э. Таненбаум "Компьютерные сети"

1

Этап 1

Дочитать "Операционные системы"

2

Этап 2

Изучить C

3

Этап 3

Г. Шилдт "Java 8 полное руководство"

4

Этап 4

Scott Oaks "Java Performance: The Definitive Guide"

5

Этап 5

Р. Лафоре "Алгоритмы и структуры данных на java"

6

Этап 6

Hadoop/Zookeeper/Clickhouse

7

Этап 7

Э. Таненбаум "Компьютерные сети"

27 октября 2019 01 апреля 2020
Цель завершена 25 марта 2020
Личностный рост

Roadmap по разработке до 01.04.2019

Решил составить roadmap по разработке, чтобы планировать и контролить обучение. Некоторые пункты - продублированные цели, которые всё еще в процессе. Так что это скорее глобальный план действий, чтобы понимать чего не хватает и какие пробелы необходимо закрыть. Список будет дополняться в зависимости от приоритетов

 Критерий завершения

Все шаги выполнены

  1. Дочитать "Операционные системы"

  2. Изучить C

  3. Г. Шилдт "Java 8 полное руководство"

    Подтянуть знания по джаве, пробелов хватает. Особенно по части core и concurrency

  4. Scott Oaks "Java Performance: The Definitive Guide"

    JVM

  5. Р. Лафоре "Алгоритмы и структуры данных на java"

    Подтянуть java core и алгоритмы

  6. Hadoop/Zookeeper/Clickhouse

    Потрогать, изучить кейсы применения

  7. Э. Таненбаум "Компьютерные сети"

    Не верю что когда-нибудь ее прочитаю, но всё же

  • 1042
  • 27 октября 2019, 20:43

Цель состоит в группе

Саморазвитие

  • 5623

    участника
  • 9671

    цель

Дневник цели

151день
Sid Vicious25 мар. 2020, 23:00

Буду краток: проебал.

Цель достаточно глупая, и была написана под впечатлением и ложной мотивацией от анкеты самооценки на работе. Лафоре читаю в фоне, java performance вброшу в цель с рецензиями, Шилдта туда же, Таненбаума продолжаю динамить.

Тем не менее, по количеству книг и курсов последние пол года оказались очень продуктивными. Раньше в основном просто плыл по течению и верил, что само придёт. Надеюсь, это магия смартпрогресс (не зря же плочу нологи за прем акк)

Комментарии

Aynur23.02.2020

По книге Таннебаума Линус написал Линукс!

Sid Vicious23.02.2020

Aynur, у меня три его книги, но как же сложно их читать Т_Т насчет Линуса не знал, интересно)

Aynur24.02.2020

Killme Plzz, неудивительно, Таненбаум же профессор. Наверно академическим языком написано, тем более на английском. Бывало, попадались статьи английских технических писателей в эпоху студенческих активных конференционных дней. Ей богу, индусов и китайцев читатьгораздо проще)))

24день
Sid Vicious19 нояб. 2019, 07:27

Немного о байтоебстве. Всегда скипал эту тему, но не в этот раз.

Поразрядные операции:

~ - поразрядная операция НЕ

& - поразрядная операция И

| - поразрядная операция ИЛИ

^ - поразрядная операция исключающее ИЛИ

>> - сдвиг вправо

>>> - сдвиг вправо с заполнением нулями

<< - сдвиг влево

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

Представление целых чисел

Все целочисленные типы данных представлены двоичными числами разной длины. Чтобы сменить знак целого числа в знаковом типе, нужно инвертировать все его разряды, а затем добавить 1 к результату. (ну почему так сложна?)

Сдвиг вправо сохраняет предыдущее значение старшего разряда (для сохранения знака). Для обнуления старшего разряда используется операция >>>.

Логические операции

Тут все достаточно просто. В тестах стоит обратить внимание на разницу между и/или(&/|) и укороченными и/или(&&/||). В первом случае вычисляются значения всех операндов, во втором - только необходимые.

Кстати, о птичках. Очень неплохие тесты:

http://www.examclouds.com/tests

Пока гоняю "Java программирование", по мере усвоения материала перейду к OCPJP. Если кто получал сертификаты, делитесь впечатлениями (всем похуй, меня всё равно никто не читает)

23день
Sid Vicious18 нояб. 2019, 23:55

Начал с Шилдта. Буду отписывать заметки о вещах, которые обычно забываются почти сразу после прочтения.

Целочисленные типы данных

byte - 1 байт (-128...+127)

short - 2 байта (-32768...+32767)

int - 4 байта (-два миллиарда с чем-то...+два миллиарда с чем-то)

long - 8 байт (кому не похуй)

Все типы являются signed

Типы данных для чисел с плавающей точкой

float - 4 байта

double - 8 байт, двойная точность

Символьный тип

char - 2 байта (0...65536)

Для представления символов типа char используется кодировка юникод (2 байта на символ)

Целочисленные литералы

Создают значение типа int. Допускается использование восьмеричной формы записи - необходимо добавить начальный ноль (05), шестнадцатеричной - добавить 0x (0x123), двоичной - добавить 0b (0b1001). Для инициализации значения типа long необходимо в конце добавить символ l иди L (1234L).

Для удобства чтения можно использовать символ нижнего подчеркивания (нельзя вставить в начало и в конец литерала, в остальных случаях в любом количестве). Символы игнорируются компилятором (123_____123_123)

Литералы с плавающей точкой

Стандартная форма записи - 123.123. Допускаются также экспоненциальная и шестнадцатеричная формы записи. Создается значение типа double. Для создания float необходимо указать в конце символ f или F (123.123F). Разделение подчеркиванием аналогично целочисленным литералам.

Логические литералы

true/false
true != 1, false != 0

Символьные литералы

Представляют собой индексы символов из набора unicode. ASCII символы можно вводить непосредственно в одинарных кавычках. Также допустима восьмеричная форма записи ('\ddd') и шестнадцатеричный символ unicode ('\uxxxx').

Строковые литералы

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

Преобразование типов

Автоматическое преобразование происходит в случае соблюдения двух условий:

1. Типы являются совместимыми

2. Длина целевого типа больше длины исходного

Например, преобразование byte к int происходит автоматически, тк int может вместить в себя все значения byte. (расширяющее преобразование)

В обратном случае требуется явное приведение:
int i = 130;

byte b = (byte) i;

Называется сужающим преобразованием. В случае, когда значение i выходит за границы диапазона типа byte, оно делится по модулю на длину диапазона byte.

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

Правила продвижения типа в выражениях

Сначала типы byte, short, char продвигаются к типу int. Если в выражении встречается операнд с типом long, то тип выражения продвигается к типу long. Затем float и double аналогично long.

Вы тоже можете
опубликовать свою
цель здесь

Мы поможем вам ее достичь!

309 000

единомышленников

инструменты

для увлекательного достижения

Присоединиться
Регистрация

Регистрация

Уже зарегистрированы?
Быстрая регистрация через соцсети
Вход на сайт

Входите.
Открыто.

Еще не зарегистрированы?
 
Войти через соцсети
Забыли пароль?
resignedangel
Айдар
resignedangel
Айдар
Sid Vicious
Айдар
resignedangel
Айдар