<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>aleksey_dev_grin</title><subtitle>Хирургия -&gt; Секс-шопы -&gt; Прогрмаммирование (пре-джун *LOL)</subtitle><author><name>aleksey_dev_grin</name></author><id>https://teletype.in/atom/aleksey_dev_grin</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/aleksey_dev_grin?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@aleksey_dev_grin?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aleksey_dev_grin"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/aleksey_dev_grin?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-05-01T02:16:37.762Z</updated><entry><id>aleksey_dev_grin:3zayzw3ejkL</id><link rel="alternate" type="text/html" href="https://teletype.in/@aleksey_dev_grin/3zayzw3ejkL?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aleksey_dev_grin"></link><title>PostgreSQL / helpful commands</title><published>2022-05-21T09:06:59.526Z</published><updated>2022-05-25T17:24:26.123Z</updated><summary type="html">SELECT version();      #From PostgreSQL</summary><content type="html">
  &lt;ul id=&quot;sedy&quot;&gt;
    &lt;li id=&quot;gHpA&quot;&gt;To know version&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;AtWK&quot;&gt;&lt;code&gt;SELECT version();      #From PostgreSQL&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;u3Yl&quot;&gt;&lt;code&gt;psql -V                #From bash&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;gBAj&quot;&gt;&lt;/p&gt;
  &lt;ul id=&quot;7Lqk&quot;&gt;
    &lt;li id=&quot;W3nw&quot;&gt;HELP!&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;W6M8&quot;&gt;&lt;code&gt;psql --help&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;lGKo&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;yMPj&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;Jswp&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;bIKg&quot;&gt;To &lt;a href=&quot;https://www.postgresqltutorial.com/postgresql-describe-table/&quot; target=&quot;_blank&quot;&gt;describe a table&lt;/a&gt; such as a column, type, modifiers of columns, etc., you use the following command:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;BGSU&quot;&gt;&lt;code&gt;\d table_name&lt;/code&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;iWuH&quot;&gt;&lt;/p&gt;
  &lt;ul id=&quot;xrln&quot;&gt;
    &lt;li id=&quot;63aR&quot;&gt;List available schema&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;nxif&quot;&gt;To list all &lt;a href=&quot;https://www.postgresqltutorial.com/postgresql-schema/&quot; target=&quot;_blank&quot;&gt;schemas&lt;/a&gt; of the currently connected database, you use the &lt;code&gt;\dn&lt;/code&gt; command.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;dXFO&quot;&gt;&lt;code&gt;\dn&lt;/code&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Nx3B&quot;&gt;&lt;/p&gt;
  &lt;ul id=&quot;P0pF&quot;&gt;
    &lt;li id=&quot;t6rQ&quot;&gt;List available functions&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;mR7K&quot;&gt;To list available functions in the current database, you use the &lt;code&gt;\df&lt;/code&gt; command.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;mWWo&quot;&gt;&lt;code&gt;\df&lt;/code&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Epm8&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;QVzj&quot;&gt;Quit psql&lt;/p&gt;
  &lt;p id=&quot;POIB&quot;&gt;To quit psql, you use &lt;code&gt;\q&lt;/code&gt; command and press &lt;code&gt;enter&lt;/code&gt; to exit psql.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;VPLq&quot;&gt;&lt;code&gt;\q&lt;/code&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;X4DE&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;F5OP&quot;&gt;User&lt;/h2&gt;
  &lt;ul id=&quot;aVRu&quot;&gt;
    &lt;li id=&quot;MGsK&quot;&gt;to list all user accounts (or roles) in the current PostgreSQL database&lt;/li&gt;
  &lt;/ul&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;q00m&quot;&gt;&lt;code&gt;\du&lt;/code&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;rI2i&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;keRr&quot;&gt;Database&lt;/h2&gt;
  &lt;ul id=&quot;K52l&quot;&gt;
    &lt;li id=&quot;XXdN&quot;&gt;List available databases&lt;/li&gt;
  &lt;/ul&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;NXme&quot;&gt;&lt;code&gt;\l&lt;/code&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;oUyX&quot;&gt;&lt;/p&gt;
  &lt;ul id=&quot;Ld0X&quot;&gt;
    &lt;li id=&quot;sfHt&quot;&gt;List available tables&lt;/li&gt;
  &lt;/ul&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;YMn2&quot;&gt;&lt;code&gt;\dt&lt;/code&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;K6a1&quot;&gt;&lt;/p&gt;
  &lt;ul id=&quot;Xv7n&quot;&gt;
    &lt;li id=&quot;P6aF&quot;&gt;Connect co another DB&lt;/li&gt;
  &lt;/ul&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;6D1L&quot;&gt;&lt;code&gt;\c database_name&lt;/code&gt;&lt;/p&gt;
    &lt;p id=&quot;c5gl&quot;&gt;&lt;code&gt;\connect databese_name&lt;/code&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Z6qo&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;RlyY&quot;&gt;To create a new database:&lt;/p&gt;
  &lt;pre id=&quot;uqUN&quot;&gt;CREATE DATABASE lusiadas;&lt;/pre&gt;
  &lt;p id=&quot;qqSc&quot;&gt;To create a database &lt;code&gt;sales&lt;/code&gt; owned by user &lt;code&gt;salesapp&lt;/code&gt; with a default tablespace of &lt;code&gt;salesspace&lt;/code&gt;:&lt;/p&gt;
  &lt;pre id=&quot;lk5w&quot;&gt;CREATE DATABASE sales OWNER salesapp TABLESPACE salesspace;&lt;/pre&gt;
  &lt;p id=&quot;k3UQ&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;GDwt&quot;&gt;Create database:&lt;/p&gt;
  &lt;pre id=&quot;m2SS&quot;&gt;CREATE USER jonathan;&lt;/pre&gt;
  &lt;p id=&quot;gmly&quot;&gt;Create a user with a password:&lt;/p&gt;
  &lt;pre id=&quot;JLtX&quot;&gt;CREATE USER davide WITH PASSWORD &amp;#x27;jw8s0F4&amp;#x27;;&lt;/pre&gt;
  &lt;p id=&quot;aVm8&quot;&gt;Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;/p&gt;
  &lt;pre id=&quot;uzV3&quot;&gt;CREATE USER miriam WITH PASSWORD &amp;#x27;jw8s0F4&amp;#x27; VALID UNTIL &amp;#x27;2005-01-01&amp;#x27;;&lt;/pre&gt;
  &lt;p id=&quot;2w4h&quot;&gt;Create an account where the user can create databases:&lt;/p&gt;
  &lt;pre id=&quot;QlOS&quot;&gt;CREATE USER manuel WITH PASSWORD &amp;#x27;jw8s0F4&amp;#x27; CREATEDB;&lt;/pre&gt;
  &lt;p id=&quot;G0QX&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;oq5i&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;Qtby&quot;&gt;User&lt;/h2&gt;
  &lt;p id=&quot;bNVf&quot;&gt;Create a user with no password:&lt;/p&gt;
  &lt;pre id=&quot;dEnI&quot;&gt;CREATE USER jonathan;&lt;/pre&gt;
  &lt;p id=&quot;28Cl&quot;&gt;Create a user with a password:&lt;/p&gt;
  &lt;pre id=&quot;3Pe8&quot;&gt;CREATE USER davide WITH PASSWORD &amp;#x27;jw8s0F4&amp;#x27;;&lt;/pre&gt;
  &lt;p id=&quot;GTIw&quot;&gt;Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;/p&gt;
  &lt;pre id=&quot;oQMg&quot;&gt;CREATE USER miriam WITH PASSWORD &amp;#x27;jw8s0F4&amp;#x27; VALID UNTIL &amp;#x27;2005-01-01&amp;#x27;;&lt;/pre&gt;
  &lt;p id=&quot;sygI&quot;&gt;Create an account where the user can create databases:&lt;/p&gt;
  &lt;pre id=&quot;fU2O&quot;&gt;CREATE USER manuel WITH PASSWORD &amp;#x27;jw8s0F4&amp;#x27; CREATEDB;&lt;/pre&gt;

