<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Angela</title>
    <description>The latest articles on DEV Community by Angela (@angelacpd).</description>
    <link>https://dev.to/angelacpd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F421858%2Ffcd12c1e-1010-4e72-8e64-baed821d407f.jpeg</url>
      <title>DEV Community: Angela</title>
      <link>https://dev.to/angelacpd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/angelacpd"/>
    <language>en</language>
    <item>
      <title>Useful Git commands</title>
      <dc:creator>Angela</dc:creator>
      <pubDate>Mon, 13 Feb 2023 13:50:46 +0000</pubDate>
      <link>https://dev.to/angelacpd/useful-git-commands-efg</link>
      <guid>https://dev.to/angelacpd/useful-git-commands-efg</guid>
      <description>&lt;p&gt;** Set up the URL to the new repo **&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git remote set-url origin &lt;a href="mailto:git@github.com"&gt;git@github.com&lt;/a&gt;:my-profile/new-repo.git&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Log&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git log --oneline --graph --all&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Revert to Head&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you are not sure of the hash of the last commit, you can go back to the commit before the merge&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git reset --hard HEAD~1&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To update remote branch:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git push -f&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Revert a commit&lt;/strong&gt; &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git reset --hard [commit ID]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To update remote branch:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git push -f&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I've used this command to revert to a previous commit after a merging error. It did not removed files that were marked as added.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Revert a single file to a specific version&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Find the commit ID of the version of the file you want to revert to.&lt;/li&gt;
&lt;li&gt;Find the path to the file you want to revert from the working directory.&lt;/li&gt;
&lt;li&gt;In the terminal, change directories to the working directory.
-Type:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;git checkout [commit ID] -- path/to/file and hit enter.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Commit the change to the reverted file.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Changes to be committed:&lt;br&gt;
  (use "git restore --staged ..." to unstage)&lt;br&gt;
    modified:  app/x.py&lt;/p&gt;

&lt;p&gt;Changes not staged for commit:&lt;br&gt;
  (use "git add ..." to update what will be committed)&lt;br&gt;
  (use "git restore ..." to discard changes in working directory)&lt;br&gt;
    modified:   app/x.py&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Commit empty&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git commit --allow-empty -m "[notest]"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Add specific changes&lt;/strong&gt;&lt;br&gt;
git add --patch&lt;/p&gt;

&lt;p&gt;Useful links:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/git-undo-merge-how-to-revert-the-last-merge-commit-in-git/#:~:text=How%20to%20Undo%20a%20Merge%20Commit%20in%20Git,git%20log%20or%20git%20reflog%20." rel="noopener noreferrer"&gt;freeCodeCamp undo merge&lt;/a&gt;&lt;/p&gt;

</description>
      <category>git</category>
    </item>
    <item>
      <title>Bootcamp Cloud Data Engineer</title>
      <dc:creator>Angela</dc:creator>
      <pubDate>Mon, 08 Nov 2021 12:46:47 +0000</pubDate>
      <link>https://dev.to/angelacpd/bootcamp-cloud-data-engineer-27eh</link>
      <guid>https://dev.to/angelacpd/bootcamp-cloud-data-engineer-27eh</guid>
      <description>&lt;p&gt;Cognizant Cloud Data Engineer&lt;br&gt;
Bem vindo ao seu bootcamp focado em engenharia de dados com Cloud, crie soluções Python, uma das principais linguagens de programação da atualidade, aprenda os principais conceitos de big data e dê seus primeiros passos no ambiente de nuvem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://digitalinnovation.one/bootcamps/cognizant-cloud-data-engineer?ref=certificate/CC1C82A0" rel="noopener noreferrer"&gt;Cognizant Cloud Data Engineer&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Python custom sum to speed up summation of range objects</title>
      <dc:creator>Angela</dc:creator>
      <pubDate>Sat, 06 Mar 2021 19:00:28 +0000</pubDate>
      <link>https://dev.to/angelacpd/summation-of-python-object-range-5a2b</link>
      <guid>https://dev.to/angelacpd/summation-of-python-object-range-5a2b</guid>
      <description>&lt;p&gt;If you have an object of type range in python, you can use the arithmetic progression formula to perform the sum of its elements.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sn = (n/2) [2a + (n-1)d]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Where,&lt;br&gt;
