Get Mystery Box with random crypto!

NurBlog: С нуля до джуна

Telegram арнасының логотипі thenurblog — NurBlog: С нуля до джуна N
Telegram арнасының логотипі thenurblog — NurBlog: С нуля до джуна
Арна мекенжайы: @thenurblog
Санаттар: Блогтар
Тіл: қазақ
Жазылушылар: 25
Арнадан сипаттама

Мой путь в мир IT. Делитесь своими мыслями, ставьте реакции и подписывайтесь на мой канал, я ценю каждый отзыв🙌

Ratings & Reviews

3.67

3 reviews

Reviews can be left only by registered users. All reviews are moderated by admins.

5 stars

1

4 stars

0

3 stars

2

2 stars

0

1 stars

0


Соңғы хабарлар

2023-02-06 20:20:49 Итоги 21 дня

Наконец-то я смог завершить свой 21 дневный mini challenge. Я рад, что мне удалось закончить этот challenge, несмотря на то, что я пропустил некоторые дни. Я старался не упускать одну и ту же привычку в течение двух дней подряд, чтобы эта привычка не ослабла. Давайте пройдемся по каждой привычке:

Принимать душ через день по утрам

Не всегда помнил, в какой день в последний раз принимал душ, вчера или позавчера? Забывал, нужно ли мне сегодня принимать душ. Наверное, для этой привычки лучше выбирать 3/4 дни недели когда будешь принимать душ. И мне часто было неохота идти в душ после сна. Но, когда я решил утром принять душ, усталость в те дни заметно уменьшилась. Я надеюсь, что это сопротивление к воде после сна постепенно исчезнет и войдет в привычку))

Не пользоваться никакой электроникой в течение 30 минут после пробуждения

Сначала это кажется легким, но для меня это оказалось непростым делом. Звучит просто: "не пользуйтесь никакой электроникой в течение 30 минут". Но проблема в том, что вы будете делать эти 30 минут: скажем, в течение 20 минут: встали, умылись, поели... Что дальше? Если вы не знаете, что делать, вас будет невероятно тянуть к телефону. Сначала я хотел почитать Kindle, но это тоже электроника. Главное здесь - придумать, что вы будете делать в это время вместо телефона. Все же, считаю, что эту привычку слишком радикальным, по крайней мере, очень трудным для начинающих, кто начинает только формировать привычки.

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

Прочитать статью/видео о программировании

Наверное, эта привычка была самой легкой из этих 4-х. Потому что у меня уже неплохо получался до этого. У меня не было особых трудностей с этой привычкой, но иногда было трудно выбрать, что читать смотреть.

Я думаю, что здесь можно с легкостью попасть в 2 ловушки: без каких-либо никаких ориентиров (roadmap), и вы начнете читать все хаотично, включая то, что вам пока не нужно, или вы будете бродить по интернету в надежде найти что-нибудь почитать и потратите свое время впустую. Я думаю, что это можно решить двумя способами:

1) Перед началом challenge-а выбрать 21 статьи, которую вы будете читать каждый день
2) Или выберите книгу и читайте по главе в день

Ложиться спать до 00:00

Это самая большая привычка, которую я хотел сформировать. Потому что я всегда ложился спать обычно между 1-2 часами ночи. Человек проводит треть своей жизни во сне, а то, что делается часто, должно делаться хорошо)) Независимо от того, как сильно я хотел лечь спать до 00:00, это не всегда получалось. Думаю, что из-за того, что начал чуть регулировать свой режим сна, начал чувствовать себя лучше в течение суток.

Несмотря на то, что я выбрал самые простые привычки, выполнение этих привычек в течение длительного периода оказалось непростой задачей. В течение 21 дня в мозге формируются новые нейронные связи, связанные с привычкой, и пока старые привычки никуда не делись. Это значит еще привычка не сформирована, и я буду продолжать эти привычки, чтобы они окончательно сформировались.

Спасибо всем, кто читал мои скучные отчеты, ставил лайки и писал комментарии
74 views17:20
Ашу / Түсініктеме
2023-02-06 20:10:52 День #21/21. Отчет за 05.03.2023