</content></entry><entry><id>aleksey_dev_grin:U8-9rkA2ujU</id><link rel="alternate" type="text/html" href="https://teletype.in/@aleksey_dev_grin/U8-9rkA2ujU?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aleksey_dev_grin"></link><title>Midnight Commander + Mac OS</title><published>2022-05-02T09:18:11.706Z</published><updated>2022-05-02T09:18:11.706Z</updated><summary type="html">How to install Midnight Commander on Mac OS?</summary><content type="html">
  &lt;p id=&quot;wcH2&quot;&gt;How to install Midnight Commander on Mac OS?&lt;/p&gt;
  &lt;p id=&quot;UnN0&quot;&gt;It turned out to be unimaginably easy.&lt;/p&gt;
  &lt;ol id=&quot;kZIO&quot;&gt;
    &lt;li id=&quot;j9Ex&quot;&gt;Start Terminal&lt;/li&gt;
    &lt;li id=&quot;kcix&quot;&gt;Install &lt;a href=&quot;https://brew.sh/&quot; target=&quot;_blank&quot;&gt;Home Brew&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;wuLa&quot;&gt;Install Midnight Commander:&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;wnoq&quot;&gt;&lt;code&gt;brew install mc&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;0vb3&quot;&gt;    4. Done!&lt;/p&gt;

