Рубрики
Без рубрики

Я провел неделю в автономном режиме здесь, как я оставался продуктивным

Привет, прошло много времени с тех пор, как я что -то написал здесь. Я надеюсь, что вы все в хорошем здоровье … Помечено JavaScript, CPP, Python, производительность.

Привет, прошло много времени с тех пор, как я что -то написал здесь. Я надеюсь, что вы все в хорошем здоровье 💪.

Этот пост был первоначально написан здесь

Предыстория

Мой интернет был затронут недавно по некоторым непредвиденным причинам, это означает, что я был полностью в автономном режиме (то есть без текстовых сообщений, без мемов и нет git push 😭).

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

Я начал искать эти «PDFS» на моем ПК и после 15 минут поиска здесь – это то, как золотая жила информации. похоже

PDF-Learning
├── Algorithms & Data Structures
│   ├── Algorithms for dummies.pdf
│   ├── AlgorithmsNotesForProfessionals.pdf
│   ├── CLRS.pdf
│   └── Competitive Programming.pdf
├── C++
│   ├── Accelerated C++.pdf
│   ├── A Tour of C++ - Bjarne Stroustrup (Addison-Wesley, 2018).pdf
│   ├── C-- 11.pdf
│   ├── C++14 syntax reference.pdf
│   ├── C++ Game Development Book.pdf
│   ├── C++ GUI Programming with QT4, Second Edition.pdf
│   ├── C++ Interview Questions.pdf
│   ├── C++ NotesForProfessionals.pdf
│   ├── cpp-best-practices.pdf
│   ├── cpplambda_preview_25th_march_2019.pdf
│   ├── C++ standard library reference.pdf
│   ├── C++ STL_ReferenceManual.pdf
│   └── History_of_C++.pdf
├── Computer Vision
│   ├── OpenCV_Computer_Vision_with_Python_-eBook-.pdf
│   └── opencv-python-tutroals.pdf
├── dotNET
│   ├── complete-reference-vb_net.pdf
│   ├── DotNETFrameworkNotesForProfessionals.pdf
│   ├── Intro to VB.NET.pdf
│   ├── vb.net_tutorial.pdf
│   └── VisualBasic_NETNotesForProfessionals.pdf
├── GNU Octave
│   ├── Jesper Schmidt Hansen - GNU Octave for Beginners.pdf
│   ├── octave.pdf
│   ├── octave_tutorial_coursera.pdf
│   └── rob2-03-octave.pdf
├── HTML5 & CSS
│   ├── book.pdf
│   ├── Bootstrap
│   │   ├── Bootstrap-Programming-Cookbook.pdf
│   │   └── bootstrap_tutorial.pdf
│   ├── CSS 3.pdf
│   ├── cssanimation-101.pdf
│   ├── CSSNotesForProfessionals.pdf
│   ├── css_tutorial.pdf
│   ├── cssvisualdictionary2ND.pdf
│   ├── cssvisualdictionary.pdf
│   ├── HTML5NotesForProfessionals.pdf
│   ├── html5_tutorial.pdf
│   └── wsu-css-cheat-sheet.pdf
├── JS
│   ├── AJAX
│   │   ├── Ajax.pdf
│   │   └── ajax_tutorial.pdf
│   ├── Angular JS
│   │   ├── AngularJSNotesForProfessionals.pdf
│   │   └── angularjs_tutorial.pdf
│   ├── javascriptgrammar-dark.pdf
│   ├── javascriptgrammar-II.pdf
│   ├── javascript-handbook.pdf
│   ├── Javascript JSON and Ajax v2.pdf
│   ├── JavaScriptNotesForProfessionals.pdf
│   ├── Javascript.pdf
│   ├── javascript_tutorial.pdf
│   ├── jQuery
│   │   ├── jQueryNotesForProfessionals.pdf
│   │   ├── jQuery.pdf
│   │   └── jquery_tutorial.pdf
│   ├── Node JS
│   │   ├── Learning Node.pdf
│   │   ├── NodeJSNotesForProfessionals.pdf
│   │   ├── Node js.pdf
│   │   └── nodejs_tutorial.pdf
│   ├── react-in-action.pdf
│   ├── ReactJSNotesForProfessionals.pdf
│   ├── ReactNativeNotesForProfessionals.pdf
│   └── You Don t Know JS by Kyle Simpson.pdf
├── Linux
│   ├── BashNotesForProfessionals.pdf
│   ├── Kali Linux Revealed.pdf
│   ├── Linux Command line.pdf
│   └── LinuxNotesForProfessionals.pdf
├── Machine Learning & Deep Learning
│   ├── A Beginners Guide to the Mathematics of Neural Networks.pdf
│   ├── An Introduction to Machine Learning.pdf
│   ├── Chapman_ _Hall_Crc_Machine_Learning.pdf
│   ├── Deep Learning for NLP.pdf
│   ├── [Harrington_P.]_Machine_learning_in_action(BookZZ.org).pdf
│   ├── Introduction to ml+time series.pdf
│   ├── Logistic Regression.pdf
│   ├── Machine Learning For Dummies.pdf
│   ├── master_machine_learning_algorithms.pdf
│   ├── Mathematics for ML.pdf
│   ├── MLND+2-Term+Syllabus.pdf
│   ├── Ng_MLY01_13.pdf
│   ├── PYTHON_DEEP_LEARNING.pdf
│   └── SLR_Leastsquares.pdf
├── Python
│   ├── Django
│   │   ├── Aratyn T. - Building Django 2.0 Web Applications - 2018.pdf
│   │   ├── djangoapibook.pdf
│   │   ├── djangobook.pdf
│   │   ├── django_cheatsheet.pdf
│   │   ├── django-intro.pdf
│   │   ├── Django Projects Blueprint.pdf
│   │   └── Leanpub.Tango.With.Django.pdf
│   ├── LPTHW.pdf
│   ├── Modern Python Cookbook.pdf
│   ├── Python for Informatics.pdf
│   ├── PythonNotesForProfessionals.pdf
│   ├── Python Web Scraping
│   │   ├── Python Web Scraping - Second Edition [eBook].pdf
│   │   └── scrapy_tutorial.pdf
│   └── Violent Python.pdf
├── Special
│   ├── AndroidNotesForProfessionals.pdf
│   ├── AN INTENSIVE\012INTRODUCTION TO\012CRYPTOGRAPHY.pdf
│   ├── Computer Networking.pdf
│   ├── Getting_Started_with_Go_for_Data_Structures_and_Algorithms.pdf
│   ├── GitNotesForProfessionals.pdf
│   ├── good_concepts.pdf
│   ├── HackerRank_Checklist-for-Screening-Back-End-Developers.pdf
│   ├── HackerRank_Checklist-for-Screening-DevOps.pdf
│   ├── HackerRank_Checklist-for-Screening-Front-End-Developers.pdf
│   ├── HackerRank_Checklist_Screening-Full-Stack.pdf
│   ├── HackerRank-Junior-Senior-Developer-Hiring-Checklist.pdf
│   ├── Hackers Underground.pdf
│   ├── How_to_earn_10_000_while_learning_to_code_-_3rd_Edition.pdf
│   ├── iOSNotesForProfessionals.pdf
│   ├── Matters Computational.pdf
│   ├── MongoDBNotesForProfessionals.pdf
│   ├── PowerShellNotesForProfessionals.pdf
│   └── Rest API.pdf
└── Unclassified Programming Languages
    ├── CSharpNotesForProfessionals.pdf
    ├── HaskellNotesForProfessionals.pdf
    ├── JavaNotesForProfessionals.pdf
    ├── KotlinNotesForProfessionals.pdf
    ├── ObjectiveCNotesForProfessionals.pdf
    ├── php_tutorial.pdf
    ├── RubyOnRailsNotesForProfessionals.pdf
    └── SwiftNotesForProfessionals.pdf

