<?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: mohaned mashaly</title>
    <description>The latest articles on DEV Community by mohaned mashaly (@12mohaned).</description>
    <link>https://dev.to/12mohaned</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%2F371984%2Fcf3f9e45-bab7-4db1-b0ff-3f44a6b1f853.jpeg</url>
      <title>DEV Community: mohaned mashaly</title>
      <link>https://dev.to/12mohaned</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/12mohaned"/>
    <language>en</language>
    <item>
      <title>Database Design of the app, p.3</title>
      <dc:creator>mohaned mashaly</dc:creator>
      <pubDate>Fri, 18 Dec 2020 21:19:52 +0000</pubDate>
      <link>https://dev.to/12mohaned/database-design-of-the-app-p-3-amg</link>
      <guid>https://dev.to/12mohaned/database-design-of-the-app-p-3-amg</guid>
      <description>&lt;p&gt;This is post is part of the DigitalOcean Hackathon Series.&lt;/p&gt;

&lt;p&gt;In this post inshallah, I will present the design of the database I will be using for the entities and the relations in AroundTheHood project.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DT1BoiTu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ntvzq4x40fhvdenrppaz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DT1BoiTu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ntvzq4x40fhvdenrppaz.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Any comments or feedbacks are highly appreciated and valued. &lt;/p&gt;

</description>
      <category>database</category>
      <category>design</category>
    </item>
    <item>
      <title>Front-end Prototype of the app, p.2</title>
      <dc:creator>mohaned mashaly</dc:creator>
      <pubDate>Tue, 15 Dec 2020 22:17:45 +0000</pubDate>
      <link>https://dev.to/12mohaned/front-end-prototype-of-the-app-p-2-17e8</link>
      <guid>https://dev.to/12mohaned/front-end-prototype-of-the-app-p-2-17e8</guid>
      <description>&lt;h1&gt;
  
  
  series : ["DigitalOcean Hackathon"]
&lt;/h1&gt;

&lt;p&gt;This is post is part of the DigitalOcean Hackathon Series.&lt;/p&gt;

&lt;p&gt;In this post inshallah, I will present the prototype of the App where I will show you how the front-end will look like. &lt;/p&gt;

&lt;p&gt;The first image shows a blueprint of how the Home-page will look like and it's main functions.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--b6yrMYW1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/o6vz875vi9yauuayc9dm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b6yrMYW1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/o6vz875vi9yauuayc9dm.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The second image shows a blueprint of how the Signup/Login form will look like. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--u1uu4xxr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vifnikwhl08d930q9jtm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--u1uu4xxr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vifnikwhl08d930q9jtm.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The third image shows a blueprint of how the lending form will look like. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Mmttix9W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2k73iyvojtm2ngmcgml6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Mmttix9W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2k73iyvojtm2ngmcgml6.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Last image shows the user profile and how it will look like, the profile contains personal info of the user, past transactions, his/her total earnings. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NP-xHF54--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dxnhg26h8g30pwctspz2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NP-xHF54--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dxnhg26h8g30pwctspz2.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;of-course this design is not final as I will be following the agile methodology where I will be developing the app in sprints and add other features on the way.&lt;/p&gt;

&lt;p&gt;in the next post inshallah I will share with you the database design and the above features implemented with Html, CSS and bootstrap. &lt;/p&gt;

</description>
      <category>design</category>
      <category>programming</category>
      <category>prototype</category>
    </item>
    <item>
      <title>The architecture of the app, p.1</title>
      <dc:creator>mohaned mashaly</dc:creator>
      <pubDate>Mon, 14 Dec 2020 20:37:44 +0000</pubDate>
      <link>https://dev.to/12mohaned/the-architecture-of-the-app-p-1-1g8c</link>
      <guid>https://dev.to/12mohaned/the-architecture-of-the-app-p-1-1g8c</guid>
      <description>&lt;h1&gt;
  
  
  series : ["DigitalOcean Hackathon"]
&lt;/h1&gt;

&lt;p&gt;This is post is part of the DigitalOcean Hackathon Series. &lt;/p&gt;

&lt;p&gt;In this post inshallah, I will present The Architecture which highlights the main modules and functions of the platform. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FzeJHpjd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fa1zusvpmehzkwx7ff2v.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FzeJHpjd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fa1zusvpmehzkwx7ff2v.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The platform idea is to locate nearby neighbors where neighbors in the same hood can rent and lend gadgets they want.&lt;/p&gt;

</description>
      <category>python</category>
      <category>architecture</category>
      <category>platform</category>
    </item>
    <item>
      <title>Data Exploration of women education in us </title>
      <dc:creator>mohaned mashaly</dc:creator>
      <pubDate>Sat, 03 Oct 2020 18:22:36 +0000</pubDate>
      <link>https://dev.to/12mohaned/data-exploration-of-women-education-in-us-1kkb</link>
      <guid>https://dev.to/12mohaned/data-exploration-of-women-education-in-us-1kkb</guid>
      <description>&lt;p&gt;this article is going to be extremely short since I will show only visuals and graphs from data-set I found on Kaggle where it highlights college majors women in us tend to enrol and finish. &lt;/p&gt;

