4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # Welcome to my 🌟 Roadmap Full Stack Python 🌟 (which is also my number 100 repository on GitHub - at the end of 2021)
4 |
5 | ## If you're reading this before 01/01/2022, I want to wish you a Happy New Year and lots of health! 🙏
6 |
7 | ## Anyway, enough of the presentations, and let's get down to business!
8 |
9 | # Shortcuts
10 |
11 | ## 🧑🎨 [Front-End Development Trail](https://developer.mozilla.org/en-US/docs/Web)
12 |
13 | - The base of the trail:
14 |
15 | ° [](https://developer.mozilla.org/en-US/docs/Web/HTML)
16 | [](https://developer.mozilla.org/en-US/docs/Web/CSS)
17 | [](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
18 |
19 | - Popular CSS Frameworks:
20 |
21 | ° [](https://tailwindcss.com/docs/installation)
22 | [](https://sass-lang.com/guide)
23 | [](https://lesscss.org/features/)
24 |
25 | - JS Packages Manager:
26 |
27 | ° [](https://docs.npmjs.com/)
28 | [](https://yarnpkg.com/)
29 |
30 | - Complete Frameworks Front-End:
31 |
32 | ° [](https://www.gatsbyjs.com/how-it-works/)
33 | [](https://getbootstrap.com/docs/5.0/getting-started/introduction/)
34 |
35 | - Frameworks JS:
36 |
37 | ° [](https://reactjs.org/docs/getting-started.html)
38 | [](https://angular.io/docs)
39 | [](https://vuejs.org/v2/guide/)
40 |
41 | ° [](https://docs.nestjs.com/)
42 | [](https://nextjs.org/docs/getting-started)
43 | [](https://nuxtjs.org/docs/get-started/installation)
44 |
45 | ### OBS.: My advice is, you should master the basics, and select 1 framework from each sub-topic to specialize in (remember: the focus here is Python for the Web, don't worry so much about the Front-End issue, the unless you want to be a Full Stack developer with an emphasis on Front End).
46 |
47 | ## 🧠 [Back-End Development Trail](https://developer.mozilla.org/en-US/docs/Learn/Server-side)
48 |
49 | - 🌎 Django trail
50 |
51 | ° [](https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django)
52 | [](https://docs.djangoproject.com/en/4.0/)
53 | [](https://www.django-rest-framework.org/#quickstart)
54 |
55 | ° [🕶 Awesome Django](https://github.com/wsvincent/awesome-django)
56 | [🕶 Awesome Django Rest Framework](https://github.com/nioperas06/awesome-django-rest-framework)
57 | [🖥 Django CMS](https://docs.google.com/document/d/1f5eWyD_sxUSok436fSqDI0NHcpQ88CXQoDoQm9ZXb0s/edit)
58 |
59 | ### Ok, It may seem like little to study, but Django's ecosystem is vast (it can take months to develop a good foundation and generate a few small projects). But if you are patient, this time spent will pay off! ✌️😉
60 |
61 | - 🌶 Flask trail
62 |
63 | ° [](https://flask.palletsprojects.com/en/2.0.x/)
64 | [🕶 Awesome Django](https://github.com/humiaozuzu/awesome-flask)
65 | [🌶🔏 Flask RESTful](https://flask-restful.readthedocs.io/en/latest/)
66 |
67 | ### Flask is generally the second most used python framework on the web (second only to Django); for a few reasons: in addition to being simpler than its competitor (Django), it provides more freedom and flexibility to the developer. Very suitable for small building web applications.
68 |
69 | - ⚡️ FastAPI trail:
70 |
71 | ° [](https://fastapi.tiangolo.com/)
72 | [](https://github.com/tiangolo/fastapi)
73 | [🕶 Awesome Django](https://github.com/mjhea0/awesome-fastapi)
74 |
75 | ### FastAPI (different from Flask and Django), was made thinking about making API's easier to build - but it is highly recommended in the technology market, so I think it's good to take some time to study it!
76 |
77 | ## 🛢 [Database Trail](https://www.oracle.com/database/what-is-database/)
78 |
79 | - 🧮 DataBases (Type: Structured)
80 |
81 | ° [](https://www.microsoft.com/pt-br/sql-server/sql-server-downloads)
82 | [](https://dev.mysql.com/doc/mysql-shell/8.0/en/)
83 | [](https://www.postgresql.org/docs/current/)
84 | [](https://sqlite.org/about.html)
85 |
86 | - 🗂 DataBases (Type: No Structured - NoSQL)
87 |
88 | ° [](https://docs.mongodb.com/)
89 | [](https://redis.io/documentation)
90 | [](https://cassandra.apache.org/doc/latest/)
91 |
92 | - 🔎 ORM's
93 |
94 | ° [](https://www.prisma.io/docs/getting-started/quickstart)
95 | [](https://sequelize.org/v7/)
96 |
97 | ### Database is an essential part for developing all kinds of applications. Here you can choose any of the alternatives presented, it won't have such a big impact on your coding ability (but be aware of what the market may demand).
98 |
99 | ## 🔐 [Infrastructure Trail](https://www.ibm.com/topics/infrastructure)
100 |
101 | - 📜 CI/CD trail
102 |
103 | ° [](https://circleci.com/docs/2.0/)
104 | [](https://docs.gitlab.com/ee/ci/index.html)
105 | [](https://docs.github.com/pt/actions)
106 | [](https://docs.travis-ci.com/user/tutorial/?utm_source=help-page&utm_medium=travisweb)
107 |
108 | - ☁️ Cloud Services trail
109 |
110 | ° [](https://docs.aws.amazon.com/index.html?nc2=h_ql_doc_do_v)
111 | [](https://azure.microsoft.com/en-us/get-started/#works)
112 | [](https://cloud.google.com/gcp/getting-started)
113 |
114 | - 🏢 Hosting(Deploy) trail
115 |
116 | ° [](https://firebase.google.com/docs)
117 | [](https://devcenter.heroku.com/categories/reference)
118 | [](https://docs.netlify.com/)
119 | [](https://vercel.com/docs)
120 |
121 | - 📝 Version Control trail
122 |
123 | ° [](https://git-scm.com/docs)
124 | [](https://docs.github.com/en)
125 | [](https://about.gitlab.com/get-started/)
126 | [](https://bitbucket.org/product/guides)
127 |
128 | - 🚛 Containers Management trail
129 |
130 | ° [](https://docs.docker.com/get-docker/)
131 | [](https://kubernetes.io/docs/home/)
132 |
133 | ### OBS.: Git is a desktop tool we use to manage project versions on our local machine. the other tools are cloud services that allow the developer to manage projects and changes in a virtual environment.
134 |
135 | ## [Artificial Intelligence Tail](https://www.oracle.com/artificial-intelligence/what-is-ai/)
136 |
137 | - Data Analysis & Data Science tail:
138 |
139 | ° [](https://numpy.org/doc/stable/user/absolute_beginners.html)
140 | [](https://pandas.pydata.org/docs/user_guide/index.html)
141 | [](https://dash.plotly.com/)
142 |
143 | [](https://www.tensorflow.org/learn)
144 | [](https://keras.io/getting_started/)
145 |
146 | ### So dear reader, I need to inform you of the following: With the advent and advances of Artificial Intelligence, we developers need to be aware of this. Even more so now with the integration between Web and Neural Networks increasingly intertwined.
147 |
148 | ### And beyond that, Python is the most popular and recommended when it comes to Data Analysis and Science! So, be smart (it may take time to build your stack, but knowledge in the data area will benefit you in the long run).
149 |
150 | ## 👨💻 My Stack
151 |
152 | ### At the moment I am still working on the base. After much research, testing and experimentation, I chose these technologies to compose my Stack:
153 |
154 | On the Front-End:
155 |
156 | 
157 | 
158 | 
159 |
160 | 
161 | 
162 | 
163 |
164 | On the Back-End
165 |
166 | 
167 | 
168 |
169 | 
170 | 
171 |
172 | On the DataBases:
173 |
174 | 
175 | 
176 | 
177 |
178 | On the Infrastructure:
179 |
180 | 
181 | 
182 |
183 | 
184 | 
185 |
186 | 
187 | 
188 |
189 | 
190 | 
191 |
192 | On the Data Analysis/Science:
193 |
194 | 
195 | 
196 | 
197 |
198 | ### The repositories that helped me build this roadmap: [Markdown Badges of Roadmap](https://github.com/Ileriayo/markdown-badges)
199 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | Use this section to tell people about which versions of your project are
6 | currently being supported with security updates.
7 |
8 | | Version | Supported |
9 | | ------- | ------------------ |
10 | | 5.1.x | :white_check_mark: |
11 | | 5.0.x | :x: |
12 | | 4.0.x | :white_check_mark: |
13 | | < 4.0 | :x: |
14 |
15 | ## Reporting a Vulnerability
16 |
17 | Use this section to tell people how to report a vulnerability.
18 |
19 | Tell them where to go, how often they can expect to get an update on a
20 | reported vulnerability, what to expect if the vulnerability is accepted or
21 | declined, etc.
22 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-cayman
--------------------------------------------------------------------------------
/autogit.sh:
--------------------------------------------------------------------------------
1 | git add -A
2 | git commit -m "README.md -> updated"
3 | git push
4 | git status
5 | clear
--------------------------------------------------------------------------------
/contributing.md:
--------------------------------------------------------------------------------
1 | ## How to contribute:
2 |
3 | ### Well, as this design is based on markdown, there are no coding rules or standards requirement for coding.
4 |
5 | ### I just ask you to follow the format in which this repository was created:
6 |
7 | ° 1 - Using the badges from the commented repository at the end of README.md.
8 |
9 | ° 2 - Each line can contain between 2 to 4 badges.
--------------------------------------------------------------------------------
/init.vim:
--------------------------------------------------------------------------------
1 | call plug#begin()
2 | Plug 'sainnhe/sonokai'
3 | Plug 'vim-airline/vim-airline'
4 | Plug 'vim-airline/vim-airline-themes'
5 | Plug 'sheerun/vim-polyglot'
6 | Plug 'preservim/nerdtree'
7 | Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
8 | Plug 'Xuyuanp/nerdtree-git-plugin'
9 | Plug 'wakatime/vim-wakatime'
10 | Plug 'dense-analysis/ale'
11 | Plug 'neoclide/coc.nvim' , { 'branch' : 'release' }
12 | Plug 'honza/vim-snippets'
13 | Plug 'jiangmiao/auto-pairs'
14 |
15 | if (has("nvim"))
16 | Plug 'nvim-lua/plenary.nvim'
17 | Plug 'nvim-telescope/telescope.nvim'
18 | endif
19 |
20 | call plug#end()
21 |
22 |
23 | " Global Sets """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
24 | syntax on " Enable syntax highlight
25 | set nu " Enable line numbers
26 | set tabstop=4 " Show existing tab with 4 spaces width
27 | set softtabstop=4 " Show existing tab with 4 spaces width
28 | set shiftwidth=4 " When indenting with '>', use 4 spaces width
29 | set expandtab " On pressing tab, insert 4 spaces
30 | set smarttab " insert tabs on the start of a line according to shiftwidth
31 | set smartindent " Automatically inserts one extra level of indentation in some cases
32 | set hidden " Hides the current buffer when a new file is openned
33 | set incsearch " Incremental search
34 | set ignorecase " Ingore case in search
35 | set smartcase " Consider case if there is a upper case character
36 | set scrolloff=8 " Minimum number of lines to keep above and below the cursor
37 | set colorcolumn=100 " Draws a line at the given line to keep aware of the line size
38 | set signcolumn=yes " Add a column on the left. Useful for linting
39 | set cmdheight=2 " Give more space for displaying messages
40 | set updatetime=100 " Time in miliseconds to consider the changes
41 | set encoding=utf-8 " The encoding should be utf-8 to activate the font icons
42 | set nobackup " No backup files
43 | set nowritebackup " No backup files
44 | set splitright " Create the vertical splits to the right
45 | set splitbelow " Create the horizontal splits below
46 | set autoread " Update vim after file update from outside
47 | set mouse=a " Enable mouse support
48 | filetype on " Detect and set the filetype option and trigger the FileType Event
49 | filetype plugin on " Load the plugin file for the file type, if any
50 | filetype indent on " Load the indent file for the file type, if any
51 |
52 |
53 | " Themes """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
54 | if exists('+termguicolors')
55 | let &t_8f = "\[38;2;%lu;%lu;%lum"
56 | let &t_8b = "\[48;2;%lu;%lu;%lum"
57 | set termguicolors
58 | endif
59 |
60 | let g:sonokai_style = 'atlantis'
61 | let g:sonokai_enable_italic = 1
62 | let g:sonokai_disable_italic_comment = 0
63 | let g:sonokai_diagnostic_line_highlight = 1
64 | let g:sonokai_current_word = 'bold'
65 | colorscheme sonokai
66 |
67 | if (has("nvim")) "Transparent background. Only for nvim
68 | highlight Normal guibg=NONE ctermbg=NONE
69 | highlight EndOfBuffer guibg=NONE ctermbg=NONE
70 | endif
71 |
72 | let g:airline_theme = 'sonokai'
73 |
74 |
75 | " Remaps """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
76 | " remaps here
77 |
78 | " Shortcuts for split navigation
79 | map h
80 | map j
81 | map k
82 | map l
83 |
84 | " Adding an empty line below, above and below with insert
85 | nmap op ok
86 | nmap oi Oj
87 | nmap oo A
88 |
89 | " Create any tabs
90 | nmap te :tabe
91 |
92 | " Navigate between buffers
93 | nmap ty :bn
94 | nmap tr :bp
95 |
96 | " Delete a buffer
97 | nmap td :bd
98 |
99 | " Create splits
100 | nmap th :split
101 | nmap tv :vsplit
102 |
103 | " Close splits and others
104 | nmap tt :q
105 |
106 | " Call command Shortcut
107 | nmap tc :!
108 |
109 |
110 | " autocmd """"""""""
111 | " autocmds here
112 |
113 | function! HighlightWordUnderCursor()
114 | if getline(".")[col(".")-1] !~# '[[:punct:][:blank:]]'
115 | exec 'match' 'Search' '/\V\<'.expand('').'\>/'
116 | else
117 | match none
118 | endif
119 | endfunction
120 |
121 | autocmd! CursorHold,CursorHoldI * call HighlightWordUnderCursor()
122 |
123 |
124 | " AirLine """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
125 | let g:airline#extensions#tabline#enabled = 1
126 | let g:airline_powerline_fonts = 1
127 |
128 |
129 | " NerdTree """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
130 | nmap :NERDTreeToggle
131 |
132 |
133 | " ALE """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
134 | let g:ale_linters = {
135 | \ 'python': ['flake8', 'pyright', 'bandit'],
136 | \}
137 |
138 | let g:ale_fixers = {
139 | \ '*': ['trim_whitespace'],
140 | \}
141 |
142 | let g:ale_fix_on_save = 1
143 |
144 |
145 | " NeoVim """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
146 | if (has("nvim"))
147 | " Telescope """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
148 | nnoremap ff Telescope find_files
149 | nnoremap fg Telescope live_grep
150 | nnoremap fb Telescope buffers
151 | nnoremap fh Telescope help_tags
152 | endif
153 |
154 |
155 | " COC """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
156 |
157 | let g:coc_global_extensions = [ 'coc-snippets', 'coc-explorer' ]
158 |
159 | " Set internal encoding of vim, not needed on neovim, since coc.nvim using some
160 | " unicode characters in the file autoload/float.vim
161 | set encoding=utf-8
162 |
163 | " TextEdit might fail if hidden is not set.
164 | set hidden
165 |
166 | " Some servers have issues with backup files, see #649.
167 | set nobackup
168 | set nowritebackup
169 |
170 | " Give more space for displaying messages.
171 | set cmdheight=2
172 |
173 | " Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable
174 | " delays and poor user experience.
175 | set updatetime=300
176 |
177 | " Don't pass messages to |ins-completion-menu|.
178 | set shortmess+=c
179 |
180 | " Always show the signcolumn, otherwise it would shift the text each time
181 | " diagnostics appear/become resolved.
182 | if has("nvim-0.5.0") || has("patch-8.1.1564")
183 | " Recently vim can merge signcolumn and number column into one
184 | set signcolumn=number
185 | else
186 | set signcolumn=yes
187 | endif
188 |
189 | " Use tab for trigger completion with characters ahead and navigate.
190 | " NOTE: Use command ':verbose imap ' to make sure tab is not mapped by
191 | " other plugin before putting this into your config.
192 | inoremap
193 | \ pumvisible() ? "\" :
194 | \ CheckBackspace() ? "\" :
195 | \ coc#refresh()
196 | inoremap pumvisible() ? "\" : "\"
197 |
198 | function! CheckBackspace() abort
199 | let col = col('.') - 1
200 | return !col || getline('.')[col - 1] =~# '\s'
201 | endfunction
202 |
203 | " Use to trigger completion.
204 | if has('nvim')
205 | inoremap coc#refresh()
206 | else
207 | inoremap coc#refresh()
208 | endif
209 |
210 | " Make auto-select the first completion item and notify coc.nvim to
211 | " format on enter, could be remapped by other vim plugin
212 | inoremap pumvisible() ? coc#_select_confirm()
213 | \: "\u\\=coc#on_enter()\"
214 |
215 | " Use `[g` and `]g` to navigate diagnostics
216 | " Use `:CocDiagnostics` to get all diagnostics of current buffer in location list.
217 | nmap [g (coc-diagnostic-prev)
218 | nmap ]g (coc-diagnostic-next)
219 |
220 | " GoTo code navigation.
221 | nmap gd (coc-definition)
222 | nmap gy (coc-type-definition)
223 | nmap gi (coc-implementation)
224 | nmap gr (coc-references)
225 |
226 | " Use K to show documentation in preview window.
227 | nnoremap K :call ShowDocumentation()
228 |
229 | function! ShowDocumentation()
230 | if CocAction('hasProvider', 'hover')
231 | call CocActionAsync('doHover')
232 | else
233 | call feedkeys('K', 'in')
234 | endif
235 | endfunction
236 |
237 | " Highlight the symbol and its references when holding the cursor.
238 | autocmd CursorHold * silent call CocActionAsync('highlight')
239 |
240 | " Symbol renaming.
241 | nmap rn (coc-rename)
242 |
243 | " Formatting selected code.
244 | xmap f (coc-format-selected)
245 | nmap f (coc-format-selected)
246 |
247 | augroup mygroup
248 | autocmd!
249 | " Setup formatexpr specified filetype(s).
250 | autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
251 | " Update signature help on jump placeholder.
252 | autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
253 | augroup end
254 |
255 | " Applying codeAction to the selected region.
256 | " Example: `aap` for current paragraph
257 | xmap a (coc-codeaction-selected)
258 | nmap a (coc-codeaction-selected)
259 |
260 | " Remap keys for applying codeAction to the current buffer.
261 | nmap ac (coc-codeaction)
262 | " Apply AutoFix to problem on the current line.
263 | nmap qf (coc-fix-current)
264 |
265 | " Run the Code Lens action on the current line.
266 | nmap cl (coc-codelens-action)
267 |
268 | " Map function and class text objects
269 | " NOTE: Requires 'textDocument.documentSymbol' support from the language server.
270 | xmap if (coc-funcobj-i)
271 | omap if (coc-funcobj-i)
272 | xmap af (coc-funcobj-a)
273 | omap af (coc-funcobj-a)
274 | xmap ic (coc-classobj-i)
275 | omap ic (coc-classobj-i)
276 | xmap ac (coc-classobj-a)
277 | omap ac (coc-classobj-a)
278 |
279 | " Remap and for scroll float windows/popups.
280 | if has('nvim-0.4.0') || has('patch-8.2.0750')
281 | nnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\"
282 | nnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\"
283 | inoremap coc#float#has_scroll() ? "\=coc#float#scroll(1)\" : "\"
284 | inoremap coc#float#has_scroll() ? "\=coc#float#scroll(0)\" : "\"
285 | vnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\"
286 | vnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\"
287 | endif
288 |
289 | " Use CTRL-S for selections ranges.
290 | " Requires 'textDocument/selectionRange' support of language server.
291 | nmap (coc-range-select)
292 | xmap (coc-range-select)
293 |
294 | " Add `:Format` command to format current buffer.
295 | command! -nargs=0 Format :call CocActionAsync('format')
296 |
297 | " Add `:Fold` command to fold current buffer.
298 | command! -nargs=? Fold :call CocAction('fold', )
299 |
300 | " Add `:OR` command for organize imports of the current buffer.
301 | command! -nargs=0 OR :call CocActionAsync('runCommand', 'editor.action.organizeImport')
302 |
303 | " Add (Neo)Vim's native statusline support.
304 | " NOTE: Please see `:h coc-status` for integrations with external plugins that
305 | " provide custom statusline: lightline.vim, vim-airline.
306 | set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
307 |
308 | " Mappings for CoCList
309 | " Show all diagnostics.
310 | nnoremap a :CocList diagnostics
311 | " Manage extensions.
312 | nnoremap e :CocList extensions
313 | " Show commands.
314 | nnoremap c :CocList commands
315 | " Find symbol of current document.
316 | nnoremap o :CocList outline
317 | " Search workspace symbols.
318 | nnoremap s :CocList -I symbols
319 | " Do default action for next item.
320 | nnoremap j :CocNext
321 | " Do default action for previous item.
322 | nnoremap k :CocPrev
323 | " Resume latest coc list.
324 | nnoremap p :CocListResume
325 |
326 |
327 | " Coc Snippets """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
328 |
329 | " Use for trigger snippet expand.
330 | imap (coc-snippets-expand)
331 |
332 | " Use for select text for visual placeholder of snippet.
333 | vmap (coc-snippets-select)
334 |
335 | " Use for jump to next placeholder, it's default of coc.nvim
336 | let g:coc_snippet_next = ''
337 |
338 | " Use for jump to previous placeholder, it's default of coc.nvim
339 | let g:coc_snippet_prev = ''
340 |
341 | " Use for both expand and jump (make expand higher priority.)
342 | imap (coc-snippets-expand-jump)
343 |
344 | " Use x for convert visual selected code to snippet
345 | xmap x (coc-convert-snippet)
346 |
347 | inoremap
348 | \ pumvisible() ? coc#_select_confirm() :
349 | \ coc#expandableOrJumpable() ? "\=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\" :
350 | \ check_back_space() ? "\" :
351 | \ coc#refresh()
352 |
353 | function! s:check_back_space() abort
354 | let col = col('.') - 1
355 | return !col || getline('.')[col - 1] =~# '\s'
356 | endfunction
357 |
358 | let g:coc_snippet_next = ''
359 |
360 |
361 | " Coc Explorer """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
362 | :nnoremap e :CocCommand explorer
363 |
364 | let g:coc_explorer_global_presets = {
365 | \ '.vim': {
366 | \ 'root-uri': '~/.vim',
367 | \ },
368 | \ 'cocConfig': {
369 | \ 'root-uri': '~/.config/coc',
370 | \ },
371 | \ 'tab': {
372 | \ 'position': 'tab',
373 | \ 'quit-on-open': v:true,
374 | \ },
375 | \ 'tab:$': {
376 | \ 'position': 'tab:$',
377 | \ 'quit-on-open': v:true,
378 | \ },
379 | \ 'floating': {
380 | \ 'position': 'floating',
381 | \ 'open-action-strategy': 'sourceWindow',
382 | \ },
383 | \ 'floatingTop': {
384 | \ 'position': 'floating',
385 | \ 'floating-position': 'center-top',
386 | \ 'open-action-strategy': 'sourceWindow',
387 | \ },
388 | \ 'floatingLeftside': {
389 | \ 'position': 'floating',
390 | \ 'floating-position': 'left-center',
391 | \ 'floating-width': 50,
392 | \ 'open-action-strategy': 'sourceWindow',
393 | \ },
394 | \ 'floatingRightside': {
395 | \ 'position': 'floating',
396 | \ 'floating-position': 'right-center',
397 | \ 'floating-width': 50,
398 | \ 'open-action-strategy': 'sourceWindow',
399 | \ },
400 | \ 'simplify': {
401 | \ 'file-child-template': '[selection | clip | 1] [indent][icon | 1] [filename omitCenter 1]'
402 | \ },
403 | \ 'buffer': {
404 | \ 'sources': [{'name': 'buffer', 'expand': v:true}]
405 | \ },
406 | \ }
407 |
408 | " Use preset argument to open it
409 | nnoremap ed :CocCommand explorer --preset .vim
410 | nnoremap ef :CocCommand explorer --preset floating
411 | nnoremap ec :CocCommand explorer --preset cocConfig
412 | nnoremap eb :CocCommand explorer --preset buffer
413 |
414 | " List all presets
415 | nnoremap el :CocList explPresets
416 |
--------------------------------------------------------------------------------
/translation/README_PT-BR.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # Bem-vindo ao meu 🌟 Roadmap Full Stack Python 🌟 (que também é meu repositório número 100 no GitHub - no final de 2021)
4 |
5 | ## Se você está lendo antes de 01/01/2022, desejo um Feliz Ano Novo e muita saúde! 🙏
6 |
7 | ## De qualquer forma, chega de apresentações e vamos ao que interessa!
8 |
9 | # Atalhos
10 |
11 | ## 🧑🎨 [Trilha Front-End Development](https://developer.mozilla.org/en-US/docs/Web)
12 |
13 | - A base da trilha:
14 |
15 | ° [](https://developer.mozilla.org/en-US/docs/Web/HTML)
16 | [](https://developer.mozilla.org/en-US/docs/Web/CSS)
17 | [](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
18 |
19 | - Frameworks CSS Populares:
20 |
21 | ° [](https://tailwindcss.com/docs/installation)
22 | [](https://sass-lang.com/guide)
23 | [](https://lesscss.org/features/)
24 |
25 | - Gerenciadores de Pacote JS:
26 |
27 | ° [](https://docs.npmjs.com/)
28 | [](https://yarnpkg.com/)
29 |
30 | - Frameworks Front-End Completos:
31 |
32 | ° [](https://www.gatsbyjs.com/how-it-works/)
33 | [](https://getbootstrap.com/docs/5.0/getting-started/introduction/)
34 |
35 | - Frameworks JS:
36 |
37 | ° [](https://reactjs.org/docs/getting-started.html)
38 | [](https://angular.io/docs)
39 | [](https://vuejs.org/v2/guide/)
40 |
41 | ° [](https://docs.nestjs.com/)
42 | [](https://nextjs.org/docs/getting-started)
43 | [](https://nuxtjs.org/docs/get-started/installation)
44 |
45 | ### OBS.: Meu conselho é que você deve dominar o básico e selecionar 1 framework de cada subtópico para se especializar (lembre-se: o foco aqui é Python para a Web, não se preocupe tanto com a questão do front-end, a menos que você deseja ser um desenvolvedor Full Stack com ênfase em Front End).
46 |
47 | ## 🧠 [Trilha Desenvolvimento Back-End](https://developer.mozilla.org/en-US/docs/Learn/Server-side)
48 |
49 | - 🌎 trilha Django
50 |
51 | ° [](https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django)
52 | [](https://docs.djangoproject.com/en/4.0/)
53 | [](https://www.django-rest-framework.org/#quickstart)
54 |
55 | ° [🕶 Awesome Django](https://github.com/wsvincent/awesome-django)
56 | [🕶 Awesome Django Rest Framework](https://github.com/nioperas06/awesome-django-rest-framework)
57 | [🖥 Django CMS](https://docs.google.com/document/d/1f5eWyD_sxUSok436fSqDI0NHcpQ88CXQoDoQm9ZXb0s/edit)
58 |
59 | ### Ok, pode parecer pouco para estudar, mas o ecossistema do Django é vasto (pode levar meses para desenvolver uma boa base e gerar alguns pequenos projetos). Mas se você for paciente, esse tempo gasto valerá a pena! ✌️😉
60 |
61 | - 🌶 trilha Flask
62 |
63 | ° [](https://flask.palletsprojects.com/en/2.0.x/)
64 | [🕶 Awesome Django](https://github.com/humiaozuzu/awesome-flask)
65 | [🌶🔏 Flask RESTful](https://flask-restful.readthedocs.io/en/latest/)
66 |
67 | ### Flask é geralmente o segundo framework Python mais usado na web (perdendo apenas para Django); por alguns motivos: além de ser mais simples que seu concorrente (Django), oferece mais liberdade e flexibilidade ao desenvolvedor. Muito adequado para aplicativos da web de pequeno porte.
68 |
69 | - ⚡️ trilha FastAPI:
70 |
71 | ° [](https://fastapi.tiangolo.com/)
72 | [](https://github.com/tiangolo/fastapi)
73 | [🕶 Awesome Django](https://github.com/mjhea0/awesome-fastapi)
74 |
75 | ### FastAPI (diferente de Flask e Django), foi feito pensando em tornar API's mais fáceis de construir - mas é altamente recomendado no mercado de tecnologia, então acho bom dedicar um tempo para estudá-lo!
76 |
77 | ## 🛢 [Trilha Banco de Dados](https://www.oracle.com/database/what-is-database/)
78 |
79 | - 🧮 Banco de Dados (Tipo: Estruturado)
80 |
81 | ° [](https://www.microsoft.com/pt-br/sql-server/sql-server-downloads)
82 | [](https://dev.mysql.com/doc/mysql-shell/8.0/en/)
83 | [](https://www.postgresql.org/docs/current/)
84 | [](https://sqlite.org/about.html)
85 |
86 | - 🗂 Banco de Dados (Tipo: Não Estruturado - NoSQL)
87 |
88 | ° [](https://docs.mongodb.com/)
89 | [](https://redis.io/documentation)
90 | [](https://cassandra.apache.org/doc/latest/)
91 |
92 | - 🔎 ORM's
93 |
94 | ° [](https://www.prisma.io/docs/getting-started/quickstart)
95 | [](https://sequelize.org/v7/)
96 |
97 | ### Banco de dados é uma parte essencial para o desenvolvimento de todos os tipos de aplicativos. Aqui você pode escolher qualquer uma das alternativas apresentadas, não terá um impacto tão grande em sua capacidade de codificação (mas esteja ciente do que o mercado pode exigir).
98 |
99 | ## 🔐 [Trilha Infraestrutura](https://www.ibm.com/topics/infrastructure)
100 |
101 | - 📜 trilha CI/CD
102 |
103 | ° [](https://circleci.com/docs/2.0/)
104 | [](https://docs.gitlab.com/ee/ci/index.html)
105 | [](https://docs.github.com/pt/actions)
106 | [](https://docs.travis-ci.com/user/tutorial/?utm_source=help-page&utm_medium=travisweb)
107 |
108 | - ☁️ trilha Serviços em Nuvem
109 |
110 | ° [](https://docs.aws.amazon.com/index.html?nc2=h_ql_doc_do_v)
111 | [](https://azure.microsoft.com/en-us/get-started/#works)
112 | [](https://cloud.google.com/gcp/getting-started)
113 |
114 | - 🏢 trilha Hospedagem(Deploy)
115 |
116 | ° [](https://firebase.google.com/docs)
117 | [](https://devcenter.heroku.com/categories/reference)
118 | [](https://docs.netlify.com/)
119 | [](https://vercel.com/docs)
120 |
121 | - 📝 trilha Controle de Versão
122 |
123 | ° [](https://git-scm.com/docs)
124 | [](https://docs.github.com/en)
125 | [](https://about.gitlab.com/get-started/)
126 | [](https://bitbucket.org/product/guides)
127 |
128 | - 🚛 trilha Gerenciamento de Containers
129 |
130 | ° [](https://docs.docker.com/get-docker/)
131 | [](https://kubernetes.io/docs/home/)
132 |
133 | ### OBS.: Git é uma ferramenta de desktop que usamos para gerenciar versões de projetos em nossa máquina local. as outras ferramentas são serviços em nuvem que permitem ao desenvolvedor gerenciar projetos e mudanças em um ambiente virtual.
134 |
135 | ## [Trilha Inteligência Artificial](https://www.oracle.com/artificial-intelligence/what-is-ai/)
136 |
137 | - trilha Análise de Dados & Ciência de Dados:
138 |
139 | ° [](https://numpy.org/doc/stable/user/absolute_beginners.html)
140 | [](https://pandas.pydata.org/docs/user_guide/index.html)
141 | [](https://dash.plotly.com/)
142 |
143 | [](https://www.tensorflow.org/learn)
144 | [](https://keras.io/getting_started/)
145 |
146 | ### Então caro leitor, preciso informa-lo do seguinte: Com o advento e avanços da Inteligência Artificial, nós desenvolvedores precisamos estar antenados quanto a isso. Ainda mais agora com a integração entre Web e Redes Neurais cada vez mais entrelaçados.
147 |
148 | ### E além disso, o Python é o mais querido e indicado quando o assunto é Análise e Ciência dos dados! Então, fique esperto (pode demorar para desenvolver sua stack, mas o conhecimento na área de dados vai te beneficiar no longo prazo).
149 |
150 | ## 👨💻 Minha Stack
151 |
152 | ### No momento ainda estou trabalhando na base. Depois de muita pesquisa, teste e experimentação, escolhi essas tecnologias para compor minha Stack:
153 |
154 | No Front-End:
155 |
156 | 
157 | 
158 | 
159 |
160 | 
161 | 
162 | 
163 |
164 | No Back-End:
165 |
166 | 
167 | 
168 |
169 | 
170 | 
171 |
172 | Bancos de Dados:
173 |
174 | 
175 | 
176 | 
177 |
178 | Na Infraestrutura:
179 |
180 | 
181 | 
182 |
183 | 
184 | 
185 |
186 | 
187 | 
188 |
189 | 
190 | 
191 |
192 | Na Ciência/Analise de Dados:
193 |
194 | 
195 | 
196 | 
197 |
198 | ### O repositório que me ajudou na construção desse roadmap: [Markdown Badges of Roadmap](https://github.com/Ileriayo/markdown-badges)
199 |
--------------------------------------------------------------------------------
/translation/contributing.md:
--------------------------------------------------------------------------------
1 | ## Como contribuir:
2 |
3 | ### Bem, como esse projeto é baseado em markdown, não há regras de código ou exigência de padrões para codificação.
4 |
5 | ### Apenas, peço para que sigas o formato como esse repositório foi elaborado:
6 |
7 | ° 1 - Usando os distintivos do repositório comentado no fim do README.md.
8 |
9 | ° 2 - Cada linha poderá conter entre 2 a 4 distintivos.
--------------------------------------------------------------------------------