19 directories, 120 files

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

В противном случае, сядь назад, забирай несколько ☕ ниже,-это дневной журнал о некоторых интересных вещах, которые я изучил и сделал за эти 7 дней.

День 0: Linux – это 💛

  • Что ж, мы все знаем, что кошка команда, верно? Он используется для отображения содержимого любого файла, хорошо! Но знаете ли вы, у нас также есть TAC Команда, которая также используется для отображения содержимого файла, но в Обратный заказ.
$ cat butwhy.sh 
This is first line.
And
This is second line.
And you know what
This is the 3rd line.

$ tac butwhy.sh  
This is the 3rd line.
And you know what
This is second line.
And
This is first line.
  • pwd , кажется, знакомо печатать текущий рабочий каталог. Но у него есть команда сестры под названием PWDX . Он используется для печати текущего рабочего каталога A в настоящее время запущен процесс .
$ sudo pwdx 997 # process id
[sudo] password for bhupesh: 
997: /
# this is the root prcess
  • Вы, ребята, иногда путают с иерархией файловой системы Linux 🤔 🤔 Ищечия в Интернете, что содержит папка, не является решением. Перейти к своему терминалу и введите
man hier

Это напечатает описание иерархии файловой системы, также аналогичной, чтобы распечатать менее многословную версию иерархии FS