&lt;p&gt;I will present the top 5 college majors women in us got their degree at. &lt;/p&gt;

&lt;p&gt;1- Health Professions &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xgYplVK8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1o3bgayhxnpnixpdnj5f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xgYplVK8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1o3bgayhxnpnixpdnj5f.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
2- Education &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IEHBH8hR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tm7df4xok1okhhkg8cjk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IEHBH8hR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tm7df4xok1okhhkg8cjk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3- public Administration &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FoXQM2Y_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kg47h5juli5oqsxz8dm0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FoXQM2Y_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kg47h5juli5oqsxz8dm0.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
4- Foreign Languages&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AlKjZM8S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l5j21tn6axn4iqygqx92.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AlKjZM8S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l5j21tn6axn4iqygqx92.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
5- Psychology &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9T7vhJLq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/uzbtdj24luwwb3w9wqo1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9T7vhJLq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/uzbtdj24luwwb3w9wqo1.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The full notebook can be found here :- &lt;a href="https://www.kaggle.com/mohanedmashaly/data-exploration"&gt;https://www.kaggle.com/mohanedmashaly/data-exploration&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>machinelearning</category>
      <category>jupyter</category>
    </item>
    <item>
      <title>Diabetes Classification with knn and Logistic Regression </title>
      <dc:creator>mohaned mashaly</dc:creator>
      <pubDate>Wed, 30 Sep 2020 11:10:54 +0000</pubDate>
      <link>https://dev.to/12mohaned/diabetes-classification-with-knn-and-logistic-regression-5hci</link>
      <guid>https://dev.to/12mohaned/diabetes-classification-with-knn-and-logistic-regression-5hci</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Machine Learning has a lot of novel and great applications in the area of Health-care and can make patient diagnosis much easier and accurate taking in consideration right amount data is used in term of size and has meaningful relation to the problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;br&gt;
the problem this article will cover is a classification problem to classify whether a person is a diabetic or not taking into consideration attributes like Insulin, Blood pressure, Skin-Thickness, BMI, Age, Glucose, Pregnancies, Diabetes Pedigree Function and the output should be whether a person has diabetes or not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Approach&lt;/strong&gt;&lt;br&gt;
we will be using K-Nearest Neighbour classifier and Logistic Regression and compare the accuracy of both methods and which one fit the requirements of the problem but first let's explain what is K-Nearest Neighbour Classifier and Logistic Regression &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;K-Nearest Neighbour&lt;/strong&gt;&lt;br&gt;
K-Nearest is a Distance based Algorithm which means it does take distance in consideration when learning a data set, K-Nearest tries to classify which data point belongs to which class, let's say we have a finite number of data points on a graph from these finite number data points we have five data points near to each other which implies they have a-lot in common so hypothetically it's safe to consider them a class and this what K-nearest tries to achieve to classify points to a class by clustering points similar to each other as a class.&lt;/p&gt;

&lt;p&gt;did you ever wonder what is K, it might not seem obvious that K is a variable and it changes depending on the problem but the most common value for k is between 5 and 10, what K represents is the number of data points we take in consideration when forming a class or classifying a data point for example if you chose the K to be 2 or 3 then the point you're trying to classify will look to the nearest 2 or 3 points and what class do they belong to and it will be classified to the class with the shortest distance. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Logistic Regression&lt;/strong&gt;&lt;br&gt;
Regression sounds like a whole different problem it seems like we are expecting a continuous instead of a discrete output but it's not true Logistic Regression is a classification but why are we using the word regression ?&lt;br&gt;
because Logistic Regression is another scientific name for the function where the algorithm is based on which is called Sigmoid function so it's just a naming convention so in order to have a good grasp of Logistic Regression one should understand Sigmoid function first, Sigmoid function is a function with output range between 0 and 1 so it's widely used in probability predicting models as in Logistic Regression when we try to classify a class  for example whether a person is diabetic or not Logistic Regression outputs the probability that a case(input data) belongs to a certain class or not based on the Sigmoid Algorithm so for example if output of a given input is less than 0.5 then he's not diabetic else he's diabetic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Implementation&lt;/strong&gt;&lt;br&gt;
First we have to do some Feature Engineering for the dataset, since we know KNN is a distance based Algorithm and it uses distance function like Manhattan or Euclidean to calculate distance between two points we have to keep value of the attributes in control and small range to avoid wasted computational power and complexity so we are going to normalize the dataset since we have features with different range in nature after that we search for missing values 0 or NaN and sometimes the empty values is denoted as '?' also be careful some values can have 0 without any problems like, number of brothers or sisters but in case 0 doesn't make similar to our case where blood pressure in some cases we have do what is called Imputation where we substitute empty data values with relevant values using different strategies like mean or mode of the column of the missing values or by using regression to predict the missing value then we use Sklearn to traing data on knn and logistic classifier and then we present our metrics using evolution matrix and that's it &lt;/p&gt;