n: total number of elements&lt;br&gt;
a: first element&lt;br&gt;
d: common difference&lt;/p&gt;

&lt;p&gt;Create a custom sum in python to speed up summation of objects of type range.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;custom_sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;start&lt;/span&gt;
        &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;step&lt;/span&gt;
        &lt;span class="nf"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>python</category>
      <category>algorithms</category>
    </item>
    <item>
      <title>Stalin sort</title>
      <dc:creator>Angela</dc:creator>
      <pubDate>Sat, 06 Mar 2021 15:35:32 +0000</pubDate>
      <link>https://dev.to/angelacpd/stalin-sort-18gc</link>
      <guid>https://dev.to/angelacpd/stalin-sort-18gc</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Stalin sort
# Check if the list is ordered, if it is not, remove the element.
&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;


&lt;span class="c1"&gt;# Code
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;stalin_sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_a&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;len_a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_a&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;the_end&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;
    &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;the_end&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;list_a&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;list_a&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
            &lt;span class="n"&gt;list_a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pop&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;len_a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_a&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;len_a&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;the_end&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
            &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;len_a&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;the_end&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;list_a&lt;/span&gt;


&lt;span class="c1"&gt;# Input
&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;  &lt;span class="c1"&gt;# Elements
&lt;/span&gt;&lt;span class="n"&gt;A&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;randint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;low&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;high&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;A&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;A&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Input: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;A&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Output
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Output: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;stalin_sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;A&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>python</category>
      <category>algorithms</category>
    </item>
    <item>
      <title>Generate random passwords in Python using secrets</title>
      <dc:creator>Angela</dc:creator>
      <pubDate>Sat, 06 Feb 2021 23:45:15 +0000</pubDate>
      <link>https://dev.to/angelacpd/generate-random-passwords-in-python-using-secrets-33hb</link>
      <guid>https://dev.to/angelacpd/generate-random-passwords-in-python-using-secrets-33hb</guid>
      <description>&lt;p&gt;Read the docs:  &lt;a href="https://docs.python.org/3/library/secrets.html" rel="noopener noreferrer"&gt;https://docs.python.org/3/library/secrets.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I copied this example from python docs and added special characters to the password.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;secrets&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;string&lt;/span&gt;


&lt;span class="n"&gt;alphabet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ascii_letters&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;digits&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;!@#$%^&amp;amp;*()-+[]&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;password&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;''&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;secrets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;choice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;alphabet&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="nf"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;any&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;islower&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="nf"&gt;any&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isupper&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="nf"&gt;any&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isalnum&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="nf"&gt;any&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ow"&gt;not&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isalnum&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="nf"&gt;any&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isdigit&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;)):&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>python</category>
      <category>security</category>
    </item>
    <item>
      <title>Bootcamp Java Developer Day #11</title>
      <dc:creator>Angela</dc:creator>
      <pubDate>Sat, 03 Oct 2020 02:02:52 +0000</pubDate>
      <link>https://dev.to/angelacpd/bootcamp-java-developer-day-11-2b86</link>
      <guid>https://dev.to/angelacpd/bootcamp-java-developer-day-11-2b86</guid>
      <description>&lt;h4&gt;
  
  
  Day 11:
&lt;/h4&gt;

&lt;p&gt;Finished one course and solved 5 challenges level easy.&lt;/p&gt;

&lt;h4&gt;
  
  
  8) Finished: Implementing Collections and Streams with Java
&lt;/h4&gt;

&lt;p&gt;Today's topic were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Optional&lt;br&gt;
java.util.Optional&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Streams&lt;br&gt;
stream().count());&lt;br&gt;
stream().max(Comparator.comparingInt(String::length))&lt;br&gt;
stream().filter()&lt;br&gt;
collect(Collectors.toList())&lt;br&gt;
stream().map()&lt;br&gt;
stream().limit(3).collect(Collectors.toList())&lt;br&gt;
stream().peek()&lt;br&gt;
collect(Collectors.joining(", "))&lt;br&gt;
collect(Collectors.toSet())&lt;br&gt;
collect(Collectors.groupingBy())&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  9) Arithmetic Fundaments in Java
&lt;/h4&gt;