man file-hierarchy
  • Я знаю, что это может показаться глупо, но я не знал, что у нас был простой контроль версий в встроенном встроенном виде, запуская diff Команда печатает разницу между 2 файлами.
  • tr , позволяет переводить сжатие и/или удалять символы из стандартного ввода и написать их на стандартный вывод.
> ls | tr a-z A-Z
ALGORITHMS & DATA STRUCTURES
C++
COMPUTER VISION
DOTNET
GNU OCTAVE
HTML5 & CSS
JS
LINUX
MACHINE LEARNING & DEEP LEARNING
PYTHON
SPECIAL
UNCLASSIFIED PROGRAMMING LANGUAGE

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

День 1: JavaScript хороший 👌

В этот день я начал читать javascriptgrammar , некоторые из интересных вещей, которые я не знал Я не программист JS, но иногда пишу это)

  • Symbol () Символ дает способ определить совершенно уникальный ключ. У него нет конструктора и не может быть инициализирован с помощью нового ключевого слова. Назначение символу создаст новый символ с уникальным идентификатором.
// Simple symbol
const newSymbol = Symbol();
typeof newSymbol === 'symbol' // true
// A symbol with a label
const anotherSymbol = Symbol("label");
// Each symbol is unique
const yetAnotherSymbol = Symbol("label");
yetAnotherSymbol === anotherSymbol; // false

Один из использования символа, который его можно использовать для создания свойств частного объекта

  • Console.Time () и Console.TimeEnd () Это не связано с JS напрямую, но консольный API позволяет вам время, как долго выполняется кусок кода.
  • Файл API Вы можете прочитать файлы в JavaScript, используя FileReader ()



Я также выучил эти 2 классных трюка в Linux.

  • Встроенный отладчик для сценариев Shell (хорошо) Вы можете увидеть выполнение каждого оператора в скрипте оболочки, используя -x Флаг, вызывая скрипт через избиение
bash -x hello.sh
  • Чтобы распечатать информацию о аппаратном обеспечении вашего ПК в хорошем читаемом формате, вы можете передать -html флаг в LSHW (Список аппаратного обеспечения) Команда
sudo lshw -html > myhardware.html

День 2: HTML5 – это 😮

В этот день я посмотрел в HTML5 Примечания для профессионалов И, черт возьми, я сейчас не знаю HTML.

  • Вы можете сказать браузеру, чтобы предварительно заранее переосмыслить URL, чтобы его можно было бы быстрее загружать.

  • Вы можете проверить пользовательский ввод, используя шаблоны В пределах HTML (вроде похоже на корпус)

  • Мы можем песочницы (изолировать) iframe и ограничивать вещи, которые iframe разрешена выполнять, используя Песочница атрибут. Используя это, содержимое iframe рассматривается как из -за уникального происхождения, и функции, включая сценарии, плагины, формы и всплывающие окна, будут отключены.




День 3: Python 🔥

В этот день я исследовал Питоны примечания для профессионалов

В этот день я также начал писать 1 -й проект этого поста.