&lt;p&gt;the full notebook can be found here :- &lt;br&gt;
&lt;a href="https://www.kaggle.com/mohanedmashaly/knn-classifier-vs-logistic-regression"&gt;https://www.kaggle.com/mohanedmashaly/knn-classifier-vs-logistic-regression&lt;/a&gt;&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>python</category>
      <category>jupyter</category>
    </item>
    <item>
      <title>nlp in 3 minutes </title>
      <dc:creator>mohaned mashaly</dc:creator>
      <pubDate>Fri, 21 Aug 2020 22:14:32 +0000</pubDate>
      <link>https://dev.to/12mohaned/nlp-in-5-minutes-2k52</link>
      <guid>https://dev.to/12mohaned/nlp-in-5-minutes-2k52</guid>
      <description>&lt;h3&gt;
  
  
  what is NLP :
&lt;/h3&gt;

&lt;p&gt;NLP is an acronym for Natural processing language which is a sub-field of AI where it tries to interpret and understand human language through different information extraction techniques, nlp aims to make interaction between computers and human more seamless to the extent that a computer can master human language and understand it, NLP has two main fields underneath it's hood which NLU(Natural Language Understanding) &amp;amp; NLG(Natural Language Generation), NLU tries to understand human text and speech by extracting data from different sources(Blog, Articles, etc..) while NLG tries to generate data in a certain language,imagine someone is trying to write a paragraph in a language other than  his native one(computer's native language is 0's and 1's) without studying the language first, of-course he can't so does the machine or the computer so to understand human language the pipeline of NLP start with NLU actions and processes then NLG ones because s normal can't write a paragraph or summarise a text without understanding it. &lt;/p&gt;

&lt;h3&gt;
  
  
  what is NLTK:
&lt;/h3&gt;

&lt;p&gt;NLTK is the Natural Language Tool Kit in python, it's an nlp library used to perform nlp functions in Python like Named-entity recognition or training on a corpus, POS(Part of Speech Tagging), Stemming, Lemmitizing and a-lot of different functions. &lt;/p&gt;

&lt;h3&gt;
  
  
  some NLP Definitions:
&lt;/h3&gt;

&lt;p&gt;1.Corpus:&lt;br&gt;
   Corpus is a very simple term, it's a collection of words and &lt;br&gt;
   sentences and it's available in different languages, it covers &lt;br&gt;
   dialogues from movies, quotes, names, etc..., the supported &lt;br&gt;
   languages in NLTK i worked with were English, German, Arabic &lt;br&gt;
   but i believe it support more languages . &lt;/p&gt;

&lt;p&gt;2.POS(Part of speech tagging):&lt;br&gt;
   Part of a speech tagging is used to identify a word in the &lt;br&gt;
   sentence whether it's a noun, adverb, verb, adjective, pro-noun &lt;br&gt;
   and many more states i was fascinated by it when i saw in nltk.  &lt;/p&gt;

&lt;p&gt;3.Lemmitizing:&lt;br&gt;
   Lemmitizing is a famous technique used in linguistics, it's not &lt;br&gt;
   restricted to  nlp only actually a-lot of the techniques &lt;br&gt;
   presented so far is related to linguistics more than computer &lt;br&gt;
   science or ML since NLP is a joint between Linguistics and &lt;br&gt;
   Machine Learning or we can consider one of AI applications or &lt;br&gt;
   domains in Linguistics, what lemmitizing basically does it &lt;br&gt;
   convert a word to it's normal state by removing additional &lt;br&gt;
   characters or converting a word into adjective or a verb.&lt;/p&gt;

&lt;p&gt;4.Stemming:&lt;br&gt;
   a variation of Lemmitizing, personally i don't find stemming &lt;br&gt;
   useful(don't understand it's use), lemmitizing is much more &lt;br&gt;
   better and accurate.&lt;/p&gt;

&lt;p&gt;5.Named-entity recognition:&lt;br&gt;
   Named Entity Recognition is categorising words or sentences &lt;br&gt;
   into categories, Name, Company, City,etc... it determines &lt;br&gt;
   whether a word in a sentence is a person's name or a company's &lt;br&gt;
   or city or whatever category it belongs to , Name-entity &lt;br&gt;
   recognition Algorithm is a model trained on different corpus to &lt;br&gt;
   learn how to categorise words into entities. &lt;/p&gt;

&lt;p&gt;6.Word Tokenization:&lt;br&gt;
   any-one familiar with python will find this concept fairly &lt;br&gt;
   simple, a tokenizer breaks the sentence into words, nltk has an &lt;br&gt;
   awesome feature, there's two types of tokenizers, word and &lt;br&gt;
   sentence where word-tokenizer breaks a paragraph into words &lt;br&gt;
   while sentence-tokenizer breaks a paragraph into smaller &lt;br&gt;
   sentences.&lt;/p&gt;