1. Не сегодня

2. Не пользовался телефоном ~30 минут

3. Повторил тему транзакции

Транзакция - это одно из фундаментальных понятий в базах данных. Транзакция - это атомарный набор запросов к базе данных. То есть запрос будет выполнен полностью или завершится полным сбоем.

Расмотрим такой случай, User1 хочет перевести 200 долларов к User2. Сперва снимаем 200$ со счета User1, потом прибавляем 200$ к счету User2. Вроде нет никаких проблем. Но, что если после как сняли деньги с User1, база упала, и эти деьги не дошли до User2. Было бы обидно, если бы деньги со счета User1 списались, но на счет User2 не поступили. И в этот момент к помощи приходит транзакции. И благодаря объединению запросов в транзакцию при возникновении ошибки зачисления мы откатываем и операцию списания. Деньги снова вернулись на счет 1!

4. Лег спать после 01:00
67 views17:10
Ашу / Түсініктеме
2023-02-05 11:15:28 День #20/21. Отчет за 04.02.2023

1. Принял

2. Не пользовался телефоном ~30 минут

3. Прочитал статью "TDD: методология разработки, которая изменила мою жизнь" на сайте habr.com

TDD расшифровывается как Test Driven Development (разработка через тестирование). Вот его основные принципы кратко:

Мы пишем тест для наших ожидаемых результатов перед написанием кода. И убеждаемся, что тесты не проходит, а это значит, что тест не дает ложных результатов.

Мы пишем код для прохождения тестов

Делаем рефакторинг, не боясь сломать систему

Сначала мне казалось, что написание тестов отнимает много времени, лучше сосредоточиться на реальном коде. Мы начнем получать плоды TDD в будущем. До TDD мы тестировали код вручную, войдя в консоль или отправив запросы через postman, это занимает некоторое время. А TDD позволяет автоматизировать этот процесс. Так же, в будущем мой друг, который захочет использовать ваш код, будет обладать такими же знаниями (тестами).

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

Наконец, мы можем делать с кодом все, что захотим, не боясь сломать систему и спать спокойно))

4. Лег спать в ~23:40
54 views08:15
Ашу / Түсініктеме
2023-02-04 17:15:01 День #19/21. Отчет за 03.02.2023

1. Принял

2. Не пользовался телефоном ~30 минут

3. Познакомился с библиотекой HTML парсинга JSoup

JSoup предоставляет очень удобный API для извлечения и обработки данных с использованием функций, подобных DOM, CSS и jQuery. Что мне понравилось в JSoup, так это то, что он очень гибкий (он может парсить HTML по ссылке, из строки или из локального файла). Кроме того, его легко выучить и в то же время очень функционален.

Допустим, мы хотим удалить все картинки из HTML: doc.select("img").remove(); или получить дочерние элементы элемента: Elements children = element.children(); Согласны очень легко?

Имейте в виду, что JSoup интерпретирует только HTML — он не интерпретирует JavaScript. Поэтому изменения в DOM, которые обычно происходят после загрузки страницы в браузере с поддержкой JavaScript, не будут видны в JSoup. Наверное, это самое большое ограничение JSoup.

4. Лег спать в ~01:00
43 views14:15
Ашу / Түсініктеме
2023-02-03 18:21:01
День #18/21. Отчет за 02.02.2023

1. Не сегодня

2. Не пользовался телефоном ~30 минут

3. Сегодня прочитал о паттерне "Цепочка обязанностей".

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

Условие обработки запроса может варьироваться в зависимости от задачи, и мы можем остановить цепочку, как только найдем обработчик, который не может обработать запрос, или остановить цепочку, как только мы найдем обработчик, который может обработать запрос. Но, концептуальная идея не меняется от этого, и код отличается только условием выхода из цепочки.

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

4. Лег спать в ~23:50
46 views15:21
Ашу / Түсініктеме
2023-02-02 08:57:50 День #17/21. Отчет за 01.02.2023

1. Принял

2. Не пользовался телефоном ~30 минут

3. Прочитал главу 17 книги "Чистый код".