Некоторые интересные вещи, которые я узнал в этот день:

  • Heapq Библиотека позволяет вам найти n самые большие или наименьшие цифры в итерапии.
>>> import heapq
>>> mylist = [120, -34, 0, 56, 444, 78]
>>> heapq.nlargest(2, mylist)
[444, 120]
# notice the order
>>> heapq.nsmallest(3, mylist)
[-34, 0, 56]
>>> 

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

  • Python’s Default Json Pretty Printer, вы можете вызвать json.tool от командной строки, чтобы красиво распечатать файл json
python -m json.tool journal.json

# sample output :)
{
    "journal": [
        {
            "day0-activity": "I slept"
        },
        {
            "day1-activity": "I slept"
        },
        {
            "day2-activity": "I watched Avengers Endgame"
        }
    ]
}

Совет 🚩 Вы также можете использовать pprint Пакет, чтобы приточить вещи на консоли.

  • Хочу ввести конфиденциальную информацию. В командной строке не волнуйтесь в библиотеке Python по умолчанию что -то для вас. getPass Модуль позволяет получить ввод от пользователя без эхо это до терминала/экрана.
>>> from getpass import getpass
>>> pass_in = getpass()
Password: 
>>> pass_in
'iwonttellu'
>>> 

День 4: выключите компьютер

Я не использовал свой компьютер в этот день, но я прочитал эту книгу под названием Кодекс 2

Опять же, предыдущее решение спасло меня

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

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

Недавно я где -то читал, что архитектура Netflix настолько сложна, что ни один человек не может объяснить/описать ее полностью. Источник: случайное видео на YouTube

  • Воспродажи/extensibilty Обязательно напишите код в выделенных классах/модулях/пакетах, чтобы кто -то (или вы) могли легко расширить их когда -нибудь в будущем. Лучшим примером этого является то, как сообщество Foss выросло за эти годы, создавая вещи, которые используют многоразовые компоненты или распространяются друг от друга. Большинство (я держу пари, 80%) популярных технологий, которые вы используете, каким -то образом используют программное обеспечение OpenSource, таким образом, обеспечивает повторное использование.

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

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

  • Портативность это означает, что он заклинает, система должна быть спроектирована (и разработана), чтобы ее можно было легко переносить в другую среду.

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

День 5: Исполнение 👷 день

  • Вы помните TAC Команда мы узнали в день 0? Вот простая реализация того же самого в Python
#!/usr/bin/env python3

"""Simple implementation of tac"""
import sys


def main():
    if sys.argv[1] is not None:
        with open(sys.argv[1], "r") as fp:
            file = fp.readlines()
        file.reverse()
        for line in file:
            print(line, end='')


if __name__ == '__main__':
    main()

Образец пробега

> python3 tac.py hello.sh
expr 2 + 2
echo "Hello World"
> tac hello.sh           
expr 2 + 2
echo "Hello World"
>
  • Вы помните, что мы обнаружили FileReaderapi В JavaScript в день 1? Я думал, что это время, которое мне нужно создать довольно базовую версию простого блокнота Здесь Это и Источник (Я знаю, это выглядит некрасиво)

Совет 🚩 Если вы находитесь в системе на основе Debian или Ubuntu, вы можете запустить Просмотр Команда открывать файлы и URL -адреса. Для бывшего Обзор https://bhupesh.codes Откроет мой веб-сайт в вашем веб-браузере по умолчанию.

День 6: Функциональное программирование

В этот день я исследовал и сравнил концепции функционального программирования в C ++, JS & Python. На всех этих 3 языках у нас есть некоторые методы/функции, доступные для выполнения 3 основных вещей, которые обычно функционально программируют, т.е.

  • карта : DO (MAP) некоторые операции на наборе элементов
  • фильтр : Фильтр/вернуть некоторые элементы, которые соответствуют критериям
  • уменьшить : уменьшить набор элементов до одного значения.

Вот краткий обзор 3 понятий в C ++ 💙.

#include 
#include 
#include 
#include 