&lt;p&gt;NLP in action:&lt;br&gt;
 now i write two small program to practically demonstrate how &lt;br&gt;
 useful nltk can be, try to guess the concepts used in the &lt;br&gt;
 programs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   import nltk 
   from nltk.tokenize import word_tokenize
   Text = "I am wondering who did produce Tom and Jerry Series is 
   it Disney or Netflix?"
   tokenized_sentence= new word_tokenize(Text)
   tagged_sentence = nltk.pos_tag(Text)
   for word in tokenized_sentence: 
     print(word) 
   print(tagged_sentence)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   import nltk 
   from nltk.tokenize import word_tokenize
   Text = "Elon Musk wants to Colonize mars but i believe 
   SpaceX and even Nasa still have a long road to take "
   tokenized_sentence= word_tokenize(Text)
   tagged_sentence = nltk.pos_tag(tokenized_sentence)
   Sentence_entities = nltk.chunk.ne_chunk(tagged_sentence)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fun to Read:&lt;br&gt;
&lt;a href="https://www.datacamp.com/community/tutorials/text-analytics-beginners-nltk"&gt;https://www.datacamp.com/community/tutorials/text-analytics-beginners-nltk&lt;/a&gt;&lt;br&gt;
&lt;a href="https://pythonprogramming.net/lemmatizing-nltk-tutorialhttps://www.datacamp.com/community/tutorials/text-analytics-beginners-nltk"&gt;https://pythonprogramming.net/lemmatizing-nltk-tutorialhttps://www.datacamp.com/community/tutorials/text-analytics-beginners-nltk&lt;/a&gt;&lt;br&gt;
&lt;a href="https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fnatural-language-processing-nlp-top-10-applications-to-know-b2c80bd428cb"&gt;https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fnatural-language-processing-nlp-top-10-applications-to-know-b2c80bd428cb&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>machinelearning</category>
      <category>ai</category>
      <category>nltk</category>
    </item>
    <item>
      <title>unit-testing </title>
      <dc:creator>mohaned mashaly</dc:creator>
      <pubDate>Sat, 25 Jul 2020 19:43:00 +0000</pubDate>
      <link>https://dev.to/12mohaned/unit-testing-3n0i</link>
      <guid>https://dev.to/12mohaned/unit-testing-3n0i</guid>
      <description>&lt;p&gt;unit testing is defined as testing a function or class or a module in a program to check for any bugs before further testing is carried by the software testing team, a lot  of start-ups and companies now expect developers to know unit testing methodologies and frameworks in the back-end language they are using to make the testing process done by software testers afterwards more efficient in terms of time and cost, so it's favourable for a developer/programmer to know unit teasing to ease the life of software tester and make sure his/her code works well to a certain extent, personally I tried unit testing in python, Golang in projects I was working on and somehow familiar with it in java but never used it, I will talk about pytest as a framework for testing and how it promotes a cleaner and more efficient use than the standard testing library in python, but first I will talk about some definition and jargons in pytest &lt;/p&gt;

&lt;p&gt;@pytest.fixture : to put it simply fixture is a code which is repeated many times in the code or a variable which is used by many methods/functions i.e: database connection or creating object.&lt;/p&gt;

&lt;p&gt;@pytest.mark.module1_test : markers is used to specify which functions you're interested in testing when starting the testing process, for example every function with module1_test signature will be tested.&lt;/p&gt;

&lt;p&gt;let's look at a function which test a function which check wether a number is even or not&lt;/p&gt;

&lt;p&gt;@pytest.mark.even_test &lt;br&gt;
def is_even():&lt;br&gt;
    number1 = 2&lt;br&gt;
    assert number1 % 2 == 0&lt;/p&gt;

&lt;p&gt;the test will run successfully if the number if the number1 is event else it will fails.&lt;/p&gt;

&lt;p&gt;make sure as a developer to add unit testing on to learn list because it's a very powerful tool which can promote good coding habits &lt;/p&gt;

&lt;p&gt;Fun to Read :-&lt;br&gt;
&lt;a href="https://yeti.co/blog/using-pytest-to-write-beautiful-tests-and-a-bulletproof-django-app/"&gt;https://yeti.co/blog/using-pytest-to-write-beautiful-tests-and-a-bulletproof-django-app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://guru99.com/pytest-tutorial.html#3"&gt;http://guru99.com/pytest-tutorial.html#3&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>testing</category>
      <category>pytest</category>
    </item>
    <item>
      <title>CMD Commands</title>
      <dc:creator>mohaned mashaly</dc:creator>
      <pubDate>Tue, 12 May 2020 02:12:56 +0000</pubDate>
      <link>https://dev.to/12mohaned/cmd-commands-3bao</link>
      <guid>https://dev.to/12mohaned/cmd-commands-3bao</guid>
      <description>&lt;p&gt;When I started Learning Development one of the Courses i Took during my enrolment in the full stack nano degree program offered by Udacity was Command Line and how to use it, Command Line is the CLI (Command Line Interface) Version of how to deal with computer, on the mac it's called Terminal but for windows it's called shell, let's say your trying to create a new Directory you have two option press right click and choose create new folder from the menu(GUI Version)or type "mkdir" command in the Terminal (CLI Version),the GUI version was developed because it doesn't make any sense for normal users to type bunch of commands in a black screen to create a folder or to view a photo or to delete a file, in this article i will show a bunch of Commands which comes in Handy.&lt;/p&gt;

&lt;p&gt;Basic Commands :- &lt;/p&gt;

