<?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: Rajat Parashar</title>
    <description>The latest articles on DEV Community by Rajat Parashar (@parasharrajat).</description>
    <link>https://dev.to/parasharrajat</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%2F160993%2F0a5a6f75-b93f-4015-951d-9d7096922834.jpeg</url>
      <title>DEV Community: Rajat Parashar</title>
      <link>https://dev.to/parasharrajat</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/parasharrajat"/>
    <language>en</language>
    <item>
      <title>How to overcome the Netsuite "you provided invalid field type: INLINEHTML"</title>
      <dc:creator>Rajat Parashar</dc:creator>
      <pubDate>Sat, 05 Jun 2021 08:24:10 +0000</pubDate>
      <link>https://dev.to/parasharrajat/how-to-overcome-the-netsuite-you-provided-invalid-field-type-inlinehtml-3n8d</link>
      <guid>https://dev.to/parasharrajat/how-to-overcome-the-netsuite-you-provided-invalid-field-type-inlinehtml-3n8d</guid>
      <description>&lt;p&gt;Many times, you want to add a field to your SuiteLet Sublist that is able accept dynamic values. For eg: a URL, Text or RichText. &lt;/p&gt;

&lt;p&gt;I am pretty new to NetSuite but this is something I wanted to do for one of the client project. I could create two column fields. But the issue with this approach is that It creates two columns and as I told earlier I want value to be dynamic. It mean only one type of value will be present thus Allocating another empty column is useless here.&lt;/p&gt;

&lt;p&gt;For this purpose, I came around &lt;code&gt;FieldType.INLINEHTML&lt;/code&gt; &amp;amp; &lt;code&gt;FieldType.RICHTEXT&lt;/code&gt;. But for both of these fields, I got an error saying that *&lt;em&gt;you provided invalid field type: *&lt;/em&gt;. First of all, this is very strange why NetSuite is throwing this error at all if they have given these field types.&lt;/p&gt;

&lt;p&gt;But I didn't find anything related on internet to resolve this error so I thought of a quirk.&lt;/p&gt;




&lt;p&gt;I used a &lt;code&gt;FieldType.TEXTAREA&lt;/code&gt;. Textarea supports rich text and we can embed HTML in them. This works perfectly. You can literally put anything there with styling. &lt;/p&gt;

&lt;p&gt;If I missed something and You know how to fix the original issue, comments are most welcome.&lt;/p&gt;

</description>
      <category>netsuite</category>
      <category>oraclenetsuite</category>
      <category>fix</category>
      <category>suitelet</category>
    </item>
    <item>
      <title>Imperative vs Declarative, S.O.L.I.D and AOP(Aspect-oriented programming)</title>
      <dc:creator>Rajat Parashar</dc:creator>
      <pubDate>Sat, 04 Jan 2020 19:32:22 +0000</pubDate>
      <link>https://dev.to/parasharrajat/imperative-declarative-s-o-l-i-d-and-aop-aspect-oriented-programming-4pji</link>
      <guid>https://dev.to/parasharrajat/imperative-declarative-s-o-l-i-d-and-aop-aspect-oriented-programming-4pji</guid>
      <description>&lt;h3&gt;
  
  
  My Introduction
&lt;/h3&gt;

&lt;p&gt;I am a Software Engineer at one of the Retail based startups. This is my first job which I am following since June 2018. This series will be used as a scratchpad for my learning.&lt;/p&gt;

&lt;h3&gt;
  
  
  Let's dive in
&lt;/h3&gt;

&lt;h5&gt;
  
  
  Table Of Contents
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;AOP&lt;/li&gt;
&lt;li&gt;Imparative vs Declarative&lt;/li&gt;
&lt;li&gt;SOLID&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  AOP(Aspect Oriented Programming) &lt;a&gt;&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;AOP is all about dividing parts of software into small modules. Adhering to AOP means separating various cross-cutting concerns of your software into small aspects that provide advice to your procedures(functions). In this way, we can apply extra functionality to our app without changing the codebase.&lt;/p&gt;