void print(int n){
    std::cout << n << " ";
}
int main(){

    std::vector v{20, 0, -1, 100, 5};
    std::vector v2, v3;

    std::cout << ".....map.....\n";
    std::cout << "for_each() demo\n";

    // map an operation on a set of elements
    for_each(v.begin(), v.end(), print);
    transform(v.begin(), v.end(), back_inserter(v2), [](int n) { return n * 2 ;});
    std::cout << "\ntransform() demo\n";
    for_each(v2.begin(), v2.end(), print);

    std::cout << "\n\n.....reduce.....\n";
    std::cout << "accumulate() demo\n";

    // reduce the elements to a single value, by default accumulate() sums all elemets, if no other operation is specified
    int sum_vector_v2 = accumulate(v2.begin(), v2.end(), 0);
    std::cout << sum_vector_v2 << "\n";

    std::cout << "\n.....filter.....\n";
    std::cout << "copy_if() demo\n";

    // filter elements which are divisible by 5
    copy_if(v2.begin(), v2.end(), back_inserter(v3), [](int a) { return a % 5 == 0; });
    for_each(v3.begin(), v3.end(), print);

    return 0;
}

3 вынос

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

1. Быть в автономном режиме на один день, по крайней мере, 🔌

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

Расслабьтесь, медитируйте, играйте со своим питомцем, практикуйте вещи, которые вы можете сделать в автономном режиме

2. Просто прочитайте 📚

Вы уже видели кучу постов, в которых говорилось, что чтение – хорошая привычка, каждый должен это сделать.

Они на 100% ✅

Я знаю, что не всем нравится читать Но вы можете прочитать главу за 2 дня, черт возьми, наши предки читали, чтобы придать и поделиться знаниями. Есть также одна веская причина, по которой вы должны читать как начинающий разработчик. Для, например, Есть профессиональные люди, которые забили свои советы, предложения и лучшие практики в 1 большую часть, называемую «книгой». Эта книга содержит ценную информацию. что вы, вероятно, никогда бы не найдете в Интернете.

3. Вести небольшой журнал/блог 📔

Это то, что вы хотите сохранить в этом журнале, вы можете пойти дальше и создать til (Сегодня я узнал) Репо так же, как я 🙃 🙃

Это также означает, что вы должны начать свой собственный блог (если вы читаете это на Dev, то вы на полпути).

В вашем блоге нет ограничений, это не должно быть 1000 слов, никто не будет беспокоить вас каким -либо образом на том, что вы пишете или делитесь, это ваше личное пространство в Интернете. Нет проблем, если вы пишете один раз в месяц (если вы не хотите заработать 🤑 от этого), как я сказал ваш блог, ваш выбор.

Insight 💡 За прошедший год мое письмо улучшилось (я начал август 2019 г.), и я много получил, просто написав, например, я больше не перепутал с идеями проекта, и я постепенно начал наслаждаться этим.

Если вы понятия не имеете, что написать, вот некоторые примеры сценарии, которые могут помочь.

  • То, что вы узнали сегодня.
  • То, что вы сделали (буквально все).
  • Вы получили работу/стажировку и как вы ее сделали и что помогло.
  • Вы решили интересную проблему.
  • Вы помогли кому -нибудь.
  • Хитрый ошибка, которую вы исправили.
  • Внес свой вклад в Фосс (Как, что и почему)
  • Эта функция, которой потребовалось несколько дней для реализации и как вы это сделали.
  • Список вещей/инструментов, которые облегчают вашу жизнь (как разработчик).
  • Читайте/посмотрели интересную вещь в Интернете (ваша реакция, просмотры, выводы от него)

Совет 🚩 Если вы украдите или копируете что -то из Интернета, попробуйте Свести исходный источник.

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

Надеюсь, вам понравилось или, вероятно, что -то узнали. Если у вас, ребята, есть какие -либо отзывы или вы хотите поговорить, не стесняйтесь комментировать ниже 💚. Вы можете связаться со мной прямо на Twitter | Телеграмма | Эл. адрес

Оригинал: “https://dev.to/bhupesh/i-spent-a-week-offline-here-is-how-i-stayed-productive-4oa1”