</content></entry><entry><id>aleksey_dev_grin:Di6lToSCMwQ</id><link rel="alternate" type="text/html" href="https://teletype.in/@aleksey_dev_grin/Di6lToSCMwQ?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aleksey_dev_grin"></link><title>Docker</title><published>2022-04-28T13:26:11.062Z</published><updated>2022-05-26T06:27:47.196Z</updated><summary type="html">docker –version</summary><content type="html">
  &lt;p id=&quot;8823&quot;&gt;&lt;code&gt;docker –version&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;bdae&quot;&gt;&lt;code&gt;docker pull &amp;lt;image name&amp;gt;   # This command is used to pull images from the &lt;strong&gt;docker&lt;/strong&gt;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;e27e&quot;&gt;&lt;code&gt;docker run -it -d &amp;lt;image name&amp;gt;   &amp;lt;/br&amp;gt; # This command is used to create a container from an image&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;21c5&quot;&gt;&lt;code&gt;docker ps   # This command is used to list the running containers&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;682d&quot;&gt;&lt;code&gt;docker ps -a   # This command is used to show all the running and exited containers&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;0563&quot;&gt;&lt;code&gt;docker exec -it &amp;lt;container id&amp;gt; bash   # This command is used to access the running container&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;671d&quot;&gt;&lt;code&gt;docker stop&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;04b5&quot;&gt;&lt;code&gt;docker kill&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;b234&quot;&gt;&lt;code&gt;docker commit&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;0dd6&quot;&gt;&lt;code&gt;docker login&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;01b1&quot;&gt;&lt;code&gt;docker push&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;c1e0&quot;&gt;&lt;code&gt;docker images&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;df7b&quot;&gt;&lt;code&gt;docker rm&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;9b26&quot;&gt;&lt;code&gt;docker rmi&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;dc85&quot;&gt;&lt;code&gt;docker build&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;88dv&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;i0Ye&quot;&gt;List of the images&lt;/p&gt;
  &lt;p id=&quot;KzOu&quot;&gt;&lt;code&gt;docker image&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;luzG&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;0Lkl&quot;&gt;List of the started containers&lt;/h3&gt;
  &lt;p id=&quot;091T&quot;&gt;&lt;code&gt;docker ps&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;BZda&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;7jS2&quot;&gt;List of all containers (include stoped)&lt;/h3&gt;
  &lt;p id=&quot;JH0d&quot;&gt;&lt;code&gt;docker ps&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;NVfx&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;9WxL&quot;&gt;Sample Dockerfile for Java&lt;/h3&gt;
  &lt;p id=&quot;82yq&quot;&gt;&lt;code&gt;FROM openjdk:8-jdk-alpine&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;BSOg&quot;&gt;&lt;code&gt;JAR_FILE=target/*.jar&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;tiPH&quot;&gt;&lt;code&gt;COPY ${JAR_FILE} app.jar&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;Zdkc&quot;&gt;&lt;code&gt;ENTRYPOINT [&amp;quot;java&amp;quot;,&amp;quot;-jar&amp;quot;,&amp;quot;/app.jar&amp;quot;]&lt;/code&gt;&lt;/p&gt;

</content></entry><entry><id>aleksey_dev_grin:E_Rsvs8dikC</id><link rel="alternate" type="text/html" href="https://teletype.in/@aleksey_dev_grin/E_Rsvs8dikC?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aleksey_dev_grin"></link><title>Git // tips</title><published>2022-04-20T08:11:52.019Z</published><updated>2022-05-24T03:32:47.725Z</updated><summary type="html">Add this line:</summary><content type="html">
  &lt;h3 id=&quot;ydcH&quot;&gt;Remove existing files from the repository:&lt;/h3&gt;
  &lt;pre id=&quot;FJgK&quot;&gt;find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
&lt;/pre&gt;
  &lt;p id=&quot;vWm7&quot;&gt;Add this line:&lt;/p&gt;
  &lt;pre id=&quot;hWek&quot;&gt;.DS_Store
&lt;/pre&gt;
  &lt;p id=&quot;v2QA&quot;&gt;to the file &lt;code&gt;.gitignore&lt;/code&gt;, which can be found at the top level of your repository (or create the file if it isn&amp;#x27;t there already). You can do this easily with this command in the top directory:&lt;/p&gt;
  &lt;pre id=&quot;pYUe&quot;&gt;echo .DS_Store &amp;gt;&amp;gt; .gitignore
&lt;/pre&gt;
  &lt;p id=&quot;904a&quot;&gt;Then commit the file to the repo:&lt;/p&gt;
  &lt;pre id=&quot;mZ8v&quot;&gt;git add .gitignore
git commit -m &amp;#x27;.DS_Store banished!&amp;#x27;&lt;/pre&gt;
  &lt;p id=&quot;nGJv&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;1nzQ&quot;&gt; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *&lt;/p&gt;
  &lt;p id=&quot;IfxP&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;YC2L&quot;&gt;Branches&lt;/h2&gt;
  &lt;ul id=&quot;EbcP&quot;&gt;
    &lt;li id=&quot;IFBB&quot;&gt;Git branch listing&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;tayg&quot;&gt;&lt;code&gt;git branch -a 	#all local and remote branches are listed&lt;br /&gt;git branch -r 	#remote branches are listed&lt;br /&gt;git branch 		#only local branches are listed&lt;/code&gt;&lt;/p&gt;
  &lt;ul id=&quot;N4vo&quot;&gt;
    &lt;li id=&quot;SjqG&quot;&gt;Create new git branch with switching to this branch&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;bUBU&quot;&gt;&lt;code&gt;$ git checkout -b &amp;lt;branch-name&amp;gt;&lt;/code&gt;&lt;/p&gt;
  &lt;ul id=&quot;FR44&quot;&gt;
    &lt;li id=&quot;KlCO&quot;&gt;Create new git branch without switching&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;uQuI&quot;&gt;&lt;code&gt;$ git branch &amp;lt;branch_name&amp;gt;&lt;/code&gt;&lt;/p&gt;
  &lt;ul id=&quot;K5nb&quot;&gt;
    &lt;li id=&quot;mowX&quot;&gt;Switch between branches &lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;uf2b&quot;&gt;&lt;code&gt;$ git checkout &amp;lt;branch_name&amp;gt;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;DNYo&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;HJZs&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;ci3I&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;VfVn&quot;&gt; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *&lt;/p&gt;
  &lt;p id=&quot;1dEb&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;w34w&quot;&gt;git rm&lt;/h3&gt;
  &lt;p id=&quot;XytP&quot;&gt;&lt;em&gt;The &amp;quot;rm&amp;quot; command helps you to remove files from a  Git repository.&lt;/em&gt; It allows you to not only delete a file from the &lt;em&gt;repository&lt;/em&gt;, but also - if you wish - from the &lt;em&gt;filesystem&lt;/em&gt;.&lt;/p&gt;
  &lt;p id=&quot;0Snw&quot;&gt;Deleting a file from the filesystem can of course easily be done in many other applications, e.g. a text editor, IDE or file browser. But deleting the file from the &lt;em&gt;actual Git repository&lt;/em&gt; is a separate task, for which &lt;code&gt;git rm&lt;/code&gt; was made.&lt;/p&gt;
  &lt;h3 id=&quot;vrRY&quot;&gt;Important Options&lt;/h3&gt;
  &lt;p id=&quot;OLYk&quot;&gt;&lt;em&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;filename&amp;gt;&lt;/code&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;QYj3&quot;&gt;&lt;strong&gt;The name of a file (or multiple files) you want to remove.&lt;/strong&gt; Naming the file you want to remove can be as simple as providing the filename / path to a single file. But you can also provide multiple filenames (delimited by spaces) or even a wildcard pattern (e.g. &lt;code&gt;test.*&lt;/code&gt;).&lt;/p&gt;
  &lt;p id=&quot;wpLN&quot;&gt;&lt;code&gt;--cached&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;pwNO&quot;&gt;&lt;strong&gt;Removes the file only from the Git repository, but not from the filesystem.&lt;/strong&gt; By default, the &lt;code&gt;git rm&lt;/code&gt; command deletes files both from the Git repository as well as the filesystem. Using the &lt;code&gt;--cached&lt;/code&gt; flag, the actual file on disk will &lt;em&gt;not&lt;/em&gt; be deleted.&lt;/p&gt;
  &lt;h3 id=&quot;gc1H&quot;&gt;&lt;code&gt;-r&lt;/code&gt;&lt;/h3&gt;
  &lt;p id=&quot;wFge&quot;&gt;&lt;strong&gt;Recursively removes folders.&lt;/strong&gt; When a path to a directory is specified, the &lt;code&gt;-r&lt;/code&gt; flag allows Git to remove that folder including all its contents.&lt;/p&gt;
  &lt;p id=&quot;5RFw&quot;&gt;&lt;code&gt;--dry-run&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;dn71&quot;&gt;&lt;strong&gt;No files are actually removed.&lt;/strong&gt; With this option (or its shorthand &lt;code&gt;-n&lt;/code&gt; notation), you will only see an output of the files that Git &lt;em&gt;would&lt;/em&gt; remove - but no files are actually deleted.&lt;/p&gt;
  &lt;p id=&quot;XUVs&quot;&gt;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *&lt;/p&gt;
  &lt;p id=&quot;7QqJ&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;RC3T&quot;&gt;.gitignore&lt;/p&gt;

</content></entry><entry><id>aleksey_dev_grin:EohWthsSlfO</id><link rel="alternate" type="text/html" href="https://teletype.in/@aleksey_dev_grin/EohWthsSlfO?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aleksey_dev_grin"></link><title>Maven</title><published>2022-04-15T14:32:00.346Z</published><updated>2022-04-20T09:45:18.977Z</updated><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/b1/e0/b1e06a38-85a1-4e13-a7f3-a0b91dde03cd.png&quot;&gt;Super POM is</summary><content type="html">
  &lt;h2 id=&quot;2mBc&quot;&gt;Top Commands&lt;/h2&gt;
  &lt;ul id=&quot;1Nj5&quot;&gt;
    &lt;li id=&quot;creating-a-maven-standalone-project&quot;&gt;Creating a maven standalone project&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;FG8A&quot;&gt;mvn archetype:generate -DgroupId=org.cloudhadoop -DartifactId=myproject&lt;/pre&gt;
  &lt;p id=&quot;creating-a-web-standalone-project&quot;&gt;&lt;/p&gt;
  &lt;ul id=&quot;JkUh&quot;&gt;
    &lt;li id=&quot;9nVv&quot;&gt;Creating a web standalone project&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;oPVW&quot;&gt;mvn archetype:generate   -DarchetypeGroupId=org.apache.maven.archetypes    
-DarchetypeArtifactId=maven-archetype-webapp   -DgroupId=com.cloudhadoop    
-DartifactId=mywebapp&lt;/pre&gt;
  &lt;p id=&quot;y1WW&quot;&gt;&lt;/p&gt;
  &lt;ul id=&quot;3c2o&quot;&gt;
    &lt;li id=&quot;rYOd&quot;&gt;To clean a java project with maven&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;slhh&quot;&gt;mvn clean&lt;/pre&gt;
  &lt;p id=&quot;qyLd&quot;&gt;&lt;/p&gt;
  &lt;ul id=&quot;C87J&quot;&gt;
    &lt;li id=&quot;compile-maven-project&quot;&gt;Compile maven project&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;NgX2&quot;&gt;mvn compile&lt;/pre&gt;
  &lt;p id=&quot;HaOl&quot;&gt;&lt;/p&gt;
  &lt;ul id=&quot;yfau&quot;&gt;
    &lt;li id=&quot;to-run-the-maven-by-skipping-unit-and-integration-tests&quot;&gt;To run the maven by skipping unit and integration tests&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;VPtn&quot;&gt;mvn clean install -Dmaven.test.skip=true or   
mvn clean install -DskipTests=true  

or with a package goal
&amp;#x60;&amp;#x60;&amp;#x60;markup
mvn package –DskipTests or  
mvn package -Dmaven.test.skip&lt;/pre&gt;
  &lt;p id=&quot;BdGy&quot;&gt;&lt;/p&gt;
  &lt;ul id=&quot;c5wz&quot;&gt;
    &lt;li id=&quot;debug-maven&quot;&gt;Debug Maven&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;rqzs&quot;&gt;mvn -X
mvn dependency:tree
mvn dependency:resolve
mvn dependency:resolve -Dartifact=groupId:artifactId:version&lt;/pre&gt;
  &lt;p id=&quot;vuBu&quot;&gt;&lt;/p&gt;
  &lt;ul id=&quot;EeU7&quot;&gt;
    &lt;li id=&quot;ESCW&quot;&gt;POM&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;NMHr&quot;&gt;mvn help:effective-pom&lt;/pre&gt;
  &lt;p id=&quot;hDtU&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;0M26&quot;&gt;Super POM - Simplest POM - Effective POM&lt;/h3&gt;
  &lt;p id=&quot;p81L&quot;&gt;&lt;em&gt;Super POM&lt;/em&gt; is&lt;/p&gt;
  &lt;p id=&quot;TN7t&quot;&gt;location: &lt;/p&gt;
  &lt;p id=&quot;B9AE&quot;&gt;&lt;em&gt;Simplest POM&lt;/em&gt; is&lt;/p&gt;
  &lt;p id=&quot;znQN&quot;&gt;location: &lt;/p&gt;
  &lt;p id=&quot;eJk2&quot;&gt;E&lt;em&gt;ffective POM&lt;/em&gt; is a mixture of Super POM and Simplest POM. It&amp;#x27;s better to say that the Effective POM is actual POM that your project uses.&lt;/p&gt;
  &lt;p id=&quot;K86g&quot;&gt;&lt;code&gt;mvn help:effective-pom&lt;/code&gt;&lt;/p&gt;
  &lt;figure id=&quot;PTGv&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b1/e0/b1e06a38-85a1-4e13-a7f3-a0b91dde03cd.png&quot; width=&quot;2018&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;4Fn0&quot;&gt;location: &lt;/p&gt;
  &lt;p id=&quot;CIqj&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;C9AD&quot;&gt;Maven dependencies and transitive dependencies&lt;/h3&gt;
  &lt;p id=&quot;lDrG&quot;&gt;&lt;em&gt;Dependencies&lt;/em&gt; are just dependencies that you literally use, including in your Simplest POM.&lt;/p&gt;
  &lt;p id=&quot;P9ra&quot;&gt;&lt;em&gt;Transitive dependencies&lt;/em&gt; are hidden from you. Because you use them using explicit dependencies.&lt;/p&gt;
  &lt;p id=&quot;goTY&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;snYe&quot;&gt;&lt;code&gt;mvn dependency:resolve&lt;/code&gt;     //     &lt;a href=&quot;https://maven.apache.org/plugins/maven-dependency-plugin/resolve-mojo.html&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;euIR&quot;&gt;Goal that resolves the project dependencies from the repository. When using this goal while running on Java 9 the module names will be visible as well.&lt;/p&gt;
  &lt;p id=&quot;hgCD&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;2wQR&quot;&gt;&lt;code&gt;mvn dependency:tree&lt;/code&gt;     //     &lt;a href=&quot;https://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;GGzL&quot;&gt;Displays the dependency tree for this project. Multiple formats are supported: text (by default), but also &lt;a href=&quot;https://en.wikipedia.org/wiki/DOT_language&quot; target=&quot;_blank&quot;&gt;DOT&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/GraphML&quot; target=&quot;_blank&quot;&gt;GraphML&lt;/a&gt;, and &lt;a href=&quot;https://en.wikipedia.org/wiki/Trivial_Graph_Format&quot; target=&quot;_blank&quot;&gt;TGF&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;dZen&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;I4NN&quot;&gt;&lt;code&gt;mvn dependency:analyze&lt;/code&gt;     //     &lt;a href=&quot;https://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;4nlv&quot;&gt;Analyzes the dependencies of this project and determines which are: used and declared; used and undeclared; unused and declared.&lt;/p&gt;
  &lt;p id=&quot;BZMo&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;jXDT&quot;&gt;How to exclude transitive dependency?&lt;/p&gt;
  &lt;p id=&quot;ZVCx&quot;&gt;FE: Dependency &lt;code&gt;org.apache.velocity&lt;/code&gt; includes transitive dependency &lt;code&gt;oro.&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;Oo01&quot;&gt;To exclude you have to write &amp;lt;exclusions&amp;gt; tags in your Simplest POM:&lt;/p&gt;
  &lt;pre id=&quot;RI9W&quot; data-lang=&quot;java&quot;&gt;&amp;lt;dependencies&amp;gt;
    &amp;lt;dependency&amp;gt;
        &amp;lt;groupId&amp;gt;junit&amp;lt;/groupId&amp;gt;
        &amp;lt;artifactId&amp;gt;junit&amp;lt;/artifactId&amp;gt;
        &amp;lt;version&amp;gt;4.12&amp;lt;/version&amp;gt;
        &amp;lt;exclusions&amp;gt;
            &amp;lt;exclusion&amp;gt;
                &amp;lt;groupId&amp;gt;oro&amp;lt;/groupId&amp;gt;
                &amp;lt;artifactId&amp;gt;oro&amp;lt;/artifactId&amp;gt;
            &amp;lt;/exclusion&amp;gt;
        &amp;lt;/exclusions&amp;gt;
    &amp;lt;/dependency&amp;gt;
&amp;lt;/dependencies&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;uZkL&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;udGH&quot;&gt;Plugins&lt;/h3&gt;
  &lt;p id=&quot;tR1U&quot;&gt; &lt;/p&gt;
  &lt;p id=&quot;eRnw&quot;&gt;&lt;a href=&quot;https://maven.apache.org/plugins/index.html&quot; target=&quot;_blank&quot;&gt;Official Apache documentation&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;aVLu&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;introduction-8&quot;&gt;&lt;strong&gt;Maven Build Lifecycles&lt;/strong&gt;&lt;/h3&gt;
  &lt;p id=&quot;Mgk7&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;q6Nl&quot;&gt;&lt;a href=&quot;https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html&quot; target=&quot;_blank&quot;&gt;Official Apache documentation&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;r55T&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;Dzuc&quot;&gt;Maven Packaging Types / JAR - WAR - EAR - ...&lt;/h3&gt;
  &lt;ul id=&quot;r5G2&quot;&gt;
    &lt;li id=&quot;Jlpa&quot;&gt;&lt;em&gt;msi&lt;/em&gt;&lt;/li&gt;
    &lt;li id=&quot;Rkx7&quot;&gt;&lt;em&gt;rpm&lt;/em&gt;&lt;/li&gt;
    &lt;li id=&quot;YGho&quot;&gt;&lt;em&gt;tar&lt;/em&gt;&lt;/li&gt;
    &lt;li id=&quot;9IM2&quot;&gt;&lt;em&gt;tar.bz2&lt;/em&gt;&lt;/li&gt;
    &lt;li id=&quot;5FaS&quot;&gt;&lt;em&gt;tar.gz&lt;/em&gt;&lt;/li&gt;
    &lt;li id=&quot;9s4s&quot;&gt;&lt;em&gt;tbz&lt;/em&gt;&lt;/li&gt;
    &lt;li id=&quot;AbVA&quot;&gt;&lt;em&gt;zip&lt;/em&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;Yp4X&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;BRbL&quot;&gt;IndelliJ Idea Hot Keys for Maven&lt;/h3&gt;
  &lt;p id=&quot;ZIdM&quot;&gt;Show Dependencies...//⌥&lt;strong&gt;⇧⌘U     //     &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;yMql&quot;&gt;Show Dependencies Popup//&lt;strong&gt;     ⌥⌘U     //     &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;b0a0&quot;&gt;Load Maven changes //&lt;strong&gt;     ⇧⌘I     //     Ctrl+Shift+O&lt;/strong&gt;&lt;/p&gt;

</content></entry><entry><id>aleksey_dev_grin:zeSkoWtMrji</id><link rel="alternate" type="text/html" href="https://teletype.in/@aleksey_dev_grin/zeSkoWtMrji?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aleksey_dev_grin"></link><title>Maven - WTF?</title><published>2022-04-14T15:46:14.236Z</published><updated>2022-04-16T10:39:52.995Z</updated><summary type="html">1.1. Go to Oracle download and install JDK (better latest version)</summary><content type="html">
  &lt;ol id=&quot;d5HO&quot;&gt;
    &lt;li id=&quot;G2Qr&quot;&gt;How to set on MacOS?&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;T1sx&quot;&gt;1.1. Go to &lt;a href=&quot;https://www.oracle.com/java/technologies/downloads/&quot; target=&quot;_blank&quot;&gt;Oracle&lt;/a&gt; download and install JDK (better latest version)&lt;/p&gt;
  &lt;p id=&quot;1wtE&quot;&gt;1.2. Go to &lt;a href=&quot;https://maven.apache.org/download.cgi&quot; target=&quot;_blank&quot;&gt;Apache&lt;/a&gt; download and unpack Apache Maven&lt;/p&gt;
  &lt;p id=&quot;7mao&quot;&gt;1.3. Start Terminal and execute &lt;code&gt;/usr/libexec/java_home&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;rzSV&quot;&gt;1.4. Copy path. It will needs after some issues. Path name will be like this: &lt;code&gt;/Library/Java/JavaVirtualMachines/jdk-18.jdk/Contents/Home&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;ci0C&quot;&gt;1.5. &lt;a href=&quot;https://mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/&quot; target=&quot;_blank&quot;&gt;Guide&lt;/a&gt; for the all types of MacOS&lt;/p&gt;

</content></entry><entry><id>aleksey_dev_grin:y7FGfyZyiA-</id><link rel="alternate" type="text/html" href="https://teletype.in/@aleksey_dev_grin/y7FGfyZyiA-?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aleksey_dev_grin"></link><title>Creating new Spring MVC project</title><published>2022-01-15T11:09:07.954Z</published><updated>2022-01-17T14:11:18.972Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/37/b7/37b758be-0421-4f94-b41a-568c1998fc18.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/ed/fd/edfd605d-f256-4d37-a982-26d3a6c6659a.png&quot;&gt;1) New Maven project</summary><content type="html">
  &lt;p id=&quot;PtVt&quot;&gt;1) New Maven project&lt;/p&gt;
  &lt;p id=&quot;YAnQ&quot;&gt;2) Add Maven archetype webapp&lt;/p&gt;
  &lt;p id=&quot;SD2n&quot;&gt;3) git init&lt;/p&gt;
  &lt;p id=&quot;tpLr&quot;&gt;4) Create repository on GitHub.com&lt;/p&gt;
  &lt;p id=&quot;dPcw&quot;&gt;5) make command from GitHub&lt;/p&gt;
  &lt;p id=&quot;W0cp&quot;&gt;6) Download Apache Tomcat server from &lt;a href=&quot;https://tomcat.apache.org/&quot; target=&quot;_blank&quot;&gt;https://tomcat.apache.org/&lt;/a&gt;  (.zip file)&lt;/p&gt;
  &lt;p id=&quot;ydqc&quot;&gt;7) Unzip file&lt;/p&gt;
  &lt;p id=&quot;wnee&quot;&gt;8) Run -&amp;gt; Edit configuration -&amp;gt; &lt;/p&gt;
  &lt;figure id=&quot;RdQC&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/ed/fd/edfd605d-f256-4d37-a982-26d3a6c6659a.png&quot; width=&quot;879&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;Ge10&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/38/2b/382b5354-10d1-4f6d-af3c-b6eff0e0b933.png&quot; width=&quot;878&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;9YxM&quot;&gt;9) Ok -&amp;gt; Restart InlelliJ IDEA&lt;/p&gt;
  &lt;p id=&quot;xpuA&quot;&gt;10) Run -&amp;gt; Tomcat&lt;/p&gt;
  &lt;figure id=&quot;Miiy&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/0d/f9/0df9e841-355d-4b8f-9ce0-5613ab4a54ef.png&quot; width=&quot;223&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;7pxW&quot;&gt;11) If &amp;quot;apache tomcat error=13 permission denied&amp;quot; then &lt;/p&gt;
  &lt;pre id=&quot;vYxv&quot;&gt;chmod a+x /path/to/tomcat/bin/catalina.sh&lt;/pre&gt;
  &lt;p id=&quot;FcuI&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;gHVv&quot;&gt;12) git add .&lt;/p&gt;
  &lt;p id=&quot;gbCw&quot;&gt;13) git commit -m &amp;#x27;run server&amp;#x27;&lt;/p&gt;
  &lt;p id=&quot;COnD&quot;&gt;14) git push&lt;/p&gt;
  &lt;p id=&quot;eOEs&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;vdxn&quot;&gt;15) Add dependences to pom.xml&lt;/p&gt;
  &lt;p id=&quot;5ea1&quot;&gt;&lt;a href=&quot;https://mvnrepository.com/&quot; target=&quot;_blank&quot;&gt;https://mvnrepository.com/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;lyto&quot;&gt;— Spring Core&lt;/p&gt;
  &lt;p id=&quot;15BD&quot;&gt;— Spring Context&lt;/p&gt;
  &lt;p id=&quot;4NQI&quot;&gt;— Spring WEB&lt;/p&gt;
  &lt;p id=&quot;zXGp&quot;&gt;— Spring WEBMVC&lt;/p&gt;
  &lt;p id=&quot;yJth&quot;&gt;— Thymeleaf - Spring5&lt;/p&gt;

</content></entry><entry><id>aleksey_dev_grin:ZWBFrVC2qCW</id><link rel="alternate" type="text/html" href="https://teletype.in/@aleksey_dev_grin/ZWBFrVC2qCW?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aleksey_dev_grin"></link><title>Жадница</title><published>2021-12-26T13:27:08.282Z</published><updated>2021-12-26T13:27:08.282Z</updated><summary type="html">Сын обозвал дочь. Он это выразил случайно, но получилась законченная мысль и более ем</summary><content type="html">
  &lt;p id=&quot;8v73&quot;&gt;Сын обозвал дочь. Он это выразил случайно, но получилась законченная мысль и более ем&lt;/p&gt;

</content></entry><entry><id>aleksey_dev_grin:e0pfm1yRC2z</id><link rel="alternate" type="text/html" href="https://teletype.in/@aleksey_dev_grin/e0pfm1yRC2z?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aleksey_dev_grin"></link><title>Утренний высер.</title><published>2021-12-21T06:22:21.279Z</published><updated>2021-12-21T06:22:21.279Z</updated><summary type="html">Он полезный самый.</summary><content type="html">
  &lt;p id=&quot;U895&quot;&gt;Он полезный самый.&lt;/p&gt;

</content></entry><entry><id>aleksey_dev_grin:Iury3ygN-x0</id><link rel="alternate" type="text/html" href="https://teletype.in/@aleksey_dev_grin/Iury3ygN-x0?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=aleksey_dev_grin"></link><title>Программирование - это начало программирования</title><published>2021-11-26T11:13:41.519Z</published><updated>2021-11-26T11:13:41.519Z</updated><tt:hashtag>solid</tt:hashtag><tt:hashtag>clrs</tt:hashtag><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/a8/ec/a8ec3d6f-c23c-4568-ad24-e4932651475d.png&quot;&gt;Оказалось, что программирование - это только начало программирования.</summary><content type="html">
  &lt;figure id=&quot;Xqmi&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a8/ec/a8ec3d6f-c23c-4568-ad24-e4932651475d.png&quot; width=&quot;240&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;NBgX&quot;&gt;Оказалось, что программирование - это только начало программирования.&lt;/p&gt;
  &lt;p id=&quot;5KU3&quot;&gt;Понятно, что любое ремесло, которое нацелено на выдачу конкретного результата требует времени и сил. Но когда не знаком предметной областью, то некоторые аспекты становятся настоящими открытиями.&lt;/p&gt;
  &lt;p id=&quot;uQsR&quot;&gt;После того как поднял все циклы, алгоритмы, конструкции (кроме бинарных деревьев), мьютексы, стримы и прочую плюшки было удивительно узнать, что в чистом видео - это просто &amp;quot;блестяшка&amp;quot;. Это как навык шить у хирурга, как умение читать ЭКГ у функционального диагноста... ТЕ это обретает смысл, только в комплексе плана лечения пациента (в чем бы оно не заключалось). В медицине - это звучит о***нно: Клиническое мышление.&lt;/p&gt;
  &lt;p id=&quot;iSe4&quot;&gt;Так и программировании. Просто писать код - это супер, шарить в алгоритмах - тоже пруф. Но это все еще должно лечь в Архитектурные паттерны (звучит как &amp;quot;разработка протонных двигателей&amp;quot;, ТЕ тоже мегапафосно). И без этого навыка ты не программист и нахер никому не нужен.&lt;/p&gt;
  &lt;tt-tags id=&quot;AM1c&quot;&gt;
    &lt;tt-tag name=&quot;solid&quot;&gt;#solid&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;clrs&quot;&gt;#clrs&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry></feed>