Эта глава является своего рода заключением для книги. В этой главе представлена краткая версия всех ключевых правил, обсуждаемых в книге, называемых как "запахи кода", сгруппированных по шести категориям:

Комментари
Функции
Рекомендации для Java
Имена
Тесты
Разное (Все, что не относится к вышеуказанным группам)

Эта глава является полезным справочником для программистов, которые хотят писать высококачественный, читаемый и поддерживаемый код.

4. Лег спать в ~23:45
47 views05:57
Ашу / Түсініктеме
2023-02-01 16:14:49 День #16/21. Отчет за 31.01.2023

1. Не принял

2. Не пользовался телефоном ~30 минут

3. Я прочитал главу 15 книги "Чистый код"

Так же, как и в главе 14, здесь автор показывает, как он чистил код. В качестве примера взяли код из JUnit. В этой главе нет никакой особенно новой информации, вот некоторые выводы из главы:

Очистка кода - это не одноразовый процесс, который вы можете написать чистый код один раз и забыть, а итеративный процесс, полный проб и ошибок

Правило бойскаута: оставьте модуль (код) чище, чем он был до вашего прихода

4. Лег спать в ~23:50
44 viewsedited  13:14
Ашу / Түсініктеме
2023-01-31 07:24:19 День #15/21. Отчет за 30.01.2023

1. Не сегодня

2. Не пользовался телефоном ~30 минут

3. Я прочитал главу 14 книги "Чистый код"

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

Невозможно написать чистый и элегантный код за один проход: чтобы написать чистый код, мы сначала пишем грязный код, а затем постепенно его очищаем

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

Чтобы не сломать код при очистке, используйте методологию TDD

Постоянно следите за своим кодом. Не позволяй ему начать гнить

4. Лег спать в ~23:50
44 views04:24
Ашу / Түсініктеме
2023-01-30 11:45:33 День #14/21. Отчет за 29.01.2023

1. Принял

2. Не пользовался ~30 минут

3. Прочитал 9 главу Чистого кода. Ремесло программирования прошло долгий путь: если раньше они не уделяли особого внимания тестам, то теперь программисты пытаются охватить тестами как можно больше кода. Основные выводы из главы:

1) Тесты на "скорую руку" эквивалентны полному отсутствию тестов

2) Одна концепция - один тест: в каждой тестовой функции должна тестироваться одна концепция (опять же, принцип единой ответственности)

3) Не думайте о тестах как о "коде второго сорта". К написанию тестового кода следует относиться вдумчиво, тщательно и ответственно, так же как и к коду продукта

4) Принципы F.I.R.S.T.:

• Fast - тесты должны выполняться быстро
• Independent - тесты не должны зависеть от результатов других тестов
• Repeatable - тесты должны давать одинаковые результаты в любой среде
• Self-Validating - результатом теста должен быть булево значение (прошел/не прошел)
• Timely - тесты должны создаваться своевременно, т.е. они должны быть написаны непосредственно перед кодом продукта

4. Лег спать в ~23:50
41 viewsedited  08:45
Ашу / Түсініктеме
2023-01-29 16:00:01 День #13. Отчет за 28.01.2023

1. Не сегодня

2. Не пользовался ~30 минут

3. Прочитал главу 13 книги "Чистый код". В этой главе дается краткий обзор того, как писать правильный и чистый код в среде многопоточности. Многопоточность - очень обширная тема, о которой можно написать отдельную книгу, но эта глава - лишь верхушка айсберга. Основные выводы из главы:

1) Следуйте принципу единой ответственности: отделите код, связанный с реализацией многопоточности, от остального кода

2) Инкапсулируйте данные: жестко ограничьте доступ ко всем общим ресурсам

3) Стремитесь создавать независимые потоки, т.е. чтобы потоки не разделяли ресурсы между собой

4) Знайте свой язык программирования/библиотеку

5) Изучите базовые алгоритмы, связанные с многопоточностью

6) Не игнорируйте системные ошибки, считая их случайными, разовыми сбоями

7) Начните с отладки основного кода, который не связан с многопоточностью

4. Лег спать ~ в 23:50
43 viewsedited  13:00
Ашу / Түсініктеме