&lt;p&gt;.Command: mkdir "FolderName" &lt;br&gt;
Create a new Directory called FolderName, the mkdir abbreviation stands for (make directory )&lt;/p&gt;

&lt;p&gt;.Command : cd FolderName &lt;br&gt;
Change your current location to be on Folder, the cd abbreviation stands &lt;br&gt;
for (Change Directory)&lt;/p&gt;

&lt;p&gt;.Command : ls &lt;br&gt;
List the Files inside the current Directory you're in, ls abbreviation &lt;br&gt;
stands for List &lt;/p&gt;

&lt;p&gt;.Command: pwd &lt;br&gt;
output the path you're currently in, pwd abbreviation stands for print &lt;br&gt;
working directory &lt;/p&gt;

&lt;p&gt;.Command: cd ../ &lt;br&gt;
 Redirect you to the previous directory &lt;/p&gt;

&lt;p&gt;.Command: rm File.pdf&lt;br&gt;
 Remove File.pdf from the computer (you won't find it in the trash)&lt;/p&gt;

&lt;p&gt;Extra's :&lt;/p&gt;

&lt;p&gt;if develop in python and want to download any module or library you can &lt;br&gt;
 install and use pip a package installer for python&lt;/p&gt;

&lt;p&gt;Command : pip install ModuleName&lt;/p&gt;

&lt;p&gt;you can also code in python in the Terminal by typing python in the &lt;br&gt;
 Terminal if python is installed on your machine &lt;/p&gt;

&lt;p&gt;you can use HomeBrew to install any package installer you want &lt;br&gt;
 Brew install Packagename &lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>cmd</category>
      <category>terminal</category>
    </item>
    <item>
      <title>Article Hub (DEV Clone)</title>
      <dc:creator>mohaned mashaly</dc:creator>
      <pubDate>Wed, 06 May 2020 22:49:43 +0000</pubDate>
      <link>https://dev.to/12mohaned/article-hub-dev-clone-5bka</link>
      <guid>https://dev.to/12mohaned/article-hub-dev-clone-5bka</guid>
      <description>&lt;p&gt;I believe that Learning by Doing  is the best learning strategy for me to learn anything, before the lockdown, I though about taking a break from Django and Try new Language where you can be more involved and creative since Django provide a minimal work for the developers or the programmer working with it to do and doesn't encourage creativity, I think that's why it's called a Framework for Deadlines so I decided up to give GoLang a shot since I read an Article about it and how it was designed, I was fascinated by it's elegance and eloquence, GoLang really is one of the cleanest language I had came across during my short span of experience as a student developer or programmer but I really love it and I think I will stick with it for some time, the latest side project I have been working on with GoLang is a Web-app which is a clone to DEV&lt;br&gt;
and here are the link for the repo if anyone interested to see it :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/12mohaned/article_hub"&gt;https://github.com/12mohaned/article_hub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am more than welcome to receive feedbacks&lt;/p&gt;

&lt;p&gt;the project is not final yet I believe I will finish within the couple  next days, I am thinking about constructing a Recommender System with machine Learning so I am not sure if I am going to do this or not &lt;/p&gt;

</description>
      <category>go</category>
      <category>webdev</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>Go Gorilla </title>
      <dc:creator>mohaned mashaly</dc:creator>
      <pubDate>Thu, 30 Apr 2020 17:20:45 +0000</pubDate>
      <link>https://dev.to/12mohaned/go-gorilla-2c3p</link>
      <guid>https://dev.to/12mohaned/go-gorilla-2c3p</guid>
      <description>&lt;p&gt;Gorilla is a Go Routing Library used for handling requests and sessions, url routing in GoLang.&lt;/p&gt;

&lt;p&gt;We will start with Handling Request with and without using mux(Gorilla Feature)&lt;/p&gt;

&lt;h1&gt;
  
  
  Handlers
&lt;/h1&gt;

&lt;p&gt;Handler from it's name, it Handles the upcoming requests from the users, the naming convention for creating the function responsible for handling requests should be named to it's functionality if we are creating handler to handle user request to access Home page then it would be named HomeHandler let's go the code of creating HomeHanlder.&lt;/p&gt;

&lt;p&gt;func HomeHandler(Response http.ResponseWriter, Request *http.Request){&lt;br&gt;
template,_ := template.ParseFiles("Home.html")&lt;br&gt;
template.Execute(Response,nil)&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;then we need to create the url which this function will map to and the port where the page will be hosted. &lt;/p&gt;

&lt;p&gt;func main(){&lt;br&gt;
http.HandleFunc("/Home",HomeHandler)&lt;br&gt;
http.ListenAndServe(":8000",nil)&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;the above example doesn't used mux(request multiplexer) it uses function from library "net/http"&lt;/p&gt;

&lt;p&gt;Mux in gorilla store many Handler's in it and map every one to it's url so if we want to use Gorilla we will slightly change the above code to this :- &lt;/p&gt;

&lt;p&gt;func main(){&lt;br&gt;
 request := mux.NewRouter()&lt;br&gt;
 request.HandleFunc("/Home", HomeHandler)&lt;br&gt;
 http.Handle("/", request)&lt;br&gt;
 http.ListenAndServe(":8000",nil)&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;so what mux basically does it's store more than one route.&lt;/p&gt;

&lt;h1&gt;
  
  
  Sessions
&lt;/h1&gt;

&lt;p&gt;Sessions is used to store information about user and retrieve this information whenever it's needed for example if I want to create authentication for Facebook so that no one can access certain pages without log in.&lt;/p&gt;

&lt;p&gt;Sessions can be used to authenticate whether users logged in or not,&lt;br&gt;
let's apply this our HomeHandler &lt;/p&gt;

&lt;p&gt;First we are going to create cookie which will store our wanted attributes in an encrypted form &lt;br&gt;
//creating a new cookie &lt;/p&gt;

&lt;p&gt;var (&lt;br&gt;
    key = []byte("super-secret-key")&lt;br&gt;
    store = sessions.NewCookieStore(key)&lt;br&gt;&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;func HomeHandler(Response http.ResponseWriter, Request *http.Request){&lt;br&gt;
//create a session with the request and cookiename&lt;br&gt;
session, _ := store.Get(Request, "cookie-name")&lt;br&gt;
//return boolean which check whether this session is authenticated or not (true)&lt;br&gt;
auth, ok := session.Values["authenticated"].(bool)&lt;br&gt;
if !auth || !ok {&lt;br&gt;
http.Error(Response, "You Should Log in to Access this page", http.StatusForbidden)&lt;br&gt;
}&lt;br&gt;
template,_ := template.ParseFiles("Home.html")&lt;br&gt;
template.Execute(Response,nil)&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;so when should i set the Authentication to true when should the user have access to the Home Page (Spoiler Alert) when logging in !&lt;/p&gt;

&lt;p&gt;So Simply when logging in or Signing up we are gonna set the session.Values["authenticated"] = true &lt;/p&gt;

&lt;p&gt;So let's write a log in handler when the user log in&lt;/p&gt;

&lt;p&gt;func LoginHandler(Response http.ResponseWriter, Request *http.Request){&lt;br&gt;
session, _ := store.Get(Request, "cookie-name")&lt;br&gt;
session.Values["authenticated"] = true&lt;br&gt;
//name here is going to be the name user write when filling the log in form &lt;br&gt;
session.Values["username"] = name&lt;br&gt;
session.Save(Request, Response)&lt;br&gt;
template,_ := template.ParseFiles("Login.html")&lt;br&gt;
template.Execute(Response,nil)&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;and Voila.  &lt;/p&gt;

&lt;p&gt;you can do the same for Signup Handler when creating it.&lt;/p&gt;

&lt;p&gt;Of-course Gorilla has more features and many of these features i am still exploring with and don't know anything about it you can check them out at Gorilla Github Repo &lt;/p&gt;

</description>
      <category>go</category>
      <category>http</category>
      <category>gorilla</category>
    </item>
    <item>
      <title>Algorithms part 1</title>
      <dc:creator>mohaned mashaly</dc:creator>
      <pubDate>Wed, 29 Apr 2020 18:13:30 +0000</pubDate>
      <link>https://dev.to/12mohaned/algorithms-part-1-356l</link>
      <guid>https://dev.to/12mohaned/algorithms-part-1-356l</guid>
      <description>&lt;p&gt;One of the main reasons why i love computer science or programming is problem solving, back to school i used to memorise everything that come within my eye sight which translated in bad grades because learning or knowledge is not a standalone process it dependent process and if you're going to memorise these prerequisite you will eventually forget them and will suffer in a more advanced levels due to lack of knowledge.&lt;/p&gt;

&lt;p&gt;this changed in college when i got to my first computer science class and started to grasp the ideas of deduction and understanding and experimenting for example you don't have to memorise the proof just fully understand it and deduce it based on your understanding.&lt;/p&gt;

&lt;p&gt;without going into further details this post contain list for some of my favourite Algorithms this list by no mean is Exhaustive or intended for a certain learning pattern it's just for sharing my own thoughts &lt;/p&gt;

&lt;h1&gt;
  
  
  Sieve of Eratosthenes:-
&lt;/h1&gt;

&lt;p&gt;this Algorithm was developed by a greek mathematician.&lt;/p&gt;

&lt;p&gt;Explanation&lt;br&gt;
it's used to find the number of prime numbers for a given a range (N) between 2 and (N) with a complexity of O(Log(n)&lt;em&gt;N) normally to find prime numbers within a range will requires a complexity of O(N&lt;/em&gt;*2) &lt;br&gt;
so how this Algorithm works is that you loop over the Range Log(N) which is the first loop then in the second you will over the N the idea here is mark all non-prime numbers to true then check for false value and count them to be prime.&lt;/p&gt;

&lt;p&gt;to do so we can get the range of number which divides i then set it to true.&lt;/p&gt;

&lt;p&gt;let take 3 for example when i is 3 then j will be  9, 12, 15,18,etc.. &lt;br&gt;
do you see the pattern it will set every multiple of 3 to true so this is the general idea of the Algorithm turning every multiple of i to true(non-prime) because if a number if multiple of a number it means it can be divides by it and prime number only is divisible by itself and 1 &lt;/p&gt;

&lt;p&gt;Note :- There's a developed version of this Algorithm with a complexity of O(N) feel free to check it&lt;br&gt;
** :power sign&lt;/p&gt;

&lt;p&gt;Code :-&lt;br&gt;
func Calculate_prime(n int)int {&lt;br&gt;
    var count int&lt;br&gt;
    var i,j int&lt;br&gt;
    var arr[1000000] bool&lt;br&gt;
    var number float64 &lt;br&gt;
    number = float64(n)&lt;br&gt;
    number = math.Sqrt(number)&lt;br&gt;
    number1 := int(number)&lt;br&gt;
    if(n &amp;gt; 1000000){&lt;br&gt;
    fmt.Println("The Number has to be less than 1000000")&lt;br&gt;
    return -1;&lt;br&gt;&lt;br&gt;
    }&lt;br&gt;
for i = 2; i &amp;lt; number1 ; i++ {&lt;br&gt;
for j = i * i; j &amp;lt; n; j = i + j {&lt;br&gt;
arr[j] = true&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
for i = 0; i &amp;lt; n ; i++ {&lt;br&gt;
if(!arr[i]){&lt;br&gt;
count++&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
return count&lt;br&gt;
}&lt;/p&gt;

&lt;h1&gt;
  
  
  Counting Sort
&lt;/h1&gt;

&lt;p&gt;Despite this Algorithm is not widely because of it's not good complexity but the idea behind this Algorithm is both Simple and beautiful i don't know but i find it a beautiful algorithm.&lt;/p&gt;

&lt;p&gt;Counting Sort was invented by Harold H. Seward, it's complexity is O(n+m).&lt;/p&gt;

&lt;h3&gt;Explanation&lt;/h3&gt;

&lt;p&gt;Counting Sort from it's name is a sorting algorithm, the main idea behind this Algorithm is to count the number of occurrence of a number and put every number in an array with an index similar to it's value.&lt;/p&gt;

&lt;p&gt;so if we have an array looks like this {7,5} then the first array which map every number to an index with same value will look like this &lt;br&gt;
Numbers = {0,0,0,0,1,0,1,0} if the array is {7,5,5} then it will look like this &lt;br&gt;
Numbers = {0,0,0,0,2,0,1,0} where the number 2 is the occurrences of 5 in the array Numbers&lt;/p&gt;

&lt;p&gt;Code :- &lt;/p&gt;

&lt;p&gt;func sort(Array[1000000]int)[] int{&lt;br&gt;
    var indices[1000000]int&lt;br&gt;
    max := Array[0]&lt;br&gt;
    var i,j int&lt;br&gt;
for i=0; i &amp;lt;  1000000; i++ {&lt;br&gt;
    if(max &amp;lt; Array[i]){&lt;br&gt;
    max = Array[i]&lt;br&gt;&lt;br&gt;
    }&lt;br&gt;
    }&lt;br&gt;
new_Array := Array[0:max]&lt;br&gt;
for i =0 ; i &amp;lt; max; i++ {&lt;br&gt;
if(new_Array[i] != 0){&lt;br&gt;
indices[new_Array[i]]++&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
for i=0; i &amp;lt;= max; i++ {&lt;br&gt;
    for x := indices[i]; x &amp;gt; 0; x-- {&lt;br&gt;
    new_Array[j] = i;&lt;br&gt;
    indices[i]--&lt;br&gt;
    j++&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
return new_Array&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Explanation&lt;br&gt;
1) find the maximum number in the array and assign the size of array to it + 1&lt;br&gt;
2) loop over the maximum number and position every element according to it's value &lt;br&gt;
3) loop over the array where elements sorted based on the position&lt;br&gt;&lt;br&gt;
4) loop over the number of occurrences of element till it's zero &lt;br&gt;
5) Elements is sorted in new_Array &lt;/p&gt;

&lt;h1&gt;  Naive Pattern Searching &lt;/h1&gt;

&lt;p&gt;This Algorithm is used for searching a certain character or string or to put is simply a substring in a string.&lt;/p&gt;

&lt;p&gt;let's say we are looking for the word "Algorithms" in sentence "I Love Algorithms"  &lt;/p&gt;

&lt;h3&gt;Explanation&lt;/h3&gt;

&lt;p&gt;we are going to map every Characters to check if it does exists or not &lt;br&gt;
for Example when the Algorithm start it will compare I with A then it will break but it will shift to the next index so it scans every index, if the index doesn't match it will break from the loop, the reason for loop condition to be text.length() - Pattern.length() is that in the last loop in the second loop the index of i will be equals to the text.length() so to avoid IndexoutofBound Exception.&lt;/p&gt;

&lt;p&gt;Note :- This Code is written in java because i have more experience solving problems with java and i couldn't find a way to access character like .charAt() in java(I was Lazy) &lt;/p&gt;

&lt;p&gt;Code:-&lt;br&gt;
public void naiveSearc(String text, String Pattern){&lt;br&gt;
for(int i=0 ; i &amp;lt;= text.length()-Pattern.length();i++){&lt;br&gt;
    int j ;&lt;br&gt;
    for(j=0 ; j &amp;lt; Pattern.length();j++) {&lt;br&gt;
    if(text.charAt(i+j) != Pattern.charAt(j)) {&lt;br&gt;
        break;&lt;br&gt;
    }&lt;br&gt;&lt;br&gt;
    }&lt;br&gt;
    if (j == Pattern.length()) {&lt;br&gt;
        System.out.println("Pattern found at " +i);&lt;br&gt;
    }&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Sorry for any Typos &lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>algorithms</category>
      <category>go</category>
    </item>
    <item>
      <title>Go Crypto </title>
      <dc:creator>mohaned mashaly</dc:creator>
      <pubDate>Mon, 27 Apr 2020 18:12:04 +0000</pubDate>
      <link>https://dev.to/12mohaned/go-crypto-34kc</link>
      <guid>https://dev.to/12mohaned/go-crypto-34kc</guid>
      <description>&lt;p&gt;Go has a Framework for Crypto-currency called Crypto which cover topics to build a secured blockchain, i am not a blockchain developer so i am not going to dive deep into blockchain structures i will speak from a background that i was working on the very early stages of a blockchain network in Go and stopped at Markov Tree (I don't know when I will complete this side project but i hope it will be soon), BlockChain can be understood from it's name, it's a chain of blocks connected together by a secured string(hash)like sha256, sha1 or md5 .&lt;/p&gt;

&lt;p&gt;All the above Techniques ensure a secured immutable block but not completely secured, a-lot of techniques is used to spoil the security of the blockchain like rainbow table attack, hashing is used in blockchain to hash the pointer of the block so they reference one another. &lt;/p&gt;

&lt;p&gt;for example if the id of the block is a string of a value equals to "I_Love_Tanya_Romanov" the equivalent hash of this string in Sha256 is "1ce39a808b22328f862d730bcc77a542798faaa4f2ebb8eed3185b8272e492fa".&lt;/p&gt;

&lt;p&gt;the Algorithm or idea behind this conversion is technique called hashing if you're familiar with the data structure HashTable that every index in the HashTable or every row has a key and this key is generated from a hash function the hash function is measured to be good or bad by something called collision resistance which means how the hash function every time generates a unique key without collision with another hash.&lt;br&gt;
(Collision means two strings can generate the same hash from one hash function)&lt;/p&gt;

&lt;p&gt;it's impossible to find another string which will generate the same hash of the hash of the string "I_Love_Tanya_Romanov".&lt;/p&gt;

&lt;p&gt;So HashFunction is mathematical function which takes an input a string and generates an output (hash) but it's a one way function which means if i attempted to go trace the output to find the original input i will fail and if i succeed then this is considered a weak HashFunction.&lt;/p&gt;

&lt;p&gt;Now back to the Rainbow table how it manages to make this function a two way function, putting it simply by storing the hashes of famous passwords like 123456, i think you figured out know why some websites recommend making the password a mix of characters and number and special characters like (?,.,/, etc...) to ensure you don't use a trivial password which it's hash can be found in a database.&lt;/p&gt;

&lt;p&gt;GoLang has a library called crypto which deals with the cryptocurrency problems like storing hash of password and this kind of problems now to it &lt;/p&gt;

&lt;p&gt;the following method generates a hash of a string:-&lt;/p&gt;

&lt;p&gt;func hash(s string) string{&lt;br&gt;
    hash := sha256.Sum256([]byte (s))&lt;br&gt;
    hashstring := string(hash[:])&lt;br&gt;
    return hashstring&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;this hash is used as a link between the block for example when linking between two blocks in a blockchain the hash is the pointer which link between the two blocks, let's imagine the Blockchain as a linked list(list or array) of blocks &lt;/p&gt;

&lt;p&gt;Block1 &amp;lt;- Block2 &amp;lt;- Block3 &amp;lt;- Block4 &lt;/p&gt;

&lt;p&gt;this sign &amp;lt;- is the pointer which is stored as hash so this why blockchain is hard to break because even if you broke a chain the preceding ones won't be affected because Block2 can reach Block1 but Block1 can't Reach Block2 which makes blockchain a reversed linked list instead of using linking to the next node the next node linked to the previous node.&lt;/p&gt;

&lt;p&gt;the first node (Block1) is called genesis and it doesn't reference to any other block. &lt;/p&gt;

&lt;p&gt;Fun to Read :- &lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Rainbow_table"&gt;https://en.wikipedia.org/wiki/Rainbow_table&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.researchgate.net/publication/318131748_An_Overview_of_Blockchain_Technology_Architecture_Consensus_and_Future_Trends"&gt;https://www.researchgate.net/publication/318131748_An_Overview_of_Blockchain_Technology_Architecture_Consensus_and_Future_Trends&lt;/a&gt;&lt;/p&gt;

</description>
      <category>go</category>
      <category>blockchain</category>
      <category>computerscience</category>
    </item>
  </channel>
</rss>
