Привет, прошло много времени с тех пор, как я что -то написал здесь. Я надеюсь, что вы все в хорошем здоровье 💪.
Этот пост был первоначально написан здесь
Предыстория
Мой интернет был затронут недавно по некоторым непредвиденным причинам, это означает, что я был полностью в автономном режиме (то есть без текстовых сообщений, без мемов и нет 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”