Hello there !!
Summary ↬ Welcome to my small piece of the internet, dedicated to my journey as a self-taught developer
Welcome!!
1function createStyleObject(classNames, style) { 2 return classNames.reduce((styleObject, className) => { 3 return { ...styleObject, ...style[className] }; 4 }, {}); 5} 6 7function createClassNameString(classNames) { 8 return classNames.join(" "); 9} 10 11// this comment is here to demonstrate an extremely long line length, well beyond what you should probably allow in your own code, though sometimes you'll be highlighting code you can't refactor, which is unfortunate but should be handled gracefully 12 13function createChildren(style, useInlineStyles) { 14 let childrenCount = 0; 15 return (children) => { 16 childrenCount += 1; 17 return children.map((child, i) => 18 createElement({ 19 node: child, 20 style, 21 useInlineStyles, 22 key: `code-segment-${childrenCount}-${i}`, 23 }) 24 ); 25 }; 26} 27 28function createElement({ node, style, useInlineStyles, key }) { 29 const { properties, type, tagName, value } = node; 30 if (type === "text") { 31 return value; 32 } else if (tagName) { 33 const TagName = tagName; 34 const childrenCreator = createChildren(style, useInlineStyles); 35 const props = useInlineStyles 36 ? { style: createStyleObject(properties.className, style) } 37 : { className: createClassNameString(properties.className) }; 38 const children = childrenCreator(node.children); 39 return ( 40 <TagName key={key} {...props}> 41 {children} 42 </TagName> 43 ); 44 } 45} 46
Hi everyone and welcome to my small piece of the internet, this is my first blog post. My name is Irfan, I'm a chemical engineer who is trying to find his way through programming.
For the past few years, I've been learning how to write code. After weeks and months of practice, frustrations, hard work, and moments of real excitement, I have decided to finally start building my own projects, starting with the blog you are reading right now.
I'm so glad you have found my site. I will be posting some tips and advice on things that I wish I knew when I first started. That way, if you are new to the fascinating world of programming or maybe are thinking about start learning, my experiences can help you in your own journey to become a programmer.
If you want to know a bit more about who am I, you can check the about page or click here.
Who is this blog for?
In short, my ideal answer would be anyone who loves programming. But also, I want to focus on sharing what I have learned with beginners. Because I fully understand how overwhelming can learning to code be at first when you are starting, we all start there.
There is so much to understand even before you have typed your first lines of code. So, I want to try and help every one of those who right now may be struggling in their journey or those who are maybe considering the possibility of becoming a programmer.
I'll be writing about pitfalls you may or will encounter and how to overcome them, I'll be sharing my thoughts on early decisions that you have to consider to become a better programmer, like, which programming languages learn first, what path to follow, how to organize your studying and much more.
How is the Website Structured?
Note: Depending on when you have found this website some of the things I'll mention here may have not been implemented yet.
Home
Here you can see my latest posts, the services I offer as a freelancer, and the main programming languages, libraries, and tools I use in my projects.
About
Here you can read a little more about who I am and what I do.
Post
In this section, you will find all the posts that I'll be publishing. I'll be covering many topics related mainly to web & mobile development, but also many topics related to programming in general. From the most basics to topics on decision making to become a developer.
Portfolio
One of the intentions of this website is to display the personal projects I've been working on during my journey. In there I will explain how I approached the project, what was the main idea or purpose, and which programming language, libraries, and tools I used to develop the project.
Contact
Finally, I added a contact page where you can let me know your thoughts and suggestions related to the content or if you want me to write about some particular topic. Also, I created an Instagram page that you can follow where I will be sharing shorter info related to programming (check the social media links at the footer).
Much more
There are many more ideas I have in mind but...baby steps, right?
Final thoughts...
I'm really excited to share with you my journey into becoming a self-taught web developer. I hope you find the content useful and that you become a regular visitor. Finally, I want to thank you for taking the time and reading this and wish you the best of lucks in your own journey...