Changeset de4a3db


Ignore:
Timestamp:
Oct 14, 2022, 2:12:25 PM (2 years ago)
Author:
w96k <w96k.ru@…>
Branches:
master
Children:
2476eba
Parents:
cdbce2b
Message:

Update website

Location:
content
Files:
2 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • content/en/posts/web-stacks.org

    rcdbce2b rde4a3db  
    66#+BEGIN_abstract
    77In this article I'm going to categorize languages, frameworks, libraries
    8 and software by a criteria of usage such technologies at hired work. It
    9 might be biased and irrational, be aware.
     8and software by a criteria of usage such technologies at hired work. The
     9article might be biased and irrational, be aware.
    1010#+END_abstract
    1111
     
    1414don't like to work in general, I don't like corporate IT culture and I
    1515don't like web development in particular, but I have an experience in
    16 that field, and it is much easier to dive into it to earn money
    17 for a living than other IT fields or other professions at my location. I
    18 hope this text will be useful for someone who is outside of the field of
    19 web development to get a grasp of technologies to learn.
     16that field, and it is much easier to dive into web development to earn
     17money for a living than other IT fields or other professions at my
     18location. I hope this text will be useful for someone who is outside of
     19the field of web development to get a grasp of technologies to learn.
    2020
    2121* What is tech stack
    2222#+BEGIN_abstract
    23 The tech stack is the mix of technologies (software, frameworks, libraries)
    24 that the project uses to implement a planned set of features.
     23The tech stack is the mix of technologies (software, frameworks,
     24libraries) that the project uses to implement a planned set of features.
    2525#+END_abstract
    2626
     
    3131people, sometimes something breaks and you need to contact people that
    3232provide you the software you use, it is also important to communicate
    33 with your company's team and not bring yourself into conflicts. And
    34 don't be that guy (or me), who hates something technical so much, that
    35 people get annoyed by you, it won't help you in any way. It can be seen
    36 as a suppression of your ego, but the truth is that hired work is more
    37 about collectivism than individualism.
     33with your company's team and not bring yourself into conflict
     34situations. And don't be that guy (or me), who hates something technical
     35so much, that people get annoyed by you, it won't help you in any
     36way. It can be seen as a suppression of your ego, but the truth is that
     37hired work is more about collectivism than individualism.
    3838
    3939Next, I present the list of technologies you should know to work as a
     
    4444Some things you will use in most of your projects, so you are better to
    4545familiarize yourself with them anyway. What I've discovered, is that
    46 most knowledge of some tech is transferable to other techs.
     46most knowledge of some tech is transferable to other techs. For example,
     47learning one web-framework helps you to learn other ones.
     48
    4749** Text Editor
    4850Not sure if I need to write it, but you need a development environment
     
    6264costs money to use and you as a user don't have control over it. You can
    6365learn more why it is important on the [[https://gnu.org/philosophy/][GNU website]]. Such an important
    64 tool as a text editor should be free for everyone.
    65 
    66 [[[https://en.wikipedia.org/wiki/Text_editor][Wikipedia: Text editor]]] |
    67 [[[https://en.wikipedia.org/wiki/Integrated_development_environment][Wikipedia: Integrated development environment]]]
     66tool as a text editor should be free as in freedom for everyone.
     67
     68[[[https://en.wikipedia.org/wiki/Text_editor][Wikipedia: Text editor]]] | [[[https://en.wikipedia.org/wiki/Integrated_development_environment][Wikipedia: Integrated development
     69environment]]]
    6870
    6971** SQL
     
    8183the complexity of writing and running SQL.
    8284
    83 [[[https://en.wikipedia.org/wiki/SQL][Wikipedia: SQL]]] |
    84 [[[https://en.wikipedia.org/wiki/Relational_database][Wikipedia: Reletational Database]]]
     85[[[https://en.wikipedia.org/wiki/SQL][Wikipedia: SQL]]] | [[[https://en.wikipedia.org/wiki/Relational_database][Wikipedia: Reletational Database]]]
    8586
    8687*** ORM
     
    100101
    101102** In-memory database
    102 Some data needs to be stored in RAM for better performance. For that
    103 cases you need to learn about Redis or similar technology. Such databases are:
     103Most databases use hard drives to store data, but some data needs to be
     104stored in RAM for better performance. For that cases you need to learn
     105about Redis or similar technology. Such databases are:
    104106- [[https://en.wikipedia.org/wiki/Redis][Redis]]
    105107- [[https://en.wikipedia.org/wiki/Memcached][Memcached]]
     
    112114essential if you do backend APIs.
    113115
    114 The HTTP server is usually [[https://en.wikipedia.org/wiki/Nginx][Nginx]] or [[https://en.wikipedia.org/wiki/Apache_HTTP_Server][Apache]] (it is used rarely now). If you
    115 work with Java, HTTP servers can be written in Java such as [[https://en.wikipedia.org/wiki/Jetty_(web_server)][Jetty]] and
    116 others.
    117 
    118 [[[https://en.wikipedia.org/wiki/Web_server][Wikipedia: Web server]]] |
    119 [[[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol][Wikipedia: Hypertext Transfer Protocol]]]
     116The HTTP server is usually [[https://en.wikipedia.org/wiki/Nginx][Nginx]] or [[https://en.wikipedia.org/wiki/Apache_HTTP_Server][Apache]] (it is used rarely now). If
     117you work with Java, HTTP servers can be written in Java such as [[https://en.wikipedia.org/wiki/Jetty_(web_server)][Jetty]]
     118and others.
     119
     120I recommend reading [[https://amazon.com/HTTP-Definitive-Guide-Guides/dp/1565925092][a book called "HTTP: The Definitive Guide: The
     121Definitive Guide"]].
     122
     123[[[https://en.wikipedia.org/wiki/Web_server][Wikipedia: Web server]]] | [[[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol][Wikipedia: Hypertext Transfer Protocol]]]
    120124
    121125** Fulltext search
     
    124128cases. To search like google does you will need full-text search
    125129engines. You can use your database for that or specific solutions like
    126 ElasticSearch for such purposes.
    127 
    128 [[[https://en.wikipedia.org/wiki/Full-text_search][Wikipedia: Full-text search]]] |
    129 [[[https://en.wikipedia.org/wiki/Elasticsearch][Wikipedia: Elasticsearch]]] (proprietary)
     130[[https://www.elastic.co/elasticsearch/][ElasticSearch]] for such purposes.
     131
     132[[[https://en.wikipedia.org/wiki/Full-text_search][Wikipedia: Full-text search]]] | [[[https://en.wikipedia.org/wiki/Elasticsearch][Wikipedia: Elasticsearch]]] (proprietary)
    130133
    131134** Message broker
     
    152155wikis are good as well).
    153156
    154 [[[https://en.wikipedia.org/wiki/Unix][Wikipedia: Unix]]] |
    155 [[[https://en.wikipedia.org/wiki/Linux][Wikipedia: Linux]]] |
    156 [[[https://en.wikipedia.org/wiki/Linux_distribution][Wikipedia: Linux distribution]]]
     157[[[https://en.wikipedia.org/wiki/Unix][Wikipedia: Unix]]] | [[[https://en.wikipedia.org/wiki/Linux][Wikipedia: Linux]]] | [[[https://en.wikipedia.org/wiki/Linux_distribution][Wikipedia: Linux distribution]]]
     158
     159** Docker
     160Your team probably will use docker for deployment or development (or
     161both). You might want to get your project working in a container for
     162better accessibility by your team. The point of docker as a development
     163tool is to let your team quickly get the same environment as you. The
     164point of docker as a deployment tool is to deploy the same environment
     165that you developing in, it is important to have a reproducible
     166production environment because catching bugs in 3 different environments
     167(dev, staging, prod) suck a lot.
     168
     169[[[https://en.wikipedia.org/wiki/Docker_(software)][Wikipedia: Docker]]]
     170
     171** CI/CD and Deployment
     172You need to be able to deploy your application to the production
     173server. Good practice is to use a CI/CD pipeline. The CI/CD pipeline
     174runs checks of your project in docker container and only if tests are
     175successful, the code deploys to production.
     176
     177There is also an old approach with logging into your server via a small
     178script by ssh and then deploying everything as you just move files
     179manually.
     180
     181- [[https://www.jenkins.io/][Jenkins]]
     182- [[https://www.buildbot.net/][Buildbot]]
     183
     184[[[https://en.wikipedia.org/wiki/CI/CD][Wikipedia: CI/CD]]] | [[[https://en.wikipedia.org/wiki/Software_deployment][Wikipedia: Software Deployment]]]
    157185
    158186** OOP
     
    225253used.
    226254
    227 [[[https://en.wikipedia.org/wiki/Web_template_system][Wikipedia: Web Template System]]] |
    228 [[[https://en.wikipedia.org/wiki/Single-page_application][Wikipedia: Single-page Application]]]
     255[[[https://en.wikipedia.org/wiki/Web_template_system][Wikipedia: Web Template System]]] | [[[https://en.wikipedia.org/wiki/Single-page_application][Wikipedia: Single-page Application]]]
    229256
    230257*** CSS
    231258CSS is being used for creating styling for your HTML pages. The role of
    232259CSS is to make your html layouts pretty, to make your buttons beautiful
    233 and the grid is clear.
     260and the grid is clear. CSS frameworks help you to write less css by
     261providing ready to use graphical elements such as buttons, menus, lists,
     262grids, tables and so on. Often you don't need to know CSS so well, it is
     263okay to know just CSS framework.
     264
     265CSS Frameworks:
     266- [[https://getbootstrap.com/][Twitter Bootstrap]]
     267- [[https://fomantic-ui.com/][Fomantic UI]]
     268- [[https://get.foundation/][Foundation]]
     269- And many many others
    234270
    235271[[[https://en.wikipedia.org/wiki/CSS][Wikipedia: CSS]]]
     272
     273**** SASS/LESS
     274CSS3 added some computing abilities introducing variables, calc and
     275other features. Before that and because lack of some other features for
     276better css code reuse people have made CSS preprocessors. The point it
     277to write css-like code that compiles to real css, so you write less
     278things twice. SASS is being used in many css libraries such as Twitter
     279bootstrap.
    236280
    237281*** Javascript
     
    261305
    262306[[[https://en.wikipedia.org/wiki/Template_processor][Wikipedia: Template Processor]]]
    263 
    264 ** Docker
    265 Your team probably will use docker for deployment or development (or
    266 both). You might want to get your project working in a container for
    267 better accessibility by your team. The point of docker as a development
    268 tool is to let your team quickly get the same environment as you. The
    269 point of docker as a deployment tool is to deploy the same environment
    270 that you developing in, it is important to have a reproducible
    271 production environment because catching bugs in 3 different environments
    272 (dev, staging, prod) suck a lot.
    273 
    274 [[[https://en.wikipedia.org/wiki/Docker_(software)][Wikipedia: Docker]]]
    275307
    276308** API
     
    283315- and others
    284316
    285 The framework you use might provide a specific way for declaring APIs. For
    286 example, Symfony has [[https://api-platform.com/][API Platform]] and Django has [[https://www.django-rest-framework.org/][Django REST Framework]].
     317The framework you use might provide a specific way for declaring
     318APIs. For example, Symfony has [[https://api-platform.com/][API Platform]] and Django has [[https://www.django-rest-framework.org/][Django REST
     319Framework]].
    287320
    288321[[[https://en.wikipedia.org/wiki/Web_API][Wikipedia: Web API]]]
     
    317350quite easy to work.
    318351
    319 [[[https://en.wikipedia.org/wiki/Package_manager][Wikipedia: Package Manager]]]
     352[[[https://en.wikipedia.org/wiki/Package_manager][Wikipedia: Package
     353Manager]]]
    320354
    321355** Version Manager
     
    330364You should always use version control system even if you work completely
    331365alone. Version control allows you to work with other people and check
    332 changes over your codebase over time. This is essential technology
    333 to know for development these days, at least if we talk about hired work
    334 as web developer.
     366changes over your codebase over time. This is essential technology to
     367know for development these days, at least if we talk about hired work as
     368web developer.
    335369
    336370Version Control Systems:
     
    347381already using it.
    348382
    349 To learn what is it all about you can watch [[https://www.youtube.com/watch?v=92sycL8ij-U][a short series of videos
     383To learn what is it all about you can watch
     384[[https://www.youtube.com/watch?v=92sycL8ij-U][a short series of videos
    350385about git from computerphile]].
    351386
     
    393428classes and don't make them leak memory that much.
    394429
    395 [[[https://en.wikipedia.org/wiki/Computer_programming][Wikipedia: Programming]]] | [[[https://en.wikipedia.org/wiki/Programming_language][Wikipedia: Programming language]]] | [[[https://en.wikipedia.org/wiki/Computer_science][Wikipedia: Computer Science]]]
     430[[[https://en.wikipedia.org/wiki/Computer_programming][Wikipedia: Programming]]] | [[[https://en.wikipedia.org/wiki/Programming_language][Wikipedia: Programming language]]] |
     431[[[https://en.wikipedia.org/wiki/Computer_science][Wikipedia: Computer Science]]]
    396432
    397433* Most popular programming languages
    398434Your choices are quite limited here. More jobs available, more chances
    399435to get that job. there will be different results in different areas. I
    400 think that in most areas you will have a choices between Java, Python
     436think that in most areas you will have a choice between Java, Python,
    401437and maybe PHP or Ruby. If you want to end up insane, there is also
    402 Javascript, but it is not that mature for backend as other technologies
    403 (it is my biased opinion), so I will not include it (there is only "big"
    404 framework called NestJS and demend of it is probably low).
     438Javascript, but it is not as mature for the backend as other
     439technologies (it is my biased opinion), so I will not include it (there
     440is only a "big" framework called NestJS and the demand for it is
     441probably low).
    405442
    406443** Java / C#
    407444Probably the most popular programming languages out there especially
    408445when it comes to working at companies. It is statically typed and quite
    409 easy to learn languages. They are restricted to OOP moslty, so you
    410 prorably will use oop design patterns here more than in other
    411 programming language. Type system are not that advanced as in ML
    412 dialects and actually it is unsound as in other mainstream languages,
     446easy to learn languages. They are restricted to OOP the most, so you
     447probably will use oop design patterns here more than in other
     448programming languages. The type system is not as advanced as in ML
     449dialects and actually, it is unsound as in other mainstream languages,
    413450but it provides some merits of safety compared to nonsafe C or weak
    414 typed languages such PHP and Javascript. 
     451typed languages such as PHP and Javascript.
    415452
    416453Frameworks:
     
    425462** Python
    426463Second the most popular programming language. It differs from Java a
    427 lot. It is dynamic typed, strongly type, more object oriented than Java
    428 (everything is an object), but somehow manages to look like a procedural
    429 code, it forces you to indent your code right.
    430 
    431 Personally I like Python more than other mainstream languages, it does
    432 many things right. I like that being fully object-oriented language it
     464lot. It is dynamically typed, strongly typed and more object oriented
     465than Java (everything is an object), but somehow manages to look like a
     466procedural code, it forces you to indent your code right.
     467
     468I like Python more than other mainstream languages, it does many things
     469right. I like that Python while being a fully object-oriented language
    433470doesn't drop to dogmatic believing in OOP patterns. It also has good
    434471[[https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop][REPL]] and [[https://en.wikipedia.org/wiki/Reflective_programming][reflection]]/[[https://en.wikipedia.org/wiki/Introspection][introspection]] abilities without writing much code
     
    455492tech stack to get a job (but not the easiest language to work with). The
    456493language has lots of caveats such as weak typing, unorganized standard
    457 library, less developed OOP and type checking, lots of procedural php
    458 legacy, most functions of the language is defined in C. My personal
     494library, less developed OOP and types checking, lots of procedural PHP
     495legacy, and most built-in functions of the language are defined in C. My
    459496observation is that PHP has the worst error messages compared to other
    460 high level languages.
     497high-level languages. Despite this PHP is overall not so bad with newer
     498versions and it tries to remove legacy that has made the reputation of
     499PHP extremely bad in programming circles.
    461500
    462501Frameworks:
     
    473512* Less popular programming language
    474513** Go
    475 Is compiled statically typed procedural language made by creators of
    476 C. It has garbage collection as interpreted languages. It has rich
    477 standard library and as I understand used mostly for devops or
    478 microservices and less used for building monolithic application as in
     514Go is compiled statically typed procedural language made by creators of
     515C. It has garbage collection as interpreted languages. It has a rich
     516standard library and as I understand used mostly for DevOps or
     517microservices and less used for building monolithic applications as in
    479518other programming languages. It also has strong abilities to do parallel
    480519computations. Language doesn't have REPL and strong
     
    485524
    486525** Ruby
    487 Ruby is mostly used for web development, because of popularity of Ruby
    488 on Rails framework. The demand of it might be low in some areas, so
    489 investigate your market yourself before learning it. Ruby is strongly
    490 type object-oriented in smalltalk sense language. It has mixed lisp,
    491 perl and smalltalk roots. It has very powerful REPL,
     526Ruby is mostly used for web development, because of the popularity of
     527the Ruby on Rails framework. The demand for it might be low in some
     528areas, so investigate your market yourself before learning it. Ruby is
     529strongly typed object-oriented in [[https://en.wikipedia.org/wiki/Smalltalk][Smalltalk sense]] language. It has mixed
     530Lisp, Perl and Smalltalk roots. It has very powerful REPL,
    492531reflection/introspection abilities, probably the best after LISPs and
    493 Smalltalk. The biggest downside of the language is lack of good
    494 documentation on ruby website.
     532Smalltalk. The biggest downside of the language is the lack of good
     533documentation on Ruby website.
    495534
    496535Frameworks:
     
    523562 
    524563* How to get good
    525 First of all don't buy any paid course or workshops, most information
    526 are available for free for everyone. Just read wikipedia links I
    527 provided in artible and follow links there to official documentation of
    528 the thing you want to learn.
     564First of all, restrict yourself and don't buy any paid courses or
     565workshops, most information is available for free for everyone. Just
     566read the Wikipedia links I provided in the article and follow the links
     567there to the official documentation of the thing you want to learn.
    529568
    530569When it comes to programming in general I recommend learning it doing
    531 test projects or just playing with the code. For practice you can also
    532 use services like Exercism or Codewars to practice pure programming
    533 solving problems. Also there is great web resource for complete
    534 beginners called [[https://freecodecamp.org/][FreeCodeCamp]], it covers basics of web development and
    535 javascript programming.
    536 
    537 Also I recommend reading old academic books on programming, because many
    538 concepts are the same in many programming languages, what you need is
    539 the ability think abstractly using data structures and algorithms. I
    540 recommend anyone who wants to really grock programming to read:
     570test projects or just playing with the code. You can also use services
     571like [[https://exercism.org/][Exercism]] or [[https://codewars.com/][Codewars]] to practice pure programming solving
     572problems. Also, there is a great web resource for complete beginners
     573called [[https://freecodecamp.org/][FreeCodeCamp]], which covers the basics of web development and
     574Javascript programming.
     575
     576Also, I recommend reading old academic books on programming, because
     577many concepts are the same in many programming languages, what you need
     578is the ability to think abstractly using data structures and
     579algorithms. I recommend anyone who wants to grok programming to read:
    541580- [[https://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs][SICP]]
    542581- [[https://en.wikipedia.org/wiki/How_to_Design_Programs][HTDP]]
    543582- [[https://www.cis.upenn.edu/~bcpierce/tapl/][TAPL]]
    544583- [[https://en.wikipedia.org/wiki/Essentials_of_Programming_Languages][Essentials Of Programming Languages]]
    545 - [[https://download-mirror.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf][Programming from the ground up]]
     584- [[https://en.wikipedia.org/wiki/Niklaus_Wirth][Niklaus Wirth]] books, [[https://en.wikipedia.org/wiki/Edsger_W._Dijkstra][Dijkstra]]'s articles
     585- [[https://download-mirror.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf][Programming from the ground up]] or [[http://stolyarov.info/books][Stolyrov's series of books [Ru]​]]
    546586- Also see [[https://www.gnu.org/doc/other-free-books.html][free books from GNU website]]
    547 
    548 /Basically the rule of thumb is that if the book has wikipedia article,
    549 it is probably a good book and you should read it/.
     587 
     588The rule of thumb is that if the book has a Wikipedia article, it is
     589probably a good book and you should read it/. There are tons of free for
     590everyone materials about programming on the Internet, so of course, you
     591should not be limited to the list above.
    550592     
    551593There are many free sources to learn you just need to invest your time
    552 into it. The downside of learning LISP is that mainstream programming on
    553 your job can feel very restrictive and less expressive. Also you will
    554 probably learn, that many mainstream languages have lots of quircks or
    555 plainly bad design decisions.
     594into them. The downside of learning LISP (or let's say SML and Haskell
     595or other nonpopular in the industry mostly academic languages) is that
     596mainstream programming on your job can feel very restrictive and less
     597expressive. Also, you will probably learn, that many mainstream
     598languages have lots of quirks or bad design decisions.
    556599
    557600* Conclusion
    558 It is also possible to get a job with less popular stack, but if you are
    559 just starting it might be reasonable to focus on popular one first. The
    560 list of technologies is quite big, so newbies can be lost in new
    561 information. Be patient and learn one thing at the time. I would
    562 recommend starting with programming language documentation, then SQL and
    563 then going to docs of your web-framework / library.
    564 
    565 Demand for web developers is huge and in my opinion it is the easiest
    566 way to get a job. The web development sucks in general (at least for
    567 me), but that topic will be hold for another article.
     601It is also possible to get a job with a less popular stack, but if you
     602are just starting it might be reasonable to focus on the popular one
     603first. The list of technologies is quite big, so newbies can be lost in
     604new information. Be patient and learn one thing at a time. I would
     605recommend starting with programming language documentation, then SQL,
     606and then going to the docs of your web framework/library.
     607
     608Demand for web developers is huge and in my opinion, it is the easiest
     609way to get a job if you are just starting even tho it has a lot of
     610downsides too, but that's a topic for another article.
  • content/legal.org

    rcdbce2b rde4a3db  
    55*<@w96k>* Copyright © 2019-2022 /w96k/
    66
    7 По вопросам правового характера обращаться по email: [[mailto:w96k@posteo.net][w96k@posteo.net]]
     7По вопросам правового характера обращаться по email: [[mailto:w96k.ru@gmail.com][w96k.ru@gmail.com]]
    88
    99** Содержимое сайта
     
    3333  распространяется оригинал.
    3434
    35 ** Исходный код сайта
    36 Исходный код данного сайта доступен по адресу: https://git.sr.ht/~w96k/at-w96k
    37 
    38 Эта программа является свободным программным обеспечением: Вы можете
    39 распространять ее и (или) изменять, соблюдая условия Генеральной
    40 публичной лицензии GNU, опубликованной Фондом свободного программного
    41 обеспечения; либо редакции 3 Лицензии, либо (на Ваше усмотрение) любой
    42 редакции, выпущенной позже.
    43 
    44 Эта программа распространяется в расчете на то, что она окажется
    45 полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, включая подразумеваемую гарантию
    46 КАЧЕСТВА либо ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Ознакомьтесь с
    47 Генеральной публичной лицензией GNU для получения более подробной
    48 информации.
    49 
    50 Вы должны были получить копию Генеральной публичной лицензии GNU
    51 вместе с этой программой. Если Вы ее не получили, то перейдите по
    52 адресу: <http://www.gnu.org/licenses/>.
    53 
    5435** Прочее
    5536Favicon сайта, он же файл [[../public/favicon.png][./public/favicon.png]] был модифицирован и
  • content/sitemap.org

    rcdbce2b rde4a3db  
    381381  - [[file:digarden/20211010065540-словарь.org][Словарь]]
    382382  - [[file:digarden/20210709162920-выразительность.org][Выразительность]]
    383   - [[file:digarden/20210919062357-интуит.org][Интуит]]
    384383  - [[file:digarden/20211213055858-ledger.org][Ledger]]
    385384  - [[file:digarden/20211215172353-разумное_потребление.org][Разумное потребление]]
     
    421420  - [[file:digarden/20220808121307-замыкание.org][Замыкание]]
    422421  - [[file:digarden/20220505001638-repl.org][REPL]]
    423   - [[file:digarden/20220302045647-воина_2022_год.org][Война 2022 год]]
    424422  - [[file:digarden/20220203185244-postgresql.org][PostgreSQL]]
    425423  - [[file:digarden/20220515025218-smalltalk.org][Smalltalk]]
Note: See TracChangeset for help on using the changeset viewer.