&lt;p&gt;This part was composed by five challenges about arithmetic operations. Level easy.&lt;/p&gt;

</description>
      <category>java</category>
      <category>bootcamp</category>
    </item>
    <item>
      <title>Bootcamp Java Developer Day #10</title>
      <dc:creator>Angela</dc:creator>
      <pubDate>Fri, 02 Oct 2020 01:13:50 +0000</pubDate>
      <link>https://dev.to/angelacpd/bootcamp-java-developer-day-10-bn1</link>
      <guid>https://dev.to/angelacpd/bootcamp-java-developer-day-10-bn1</guid>
      <description>&lt;h4&gt;
  
  
  Day 10:
&lt;/h4&gt;

&lt;p&gt;Resuming to bootcamp...&lt;/p&gt;

&lt;p&gt;I only studied one topic today. There is always a small test at the end of each topic and I bombed it five times. I think I'm tired and I'm not absorbing much content today.&lt;/p&gt;

&lt;p&gt;The Discrete Mathematics test had two tough questions for me, but I think I did well. Let's see when the Professor release the grades. &lt;/p&gt;

&lt;h4&gt;
  
  
  8) Ongoing: Implementing Collections and Streams with Java
&lt;/h4&gt;

&lt;p&gt;Today's topic were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Comparator
java.util.Comparator;
java.util.Comparable
+
java.util.ArrayList;
java.util.Collections;
java.util.List;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We used these interfaces to order lists. I didn't try to code bubble sort, insertion sort or any other sorting algorithm in Java for comparison. I've done them in python, maybe I can rewrite them in Java in the future.&lt;/p&gt;

</description>
      <category>java</category>
      <category>bootcamp</category>
    </item>
    <item>
      <title>Bootcamp Java Developer: Pause...</title>
      <dc:creator>Angela</dc:creator>
      <pubDate>Tue, 29 Sep 2020 19:59:43 +0000</pubDate>
      <link>https://dev.to/angelacpd/bootcamp-java-developer-pause-f5e</link>
      <guid>https://dev.to/angelacpd/bootcamp-java-developer-pause-f5e</guid>
      <description>&lt;p&gt;I have to pause the bootcamp because I'm going to have a test on Fundaments of Discrete Mathematics on Thursday morning.&lt;/p&gt;

</description>
      <category>java</category>
      <category>bootcamp</category>
    </item>
    <item>
      <title>Bootcamp Java Developer Day #9</title>
      <dc:creator>Angela</dc:creator>
      <pubDate>Tue, 29 Sep 2020 01:18:52 +0000</pubDate>
      <link>https://dev.to/angelacpd/bootcamp-java-developer-day-9-57l7</link>
      <guid>https://dev.to/angelacpd/bootcamp-java-developer-day-9-57l7</guid>
      <description>&lt;h4&gt;
  
  
  Day 9:
&lt;/h4&gt;

&lt;p&gt;Still learning about Collections in Java. Somethings I already knew from python, but I realized I need to study binary trees.&lt;/p&gt;

&lt;h4&gt;
  
  
  8) Ongoing: Implementing Collections and Streams with Java
&lt;/h4&gt;

&lt;p&gt;Today's topics were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Queue&lt;br&gt;
java.util.LinkedList;&lt;br&gt;
java.util.Queue;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set&lt;br&gt;
java.util.Set&lt;br&gt;
java.util.HashSet&lt;br&gt;
java.util.TreeSet&lt;br&gt;
java.util.LinkedHashSet&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Map&lt;br&gt;
java.util.Map;&lt;br&gt;
java.util.HashMap&lt;br&gt;
java.util.TreeMap&lt;br&gt;
java.util.HashTable&lt;br&gt;
java.util.Iterator&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>java</category>
      <category>bootcamp</category>
    </item>
    <item>
      <title>Bootcamp Java Developer Day #8</title>
      <dc:creator>Angela</dc:creator>
      <pubDate>Mon, 28 Sep 2020 01:19:47 +0000</pubDate>
      <link>https://dev.to/angelacpd/bootcamp-java-developer-day-8-153j</link>
      <guid>https://dev.to/angelacpd/bootcamp-java-developer-day-8-153j</guid>
      <description>&lt;h4&gt;
  
  
  Day 8:
&lt;/h4&gt;

&lt;p&gt;Done the first challenges + Started another course. This one is focused on Java Collections and Streams. &lt;/p&gt;

&lt;h4&gt;
  
  
  7) Completed: Introduction to Java Programming
&lt;/h4&gt;

&lt;p&gt;This part was composed by three challenges level super easy. I aced them fast.&lt;/p&gt;

&lt;h4&gt;
  
  
  8) Started: Implementing Collections and Streams with Java
&lt;/h4&gt;

&lt;p&gt;The first topic is List and I used these modules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;java.util.ArrayList;&lt;/li&gt;
&lt;li&gt;java.util.Collections;&lt;/li&gt;
&lt;li&gt;java.util.Iterator;&lt;/li&gt;
&lt;li&gt;java.util.List; &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>java</category>
      <category>bootcamp</category>
    </item>
    <item>
      <title>Bootcamp Java Developer Day #7</title>
      <dc:creator>Angela</dc:creator>
      <pubDate>Sun, 27 Sep 2020 01:44:21 +0000</pubDate>
      <link>https://dev.to/angelacpd/bootcamp-java-developer-day-6-2nk8</link>
      <guid>https://dev.to/angelacpd/bootcamp-java-developer-day-6-2nk8</guid>
      <description>&lt;h4&gt;
  
  
  Day 7:
&lt;/h4&gt;

&lt;p&gt;Yay! Finished the first course in Java (9 hours). It took me a lot of time to work with checkstyle and pmd, but they are working now. :D&lt;br&gt;
I'm tired, so I'm not going into the specifics.&lt;br&gt;
I think this course (from Digital Innovation One) is a good introduction. I think the Array and Exception topics were weak though.&lt;/p&gt;

&lt;h4&gt;
  
  
  6) Completed: Basic Development in Java
&lt;/h4&gt;

&lt;p&gt;Topics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Strings, java.lang&lt;/li&gt;
&lt;li&gt;Conditionals, operators, loops&lt;/li&gt;
&lt;li&gt;Arrays&lt;/li&gt;
&lt;li&gt;Exceptions&lt;/li&gt;
&lt;li&gt;Object Oriented with Java&lt;/li&gt;
&lt;li&gt;SOLID&lt;/li&gt;
&lt;li&gt;Date: DateFormat, LocalDateTime, etc &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>java</category>
      <category>bootcamp</category>
    </item>
    <item>
      <title>Bootcamp Java Developer Day #6</title>
      <dc:creator>Angela</dc:creator>
      <pubDate>Sat, 26 Sep 2020 01:50:51 +0000</pubDate>
      <link>https://dev.to/angelacpd/bootcamp-java-developer-day-6-4m8a</link>
      <guid>https://dev.to/angelacpd/bootcamp-java-developer-day-6-4m8a</guid>
      <description>&lt;h4&gt;
  
  
  Day 6:
&lt;/h4&gt;

&lt;h4&gt;
  
  
  6) Ongoing: Basic Development in Java
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Topic 4: Characteristics of Java language&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Created a Java project in IntelliJ with examples to learn some characteristics of the language, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Classes&lt;/li&gt;
&lt;li&gt;Types: primitives, nonprimitives, wrappers, strong/weak type, static type&lt;/li&gt;
&lt;li&gt;Access modifiers: public, private, protected, default&lt;/li&gt;
&lt;li&gt;Abstract&lt;/li&gt;
&lt;li&gt;Final&lt;/li&gt;
&lt;li&gt;Interfaces&lt;/li&gt;
&lt;li&gt;Enum&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>java</category>
      <category>bootcamp</category>
    </item>
  </channel>
</rss>