&lt;p&gt;Crosscutting concerns can be:-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Background sync&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;Logging&lt;/li&gt;
&lt;li&gt;analytics&lt;/li&gt;
&lt;li&gt;etc&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of the above tasks are not part of business logic(code which resembles the Idea of your app). These come under extra work. So If we have to change the code and invoke the above-mentioned tasks manually then it will resource consuming.&lt;/p&gt;

&lt;p&gt;AOP gives us an idea of how can we shortcut these tasks.&lt;/p&gt;

&lt;h4&gt;
  
  
  AOP Terminology
&lt;/h4&gt;

&lt;p&gt;Under AOP, various aspects advise your code. Aspects are the key unit of modularity.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Aspects&lt;/em&gt; - these are the classes or modules that apply some advice to your code. For eg - log every action in your app.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Weaving&lt;/em&gt; - weaving is the process of linking the advice to advised object.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Advice&lt;/em&gt; - It is a specific job which is done by aspects.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are various types of advice-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After&lt;/li&gt;
&lt;li&gt;Before&lt;/li&gt;
&lt;li&gt;Around&lt;/li&gt;
&lt;li&gt;AfterRunning&lt;/li&gt;
&lt;li&gt;AfterThrowing &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Yes, they work as they sound. Go over reference for more details.&lt;/p&gt;

&lt;h1&gt;
  
  
  Imperative vs Declarative Programming &lt;a&gt;&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;As one-liner,Imperative Programming is all about telling the machine the path to follow for achieving something.In this case, machine itself does not know how to reach to a target, we tell it how.&lt;br&gt;
Ex - Assembly language, C++&lt;/p&gt;

&lt;p&gt;Conversely in Declarative Programming, we ask the machine what do we need machine does some internal magic and give us what we wanted. We have to explain the objective to machine.&lt;br&gt;
Ex- HTML, SQL&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.databasejournal.com/sqletc/article.php/1408491/Beginning-SQL-Programming-Pt-2.htm"&gt;a good explanation using SQL language&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt; To illustrate even further, with imperative code you describe how to do what you want done. Conversely, declarative code enables you to describe what you want to do without worrying about how.&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  S.O.L.I.D Principles &lt;a&gt;&lt;/a&gt;
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Single responsibility Principle.&lt;/li&gt;
&lt;li&gt;Open-closed Principle&lt;/li&gt;
&lt;li&gt;Liskov Substitution Principle&lt;/li&gt;
&lt;li&gt;Interface Segregation Principle&lt;/li&gt;
&lt;li&gt;Dependency Inversion Principle&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;S.O.L.I.D stands for &lt;strong&gt;first five object-oriented design&lt;/strong&gt; by &lt;a href="https://en.wikipedia.org/wiki/Robert_Cecil_Martin"&gt;Uncle Bob&lt;/a&gt;(Robert C. Martin).&lt;/p&gt;

&lt;p&gt;Read more &lt;a href="https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;AOP is an important concept that every Intermediate programmer should know. SOLID are very important concepts for becoming an expert coder.&lt;br&gt;
Understanding the difference between Imperative and Declarative will make your life easier as a Frontend Developer. &lt;/p&gt;

&lt;h3&gt;
  
  
  References &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.geeksforgeeks.org/aspect-oriented-programming-and-aop-in-spring-framework"&gt;https://www.geeksforgeeks.org/aspect-oriented-programming-and-aop-in-spring-framework/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://codeburst.io/declarative-vs-imperative-programming-a8a7c93d9ad2"&gt;https://codeburst.io/declarative-vs-imperative-programming-a8a7c93d9ad2&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design"&gt;https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.telerik.com/blogs/three-ds-of-web-development-1-declarative-vs-imperative"&gt;https://www.telerik.com/blogs/three-ds-of-web-development-1-declarative-vs-imperative&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>learning</category>
      <category>programming</category>
      <category>daily</category>
    </item>
  </channel>
</rss>
