#I know basic html/css and a bit but not a lot of python and c++
Explore tagged Tumblr posts
Note
hey in the post where you gave website ideas you said to send an ask for coding related ones you had if anyone wanted them. Those sound really interesting for me if you have time to send some?
I don't know if they're gonna be new to you, but I do have a couple!
So there's the most famous one probably: stackoverflow - solves problems. If there's something specific you don't know how to do or you get a weird error message.
I think also it's useful to keep in mind that most, or possibly all, libraries you import from will have documentation or a reference page. Just search it up for each API/library name. Those sites can be fairly useful. If nothing else, you might end up with a more specific question.
And then there's Mozilla webdocs: https://developer.mozilla.org/en-US/docs/Web (in the references tab). Some people don't like this one, I've used it a lot
If you want to be taught stuff properly, without knowing what questions to ask at all, w3schools is probably the way to go. They have more languages than I can be bothered to type out, but for example HTML, python and C++. This is free just like all the previous btw.
scrimba also exists, I haven't really used it, but it is based on interactive videos I believe. It costs money depending on you. They have a free plan and two paid ones.
And for finding APIs: rapidapi.com has quite a lot. Some cost money, some are free. Usually you can use something for a bit for free and later it costs money. Spotify also has an API which I think is free, that's what all those spotify statistics websites use (obscurifymusic, spotistats, spotifytools, etc).
Then onto more specifically HTML/CSS related websites: google fonts (free fonts). flexboxfroggy (learn flexbox CSS), pixabay (royalty free images), color.review (check if your color contrast is good enough), wireframing (layouts and stuff, not coding).
And importantly: w3 dot org! There's a lot of info there about accessibility, including guidelines. Take note of this page: web accessibility evaluation tools (websites).
I don't remember what these are, I just found them in my bookmarks: webdesignerwall.com, css zen garden, css-tricks, smashingmagazine.com, kevinpowell.co, rfc-editor.org, coolors.org, caniuse.com .
digital safety frameworks: ISO/IEC 27002:2013 , The 18 CIS Critical Security Controls, NCSC CAF guidance, Cybersecurity Framework | NIST, SP 800-53 – NIST Risk Management Framework | CSRC, Information Security Manual (ISM) | Cyber.gov.au, Federal Office for Information Security (Germany), COBIT | Control Objectives for Information Technologies | ISACA, OWASP Foundation , ITIL | IT Service Management | Axelos
and digital safety laws (obiously check your own countries laws (at least a summary)): General Data Protection Regulation - GDPR, The Directive on security of network and information systems - NIS Directive, EU Cybersecurity Act, Sarbanes-Oxley Act of 2002, Cloud Act Resources
with the laws and frameworks they're most useful if you're not sure, realistically you can't read all of that. But yeah. if you're in the EU or EEA (or expect users from there) you should definetly make sure you understand the basics of the GDPR if you're collecting any data from users that aren't yourself.
This was longer than I expected. This isn't even all that's out there. You might find some stuff on alternativeto.com, articles and web searches too. And also a couple more websites on my neocities, mostly accessibility stuff, not sure if there's anything that's not covered here there though.
[for anyone finding this through tags: I am a queer guy who uses neopronouns and interacting is showing support and appriciation for my queer identity, not just the post.]
#asks#programming#coding#ink.post#for anyone whose confused about the [brackets] it's like a DNI sorta#anon asks#ink navigates the interwebs
1 note
·
View note
Text
Idia With Yuu Who Wants To Learn How to Program Games
Not gonna lie this is a very self indulgent piece because my computer programming class is making me want to code but I also want to write 💀 This is my compromise here.
Notes/Warnings: Reader is Yuu, I am in the English server and wish to not know what happens in Book 6 till it comes out so artistic liberties will be taken. Also, Idia might seem a little ooc but when checking the wiki it says he gets excited and talkative when stuff he likes gets brought up so I took it and ran with it. Enjoy!
Masterlist
Before you came to Twisted Wonderland you already known how to code. Mostly just from camps that your family made you do or just out of general interest. Nonetheless you only knew the minimal to basic things, like HTML, CSS, a little bit of Javascript and Python as well C++. So to say the least there wasn’t that much you could do especially as a beginner. You’ve always seen video games or visual novels and wished you’d be able to do something like that one day but yet, you never got around to polishing skills or making yourself actually do anything to get yourself to that goal.
Jump skip to know that you are in Twisted Wonderland. You didn’t know much about this world at all, lots of things were different than your own world. The way things were done, school expectations, slang, magic. So to say, you just expected that anything you knew would be just thrown out the window one way or another. Once you met Idia though you felt more secure in your knowledge. Idia was someone who you can imagine to be the most normal in your world. He was one of those kids in your class at the back of the room, typically not speaking to anyone unless prompted. Now you may wonder, “How did the Ramshackle prefect become associated with the shut-in hermit?” Well like any other instance, Ortho.
Ortho was extremely persistent that once you expressed interest or made an off-handed comment that you knew some code and loved visual novel games, you should meet his brother. Honestly, the issue wasn’t to convince you, it was Idia that needed convincing.
Since it wasn't Idia who invited you to his dorm, he was flipping out when Ortho told him to expect you. He's heard about the notorious Ramshackle prefect who dealt with Overbolts even though they're magicless. He couldn't lie and say that he wasn't interested in you though. Not everyone was able to do that. He just wasn't sure if he could do this right now.
Once you did arrive, Ortho carried most of the conversation. Idia was trying his best to try to make conversation as well but he couldn't bring himself. It was hard to talk to a normie okay?!
Well, that's what he kept thinking after each of his failed attempts. Ortho knew what to do though, he knew his brother would have issues so he hacked into your Magicam account to learn more about you till he ran upon all the gaming and anime accounts you followed. He put to and to together and this was Ortho's plan to make you two talk normally. Once he mentioned a game he knew both you and Idia played it was the start of something great.
Idia's attitude towards you changed completely once you talked about video games and anything else he was into. Which dragged into how the game was coded and whatnot. Once you mentioned how you wanted to program your own game and your vision he was just like an over-excited child he ushered you over to his game, asking how much you knew about code and how fun it would be to create a game.
But basically, once he dragged you in it'll be very hard to leave. Your whole friendship with Idia from then on was built on the game y'all were creating together, anime and gaming. Not that you'd complain it was very to have Idia around. Just that you'd always have to start up the conversion since Idia will always second guess himself
Even once you two finish creating your game Idia would still keep you around. He'd even start being the one to invite you instead of just showing up! After helping you learn and sharpen your skills in programming by working on a game together, you'd start to help him out too! If you know anything about programming, especially C++ you know how picky it is with its writing. Whilst he's off typing quickly you start to point out to him certain things he's missing, like a semicolon on something that'll screw the whole code up.
Wholeheartedly once you make friends with Idiai from one of his special interests it's going to be hard to pull him away from you <3
#🐉 | lilith’s writing’s#idia shroud#twst idia#idia headcanons#idia x yuu#idia x y/n#idia fluff#twisted wonderland idia#idia x reader#idia hcs#idia drabble#idia#disney twisted wonderland#twisted wonderland
135 notes
·
View notes
Note
Hi im on my 3rd year of info tech and im just only getting the grasp of it or maybe it's bc we're doing web development this year. i am completely uninterested with the first languages i learned except web design. do i eventually have to go through java and c again when i have to work or before i apply? learning those overwhelmed me so much 😢
First of all, don't do things that overwhelm you to the point it stresses you out. Yes, you might have to do it for your course but you're not interested in it really, so don't do it any further than you have to! There are more fun languages to play around with!
Back to the question: It depends on the job you want to do, to be honest. Some job roles will tell you upfront what languages are a requirement such as 'Java Developer' or 'C# ASP.NET Developer' - you get what I mean, you would probably want to avoid them. But for more vague titles like Software Developer, you need to read into the description of the job or the company to see what their tech stack involves and see what you enjoy and can do matches what they're looking for in a person to join their company!
For example, my job (minus the apprenticeship side) is a Software Developer and it is very JavaScript frameworks, C# and SQL based (with HTML and CSS in the background a bit, of course). So, I didn't and won't need to learn Java or C in order to do my job. Other Software Developer jobs might include Java.
If you are leaning more towards the web design route because that's more interesting, I haven't seen a lot of web design jobs need someone who knows Java or C. Web Design is more UX, UI, visual design, frontend languages and frameworks, SEO, maybe even learning to use programs like Adobe Creative Suite to design the websites. And of course, having 'excellent attention to detail'.
Web Developer is most of those things but add backend web programming languages (such as but not limited to, Python, Java, JavaScript, Ruby, C#, and PHP) and frameworks to the mix. Extra things to know really. Read more about this!!
Basically what I'm trying to say is that:
No, there's a high chance you won't have to learn Java and/or C to get a job only if you're applying for jobs that require it the most
Not all tech jobs require you to know either the two languages
However, that means learning the languages/frameworks that are required if you don't know them already
In Web design/web development, you can get a job in some cases knowing just HTML, CSS, JavaScript, and a couple JavaScript frontend and backend frameworks. Go the extra mile and learn backend stuff like MongoDB, SQL or MySQL - if you want.
See what is available in the job market around you, not everywhere is the same
If you see a common pattern, e.g. a lot of jobs require Vue.js or React.js etc, probably learn them and make a couple projects in them so you're ready to apply for those types of jobs in the future (this is what I'm doing)
━━ ⋆
Links to look at for extra reading/research 🌐
[LINK] - What Are the Main Areas of Development for Web Designers to Land Their Dream Job?
[LINK] - What is the difference between a web developer and a web designer?
[LINK] - How to Become a Front-End Developer - Skills, Roles, Salary Explained
[LINK] - What Qualifications Do You Need to Become a Web Developer?
━━ ⋆
I hope this helps! Keep doing research and I hope only the best for you! 🙌🏾🤎
#my asks#resources#codeblr#progblr#studyblr#programming#coding#comp sci#studying#computer science#cs studyblr#tech#programmer#coding study#career#career advice#computer academia#learn to code#software developer#web design#web dev#web development
38 notes
·
View notes
Note
hey, i started following you recently and ur bio says ur a hacker? any tips on where to start? hacking seems like a v cool/fun way to learn more abt coding and cybersecurity/infrastructure and i'd like to explore it but there's so much on the internet and like, i'm not trying to get into anything illegal. thanks!
huh, an interesting question, ty!
i can give more tailored advice if you hit me up on chat with more specifics on your background/interests.
given what you've written here, though, i'll just assume you don't have any immediate professional aspirations (e.g. you just want to learn some things, and you aren't necessarily trying to get A Cyber Security Job TM within the next three months or w/e), and that you don't know much about any specific programming/computering domain yet.
(stuff under cut because long)
first i'd probably just try to pick some interesting problem that you think you can solve with tech. this doesn't need to be a "hacking" project at first; i was just messing around with computers for ages before i did anything involving security/exploitation.
if you don't already know how to program, you should ideally pick a problem you can solve via programming. for instance: i learned a lot back in the 2000s, when play-by-post forum RPGs were in vogue. see, i'd already been messing around, building my own personal sites, first just with HTML & CSS, and later on with Javascript and PHP. and i knew the forum software everyone used (InvisionPowerBoard) was written in PHP. so when one of the admins at my RPG complained that they'd like the ability to set multiple profile pictures, i was like, "hey i'm good at programming, want me to create a mod to do that," and then i just... did. so then they asked me to program more features, and i got all the sexy nerd cred for being Forum Mod Queen, and it was a good time, i learned a lot.
(i also got to be the person who was frantically IMed at 2am because wtf the forum is down and there's an inscrutable error, what do??? basically sysadmining! also, much less sexy! still, i learned a lot!)
the key thing is that it's gotta be a problem that's interesting to you: as much as i love making dorky sites in PHP, half the fun was seeing other people using my stuff, and i think the era of forum-based RPGs has passed. but maybe you can apply some programming talents to something that you are interested in—maybe you want to make a silly Chrome extension to make people laugh, a la Cloud to Butt, or maybe you'd like to make a program that converts pixel art into cross-stitching patterns, maybe you want to just make a cool adventure game on those annoying graphing calculators they make you use in class, or make a script for some online game you play, or make something silly with Arduino (i once made a trash can that rolled toward me when i clapped my hands; it was fun, and way easier than you'd think!), whatever.
i know a lot of hacker-types who got their start doing ROM hacking for video games—replacing the character art or animations or whatever in old NES games. that's probably more relevant than the PHP websites, at least, and is probably a solid place to get started; in my experience those communities tend to be reasonably friendly to questions. pick a small thing you want to do & ask how to do it.
also, a somewhat unconventional path, but—once i knew how to program a bit of Python, i started doing goofy junk, like, "hey can i implemented NamedTuple from scratch,” which tends to lead to Python metaprogramming, which leads to surprising shit like "oh, stack frames are literally just Python objects and you can manually edit them in the interpreter to do deliberately horrendous/silly things, my god this language allows too much reflection and i'm having too much fun"... since Python is a lot of folks' first language these days, i thought i'd point that out, since i think this is a pretty accessible start to thinking about How Programs Actually Work under the hood. allison kaptur has some specific recommendations on how to poke around, if you wanna go that route.
it's reasonably likely you'll end up doing something "hackery" in the natural course of just working on stuff. for instance, while i was working on the IPB forum software mods, i became distressed to learn that everyone was using an INSECURE version of the software! no one was patching their shit!! i yelled at the admins about it, and they were like "well we haven't been hacked yet so it's not a problem," so i uh, decided to demonstrate a proof of concept? i downloaded some sketchy perl script, kicked it until it worked, logged in as the admins, and shitposted a bit before i logged out, y'know, to prove my point.
(they responded by banning me for two weeks, and did not patch their software. which, y'know, rip to them; they got hacked by an unrelated Turkish group two months later, and those dudes just straight-up deleted the whole website. i was a merciful god by comparison!)
anyway, even though downloading a perl script and just pointing it at a website isn't really "hacking" (it's the literal definition of script kiddie, heh)—the point is i was just experimenting a lot and trying a lot of stuff, which meant i was getting comfortable with thinking of software as not just some immutable relic, but something you can touch and prod in unexpected ways.
this dovetails into the next thing, which is like, just learn a lot of stuff. a boring conventional computer science degree will teach you a lot (provided you take it seriously and actually try to learn shit); alternatively, just taking the same classes as a boring conventional computer science degree, via edX or whatever free online thingy, will also teach you a lot. ("contributing to open source" also teaches you a lot but... hngh... is a whole can of worms; send a follow-up ask if you want that rant.)
here's where i should note that "hacking" is an impossibly broad category: the kind of person who knows how to fuck with website authentication tokens is very different than someone who writes a fuzzer, who is often quite different than someone who looks at the bug a fuzzer produces and actually writes a program that can exploit that bug... so what you focus on depends on what you're interested in. i imagine classes with names like "compilers," "operating systems," and "networking" will teach you a lot. but, like, idk, all knowledge is god-breathed and good for teaching. hell, i hear some universities these days have actual computer security classes? that's probably a good thing to look at, just to get a sense of what's out there, if you already know how to program.
also be comfortable with not knowing everything, but also, learn as you go. the bulk of my security knowledge came when i got kinda airdropped into a work team that basically hired me entirely on "potential" (lmao), and uh, prior to joining i only had the faintest idea what a hypervisor was? or the whole protection ring concept? or ioctls or sandboxing or threat models or, fuck, anything? i mostly just pestered people with like 800 questions and slowly built up a knowledge base, and remember being surprised & delighted when i went to a security conference a year later and could follow most of the talks, and when i wound up at a bar with a guy on the xbox security team and we compared our security models a bunch, and so on. there wasn't a magic moment when i "got it", i was just like, "okay huh this dude says he found a ring-0 exploit... what does that mean... okay i think i got that... why is that a big deal though... better ask somebody.." (also: reading an occasional dead tree book is a good idea. i owe my firstborn to Robert Love's Linux Kernel Development, as outdated as it is, and also O'Reilly's kookaburra book gave me a great overview of web programming back in the day, etc. you can learn a lot by just clicking around random blogs, but you’ll often end up with a lot of random little facts and no good mental scaffolding for holding it together; often, a decent book will give you that scaffolding.)
(also, it's pretty useful if you can find a knowledgable someone to pepper with random questions as you go. finding someone who will actively mentor you is tricky, but most working computery folks are happy to tell you things like "what you're doing is actually impossible, here's why," or "here's a tutorial someone told me was good for learning how to write a linux kernel module," or "here's my vague understanding of this concept you know nothing about," or "here's how you automate something to click on a link on a webpage," which tends to be handier than just google on its own.)
if you're reading this and you're like "ok cool but where's the part where i'm handed a computer and i gotta break in while going all hacker typer”—that's not the bulk of the work, alas! like, for sure, we do have fun pranking each other by trying dumb ways of stealing each other's passwords or whatever (once i stuck a keylogger in a dude's keyboard, fun times). but a lot of my security jobs have involved stuff like, "stare at this disassembly a long fuckin' time to figure out how the program pointer got all fucked up," or, "write a fuzzer that feeds a lot of randomized input to some C++ program, watch the program crash because C++ is a horrible language for writing software, go fix all the bugs," or "think Really Hard TM about all the settings and doohickeys this OS/GPU/whatever has, think about all the awful things someone could do with it, threat model and sandbox accordingly." occasionally i have done cool proof-of-concept hacks but honestly writing exploits can kinda be tedious, lol, so like, i'm only doing that if it's the only way i can get people to believe that Yes This Is Actually A Problem, Fix Your Code
"lua that's cool and all but i wanted, like, actual links and recommendations and stuff" okay, fair. here's some ideas:
microcorruption: very fun embedded security CTF; teaches you everything you need to know as you're doing it.
cryptopals crypto challenges: very fun little programming exercises that teach you a lot of fundamental cryptography concepts as you're going along! you can do these even as a bit of a n00b; i did them in Python for the lulz
the binary bomb lab is hilariously copied by, like, so many CS programs, lol, but for good reason. it's accessible and fun and is the first time most people get to feel like a real hacker! (requires you know a bit of C beforehand)
ctftime is a good way to see when new CTFs ("capture the flag"s; security-focused competitions) are coming up. or, sometimes CTFs post their source code, so you can continue trying them after the CTF is over. i liked Stripe's CTFs when they were going, because they focused on "web stuff", and "web stuff" was all i really knew at the time. if you're more interested in staring at disassembly, there's CTFs focused on that sort of thing too.
azeria has good ARM assembly & exploitation tutorials
also, like, lots of good talks out there; just watching defcon/cansecwest/etc talks until something piques your interest is very fun. i'd die on a battlefield for any of Christopher Domas's talks, but he assumes a lot of specific x86/OS knowledge, lol, so maybe don’t start with that. oh, Julia Evans's blog is honestly probably pretty good for just learning a lot of stuff and really beginner-friendly?
oh and wrt legality... idk, i haven't addressed it here since it hasn't come up in my own work much, tbh. if you're just getting started you're kind of unlikely to Break The Law without, y'know, realizing maybe you're doing something a bit gray-area? and you can cross that bridge when you come to it? Real Hacking TM is way more of a pain-in-the-ass than doing CTFs and such, and you'll learn way more with the latter, so who cares lol just do the fun thing
21 notes
·
View notes
Text
Essential Tips to Become a Full Stack Java Developer
In the present time to become a Full Stack Java developer, a programmer has to know about the front-end development as well as the backend development in a complete manner. It means a full stack developer has to know the complete idea about how to handle all the work of databases, servers, systems engineering, and clients in complete manner. In the present scenario, it seems that the “Full Stack Development” topic has already become a new job trend. A full stack designer getting both praise and blame depending on the present facts about the application. . Some people think that the full stack is just a title, what he/she should focus on is the real personal ability and technology. At NEAR LEARN you will get a good Experienced faculty who will guide you, mentor you, and nurture you to achieve your dream goal. Learn Best Full Stack Java Training Institute at NEARLEARN . What is a full stack Java developer? Now a day we are most often come across to hear the term “Full stack developer”. A full stack developer is one who have a complete idea towards the development of the application where all the layers such as Data source layer, Application layer and Presentation layer are going to be get designed. It is the end-to-end product development strategy. The full stack developer is a kind of people who master a variety of skills and use these skills to complete a product independently. Here In full stack development you could be able to get the essence of front-end, middleware and backend complete programming idea in Java. The “full stack” refers to the collection of a series of technologies needed to complete a project. “Stack” refers to a collection of sub-modules.These software sub-modules or components are get combined to achieve the established function while without the need for other modules. Why has the full stack developer been controversially discussed? As the full stack development is a process where the application development is going to be get analysed on the basis of their mode of implementation. During the use of Full stack application, most of the reputed companies are used to refer as it is the medium based on which most of the application scenario are get defined. So, the Full stack Development must have some advantage and disadvantage too.
Here I am going to discuss the important advantage and disadvantage in details. Advantages: 1. The full stack developers involved in a horizontal technical requirement, so that he/she can make a prototype design for a product very rapidly with his wide range of techniques. 2. With the full stack ability, they have a broader angle of views and a more active mindset. 3. Moreover, they will be more sensitive to techniques and products. 4. So, this kind of people can always have his/her opinions towards the product or design. 5. Here he/she can provide help to everyone in the team and greatly reduce the time and technical costs of team communication, technology docking.
Disadvantages: 1. It is precisely because of the horizontal technology development; some the full stack developers cannot be expert in one skill. 2. Most of them who claim to be “full stacks developer” are only know a little about the multiple skills. 3. As for how to make the architecture more suitable for the modular development, that’s a question. Even so, there are still people asking, how to become a full stack developer? As I have already discussed that, to become a full stack developer, we need to have the complete idea about the front-end and the backend development strategy. Most of us are always face a question that Should I Become a Full Stack Developer? If yes then, what sort of skill do I need to become a Full stack Java Developer.
Here are some of the points. 1. They should know the complete idea about the technology related to development of application and how to deploy the application to get run. 2. They should have the complete idea about the data base connectivity and their related operation in efficient manner. 3. They should know how smoothly they can be able to represent and approach the facts to the end customer. 4. Being the developer, they should be comfortable to work with all platform like Unix, Windows, Mac etc. 5. They should have the complete knowledge of various framework which are more widely used for making the application like Hibernate, Spring MVC, Struts etc. They should have a clear idea about the server-side programming languages like Servlet, JSP, JSF, Beans, Web-logics etc. Here you will get a good hand on practice in terms of a practical industry-oriented environment which will definitely help you a lot to shape your future. Learn Full Stack Java Online Training at Near learn.
Programming languages 1. To be a good and Proficient developer, you need to be good in coding. 2. The Coding is an art which is going to be get implemented on the basis of some programming language. 3. In multiple programming languages, such as JAVA, PHP, C #, Python, Ruby, Perl, etc. the developers are having the great career. 4. As most of your core business processes need to be written in these languages. Maybe not all need. But you also have to master the language grammar. 5. You need to be very familiar with how to structure, design, implementation, and testing of the project based in one language or more languages. 6. If you choose JAVA as your preferred language, then you need to master the object-oriented design and development, design patterns, J2EE-based components of the development and so on. 7. Similarly, other languages are also present which are used to have their own importance and utility. 8. So, the selection of programming language is a bit difficult task but if you need to pursue under the guidance of some good expert then definitely it will be good one.
Use development frameworks and third-party libraries 1. In most of the cases when we are going to develop an applications then we are looking for good framework. 2. The more popular development languages are generally accompanied by a good development framework. 3. In most of the cases we are used to go for the Framework such as JAVA Spring, MyBatis, Hibernate, Python Django, PHP thinkphp, yin, NodeJS express and so on.
Front-end technology 1. Front-end technologies are becoming more and more important in today’s project and product development. 2. Being developer, they must have a complete design idea and deployment strategy about the front-end application. 3. They should be comfortable with the tools like HTML, CSS, Java Script technology. 4. In the present scenario some of the web pages are also designed in bootstrap technology, so if they are having the idea in Angular and Boot strap then it will add a advantage for them. 5. They must Ensuring the responsiveness of applications. 6. In addition to product features, the user experience is also one of the criteria to test the success of a product. 7. Further study the front-end frameworks or third-party libraries such as JQuery, LESS, SASS, AngularJS, or REACT.
Database and cache 1. Any product or project needs a database to store data. 2. As a full stack developer, you also need to have at least one or two databases and know how to interact with the database. 3. Currently, the popular database is MySQL, MongoDB, Redis, Oracle, SQLServer and so on. 4. As a document-type database, MongoDB, is being used more widely in Internet products. As for larger projects, I also recommend using MySQL or commercial Oracle as the back-end database. 5. While memory databases, such as Redis, can be used for caching to improve system performance.
Basic design ability 1. Most of the articles or discussions about the full stack developer are rarely related to the design requirements. 2. But I think the design skill is very important, the principle and skill of basic prototype design, UI design, UX design are also needed to understand. 3. It is the major constraints which is used to define the ability for a developer to develop the application. 4. The Design ability also helps a developer to explore the various constraints and feature of the product which is more widely applied in most of the application.
10 skills: This article is mainly used to put the focus on Java full stack development perspective and here I assume that you are already having the essential stuff which is also considered as a foundation for codings like Data Structures and Algorithms, and Networking, Protocols, Object-oriented programming, etc. Here I am going to provide the tips which are useful for both Core Java developer for developing the front-end and Back-end development like server-side applications. The front-end and Back-end development in Java involves logics such as JSP, Servlet, and JEE. Here I am going to discuss a few tips which are sure makes you prepare yourself as a Java Web developer whose primary job is to write web applications using Java technology. It shall also help you to become a full-stack Java developer in near future. 1. Software Design and Architecture: 2. Microservices 3. DevOps Tools (Jenkins, Docker, and Kubernetes) 4. Spring Framework (Spring Boot) 5. JUnit and Mockito 6. Learn APIs and Libraries 7. JVM Internals 8. Design Patterns 9. Kotlin 10. IDE (Eclipse or IntelliJIDEA)
Scope and Facility @ Nearlearn: 1. At Nearlearn you will get a good Experienced faculty who will guide you, mentor you, and nurture you to achieve your dream goal. 2. Here you will get a good hand on practice in terms of a practical industry-oriented environment which will definitely help you a lot to shape your future. 3. During the designing process of the application, we will let you know about the other aspect of the application too. 4. Our Expert trainer will let you know about every in’s and out’s about the problem scenario. Achieving your dream goal is our motto. Our excellent team is working restlessly for our students to click their target. So, believe in us and our advice, and we assured you about your sure success.
#Machine Learning Training in Bangalore#Java Full Stack Training in Bangalore#React Native Training in Bangalore#Machine Learning with Python Training in Bangalore
0 notes
Text
The Top 5 Platforms For You to Learn Coding
In earlier times, learning computers and coding was for the geekiest of geeks. In those times, not many people opted for computer programming courses. But, that’s not the case in modern times. Now anyone can learn coding by sitting on the couch at their homes. Learning the basics is not enough in today’s life as we need to be extra productive. Learning how to code can change anyone’s life for good. In our technological world, it has become more important to learn computers at the highest level. Even schools are adding programming language into their syllabus. From this, we can estimate the importance of computer programming.
Do you want to learn a computer language? Can’t find the best source for learning how to program? If that’s the case, then we have a solution for you. No need to go on a hunt or search for an institution, because there are various websites through which you can learn coding at any time from anywhere. Do you want to know about these websites? If yes, then go through the full article to know the best sites on which you can learn coding.

The Best 5 Websites for Learning to Code Online
There are various options available on the internet that you can use to learn to code. Many people search for the best institutions to learn how to write a piece of code. But that option is time-bounded as every institution or college has a time limit up to which you are bound to pursue a course. But, that is not the case in online learning. So, it is always a better choice to learn anything through online sources. With a lot of available options, sometimes it becomes a bit difficult to decide what suits us, or which website offers more productive learning. And for that purpose, we have lined up the best five websites on which anyone can learn to code. Some of these websites are paid while others are completely free. A major benefit of learning to code on these websites is saving time, as it is an accessible option. These websites not only make you an expert in coding but also issue a certificate to you. These are some of the best sources of learning that anyone can choose. Let’s head to the list of the five websites that you can access for learning how to code.
The Codecademy
Codecademy is one of the most popular websites that is accessed by millions of people to learn to code. As per their estimation, it is recorded that around 25 million learners use this website. Codecademy offers several computer programming courses that include HTML, CSS, Javascript, SQL, Python, C, C++, and many more. If you are a true computer enthusiast, then this website will be the best option that you can choose. This programming website is partially free for users. To avail extra benefits from this website like personal learning plans, and quizzes, learners need to consider its pro version. To access this site, users need to create an account to have access to all the courses.
Khan Academy
Khan Academy is another popular website that you can access to pursue any course. Being a non-profit organization, this website aims to provide free education to learners worldwide. The website not only allows you to learn programming languages, but it offers a variety of other courses as well. You can learn mathematics, physics, or any subject or language that you want. On this website, you can connect with around 40 million learners and discuss various topics related to your subject. This platform is supported by several big companies, namely Google, Oracle, Bill and Melinda Gates Foundation, Walt Disney Company, and many more. And the best part is this amazing site is entirely free to access for all the learners.
Team Treehouse
This is an online programming service that enables its users to pursue several numbers of programming courses. Team Treehouse is a learning site that is worth being on the top in the list with the amazing offers that it provides to the learners. The courses that are offered by this website are more project-oriented rather than language-oriented. It is a must-visit site for learners who are passionate about building their career in programming. There are a plethora of courses with videos and quizzes that make it easier for learners to understand concepts related to their course content. The computer languages that it offers to its users are HTML, CSS, CSS3, Javascript, jQuery, and many more.
Udacity
Udacity is another free/paid language learning website that offers many courses to learn. It is a website that is highly recommended by many big platforms. The main aim of this website is to make education more accessible to all people free of cost. However, to have extra benefits, you can avail of its pro plan that is available at an affordable price. Learning can’t be easier with the help of this platform. This is a must-visit website for all the learners if they truly want to learn computer languages. The website provides video tutorials with quizzes at each interval. Like the above-mentioned sites, the languages that Udacity offers to learn for its users include Java, HTML,5, Python, Algorithm, and many more.
Udemy
Udemy is also a leading online education platform that offers various courses to pursue by the learners. Along with the language courses, it has a host of other courses to offer as well. With millions of users, Udemy has become the best seller on a worldwide platform. The language courses that it offers include Python, Javascript, HTML, and many more. Learners can access any of the learning material at their own pace. It is a free language learning application that can be accessed on all platforms, including Android, and iOS. You can access this site without any charges.
Jackson Henry. I’m a writer living in USA. I am a fan of technology, arts, and reading. I’m also interested in writing and education. You can read my blog with a click on the button above.
Source- Learn Coding
0 notes
Text
The Ultimate Guide To Building Scalable Web Scrapers With Scrapy
The Ultimate Guide To Building Scalable Web Scrapers With Scrapy
Daniel Ni
2019-07-16T14:30:59+02:002019-07-16T13:06:15+00:00
Web scraping is a way to grab data from websites without needing access to APIs or the website’s database. You only need access to the site’s data — as long as your browser can access the data, you will be able to scrape it.
Realistically, most of the time you could just go through a website manually and grab the data ‘by hand’ using copy and paste, but in a lot of cases that would take you many hours of manual work, which could end up costing you a lot more than the data is worth, especially if you’ve hired someone to do the task for you. Why hire someone to work at 1–2 minutes per query when you can get a program to perform a query automatically every few seconds?
For example, let’s say that you wish to compile a list of the Oscar winners for best picture, along with their director, starring actors, release date, and run time. Using Google, you can see there are several sites that will list these movies by name, and maybe some additional information, but generally you’ll have to follow through with links to capture all the information you want.
Obviously, it would be impractical and time-consuming to go through every link from 1927 through to today and manually try to find the information through each page. With web scraping, we just need to find a website with pages that have all this information, and then point our program in the right direction with the right instructions.
In this tutorial, we will use Wikipedia as our website as it contains all the information we need and then use Scrapy on Python as a tool to scrape our information.
A few caveats before we begin:
Data scraping involves increasing the server load for the site that you’re scraping, which means a higher cost for the companies hosting the site and a lower quality experience for other users of that site. The quality of the server that is running the website, the amount of data you’re trying to obtain, and the rate at which you’re sending requests to the server will moderate the effect you have on the server. Keeping this in mind, we need to make sure that we stick to a few rules.
Most sites also have a file called robots.txt in their main directory. This file sets out rules for what directories sites do not want scrapers to access. A website’s Terms & Conditions page will usually let you know what their policy on data scraping is. For example, IMDB’s conditions page has the following clause:
Robots and Screen Scraping: You may not use data mining, robots, screen scraping, or similar data gathering and extraction tools on this site, except with our express-written consent as noted below.
Before we try to obtain a website’s data we should always check out the website’s terms and robots.txt to make sure we are obtaining legal data. When building our scrapers, we also need to make sure that we do not overwhelm a server with requests that it can’t handle.
Luckily, many websites recognize the need for users to obtain data, and they make the data available through APIs. If these are available, it’s usually a much easier experience to obtain data through the API than through scraping.
Wikipedia allows data scraping, as long as the bots aren’t going ‘way too fast’, as specified in their robots.txt. They also provide downloadable datasets so people can process the data on their own machines. If we go too fast, the servers will automatically block our IP, so we’ll implement timers in order to keep within their rules.
Getting Started, Installing Relevant Libraries Using Pip
First of all, to start off, let’s install Scrapy.
Windows
Install the latest version of Python from https://www.python.org/downloads/windows/
Note: Windows users will also need Microsoft Visual C++ 14.0, which you can grab from “Microsoft Visual C++ Build Tools” over here.
You’ll also want to make sure you have the latest version of pip.
In cmd.exe, type in:
python -m pip install --upgrade pip pip install pypiwin32 pip install scrapy
This will install Scrapy and all the dependencies automatically.
Linux
First you’ll want to install all the dependencies:
In Terminal, enter:
sudo apt-get install python3 python3-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
Once that’s all installed, just type in:
pip install --upgrade pip
To make sure pip is updated, and then:
pip install scrapy
And it’s all done.
Mac
First you’ll need to make sure you have a c-compiler on your system. In Terminal, enter:
xcode-select --install
After that, install homebrew from https://brew.sh/.
Update your PATH variable so that homebrew packages are used before system packages:
echo "export PATH=/usr/local/bin:/usr/local/sbin:$PATH" >> ~/.bashrc source ~/.bashrc
Install Python:
brew install python
And then make sure everything is updated:
brew update; brew upgrade python
After that’s done, just install Scrapy using pip:
pip install Scrapy
>
Overview Of Scrapy, How The Pieces Fit Together, Parsers, Spiders, Etc
You will be writing a script called a ‘Spider’ for Scrapy to run, but don’t worry, Scrapy spiders aren’t scary at all despite their name. The only similarity Scrapy spiders and real spiders have are that they like to crawl on the web.
Inside the spider is a class that you define that tells Scrapy what to do. For example, where to start crawling, the types of requests it makes, how to follow links on pages, and how it parses data. You can even add custom functions to process data as well, before outputting back into a file.
Writing Your First Spider, Write A Simple Spider To Allow For Hands-on Learning
To start our first spider, we need to first create a Scrapy project. To do this, enter this into your command line:
scrapy startproject oscars
This will create a folder with your project.
We’ll start with a basic spider. The following code is to be entered into a python script. Open a new python script in /oscars/spiders and name it oscars_spider.py
We’ll import Scrapy.
import scrapy
We then start defining our Spider class. First, we set the name and then the domains that the spider is allowed to scrape. Finally, we tell the spider where to start scraping from.
class OscarsSpider(scrapy.Spider): name = "oscars" allowed_domains = ["en.wikipedia.org"] start_urls = ['https://en.wikipedia.org/wiki/Academy_Award_for_Best_Picture']
Next, we need a function which will capture the information that we want. For now, we’ll just grab the page title. We use CSS to find the tag which carries the title text, and then we extract it. Finally, we return the information back to Scrapy to be logged or written to a file.
def parse(self, response): data = {} data['title'] = response.css('title::text').extract() yield data
Now save the code in /oscars/spiders/oscars_spider.py
To run this spider, simply go to your command line and type:
scrapy crawl oscars
You should see an output like this:
2019-05-02 14:39:31 [scrapy.utils.log] INFO: Scrapy 1.6.0 started (bot: oscars) ... 2019-05-02 14:39:32 [scrapy.core.engine] DEBUG: Crawled (200) (referer: None) 2019-05-02 14:39:34 [scrapy.core.engine] DEBUG: Crawled (200) (referer: None) 2019-05-02 14:39:34 [scrapy.core.scraper] DEBUG: Scraped from {'title': ['Academy Award for Best Picture - Wikipedia']} 2019-05-02 14:39:34 [scrapy.core.engine] INFO: Closing spider (finished) 2019-05-02 14:39:34 [scrapy.statscollectors] INFO: Dumping Scrapy stats: {'downloader/request_bytes': 589, 'downloader/request_count': 2, 'downloader/request_method_count/GET': 2, 'downloader/response_bytes': 74517, 'downloader/response_count': 2, 'downloader/response_status_count/200': 2, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2019, 5, 2, 7, 39, 34, 264319), 'item_scraped_count': 1, 'log_count/DEBUG': 3, 'log_count/INFO': 9, 'response_received_count': 2, 'robotstxt/request_count': 1, 'robotstxt/response_count': 1, 'robotstxt/response_status_count/200': 1, 'scheduler/dequeued': 1, 'scheduler/dequeued/memory': 1, 'scheduler/enqueued': 1, 'scheduler/enqueued/memory': 1, 'start_time': datetime.datetime(2019, 5, 2, 7, 39, 31, 431535)} 2019-05-02 14:39:34 [scrapy.core.engine] INFO: Spider closed (finished)
Congratulations, you’ve built your first basic Scrapy scraper!
Full code:
import scrapy class OscarsSpider(scrapy.Spider): name = "oscars" allowed_domains = ["en.wikipedia.org"] start_urls = ["https://en.wikipedia.org/wiki/Academy_Award_for_Best_Picture"] def parse(self, response): data = {} data['title'] = response.css('title::text').extract() yield data
Obviously, we want it to do a little bit more, so let’s look into how to use Scrapy to parse data.
First, let’s get familiar with the Scrapy shell. The Scrapy shell can help you test your code to make sure that Scrapy is grabbing the data you want.
To access the shell, enter this into your command line:
scrapy shell “https://en.wikipedia.org/wiki/Academy_Award_for_Best_Picture”
This will basically open the page that you’ve directed it to and it will let you run single lines of code. For example, you can view the raw HTML of the page by typing in:
print(response.text)
Or open the page in your default browser by typing in:
view(response)
Our goal here is to find the code that contains the information that we want. For now, let’s try to grab the movie title names only.
The easiest way to find the code we need is by opening the page in our browser and inspecting the code. In this example, I am using Chrome DevTools. Just right-click on any movie title and select ‘inspect’:
Chrome DevTools window. (Large preview)
As you can see, the Oscar winners have a yellow background while the nominees have a plain background. There’s also a link to the article about the movie title, and the links for movies end in film). Now that we know this, we can use a CSS selector to grab the data. In the Scrapy shell, type in:
response.css(r"tr[style='background:#FAEB86'] a[href*='film)']").extract()
As you can see, you now have a list of all the Oscar Best Picture Winners!
> response.css(r"tr[style='background:#FAEB86'] a[href*='film']").extract() ['<a href="/wiki/Wings_(1927_film)" title="Wings (1927 film)">Wings</a>', ... '<a href="/wiki/Green_Book_(film)" title="Green Book (film)">Green Book</a>', '<a href="/wiki/Jim_Burke_(film_producer)" title="Jim Burke (film producer)">Jim Burke</a>']
Going back to our main goal, we want a list of the Oscar winners for best picture, along with their director, starring actors, release date, and run time. To do this, we need Scrapy to grab data from each of those movie pages.
We’ll have to rewrite a few things and add a new function, but don’t worry, it’s pretty straightforward.
We’ll start by initiating the scraper the same way as before.
import scrapy, time class OscarsSpider(scrapy.Spider): name = "oscars" allowed_domains = ["en.wikipedia.org"] start_urls = ["https://en.wikipedia.org/wiki/Academy_Award_for_Best_Picture"]
But this time, two things will change. First, we’ll import time along with scrapy because we want to create a timer to restrict how fast the bot scrapes. Also, when we parse the pages the first time, we want to only get a list of the links to each title, so we can grab information off those pages instead.
def parse(self, response): for href in response.css(r"tr[style='background:#FAEB86'] a[href*='film)']::attr(href)").extract(): url = response.urljoin(href) print(url) req = scrapy.Request(url, callback=self.parse_titles) time.sleep(5) yield req
Here we make a loop to look for every link on the page that ends in film) with the yellow background in it and then we join those links together into a list of URLs, which we will send to the function parse_titles to pass further. We also slip in a timer for it to only request pages every 5 seconds. Remember, we can use the Scrapy shell to test our response.css fields to make sure we’re getting the correct data!
def parse_titles(self, response): for sel in response.css('html').extract(): data = {} data['title'] = response.css(r"h1[id='firstHeading'] i::text").extract() data['director'] = response.css(r"tr:contains('Directed by') a[href*='/wiki/']::text").extract() data['starring'] = response.css(r"tr:contains('Starring') a[href*='/wiki/']::text").extract() data['releasedate'] = response.css(r"tr:contains('Release date') li::text").extract() data['runtime'] = response.css(r"tr:contains('Running time') td::text").extract() yield data
The real work gets done in our parse_data function, where we create a dictionary called data and then fill each key with the information we want. Again, all these selectors were found using Chrome DevTools as demonstrated before and then tested with the Scrapy shell.
The final line returns the data dictionary back to Scrapy to store.
Complete code:
import scrapy, time class OscarsSpider(scrapy.Spider): name = "oscars" allowed_domains = ["en.wikipedia.org"] start_urls = ["https://en.wikipedia.org/wiki/Academy_Award_for_Best_Picture"] def parse(self, response): for href in response.css(r"tr[style='background:#FAEB86'] a[href*='film)']::attr(href)").extract(): url = response.urljoin(href) print(url) req = scrapy.Request(url, callback=self.parse_titles) time.sleep(5) yield req def parse_titles(self, response): for sel in response.css('html').extract(): data = {} data['title'] = response.css(r"h1[id='firstHeading'] i::text").extract() data['director'] = response.css(r"tr:contains('Directed by') a[href*='/wiki/']::text").extract() data['starring'] = response.css(r"tr:contains('Starring') a[href*='/wiki/']::text").extract() data['releasedate'] = response.css(r"tr:contains('Release date') li::text").extract() data['runtime'] = response.css(r"tr:contains('Running time') td::text").extract() yield data
Sometimes we will want to use proxies as websites will try to block our attempts at scraping.
To do this, we only need to change a few things. Using our example, in our def parse(), we need to change it to the following:
def parse(self, response): for href in (r"tr[style='background:#FAEB86'] a[href*='film)']::attr(href)").extract() : url = response.urljoin(href) print(url) req = scrapy.Request(url, callback=self.parse_titles) req.meta['proxy'] = "http://yourproxy.com:80" yield req
This will route the requests through your proxy server.
Deployment And Logging, Show How To Actually Manage A Spider In Production
Now it is time to run our spider. To make Scrapy start scraping and then output to a CSV file, enter the following into your command prompt:
scrapy crawl oscars -o oscars.csv
You will see a large output, and after a couple of minutes, it will complete and you will have a CSV file sitting in your project folder.
Compiling Results, Show How To Use The Results Compiled In The Previous Steps
When you open the CSV file, you will see all the information we wanted (sorted out by columns with headings). It’s really that simple.

Oscar winning movies list and information. (Large preview)
With data scraping, we can obtain almost any custom dataset that we want, as long as the information is publicly available. What you want to do with this data is up to you. This skill is extremely useful for doing market research, keeping information on a website updated, and many other things.
It’s fairly easy to set up your own web scraper to obtain custom datasets on your own, however, always remember that there might be other ways to obtain the data that you need. Businesses invest a lot into providing the data that you want, so it’s only fair that we respect their terms and conditions.
Additional Resources For Learning More About Scrapy And Web Scraping In General
The Official Scrapy Website
Scrapy’s GitHub Page
“The 10 Best Data Scraping Tools and Web Scraping Tools,” Scraper API
“5 Tips For Web Scraping Without Getting Blocked or Blacklisted,” Scraper API
Parsel, a Python library to use regular expressions to extract data from HTML.
(dm, yk, il)
0 notes
Text
Welcome to the Wonderful World of Python!
T. Roberts
Hey there, budding Pythonistas(those who code, use, and/or love Python)! The biggest challenge with getting into tech that I’ve found so far is that there is just SO MUCH of it, and it’s easy to get lost! Not to worry, though. I’m here to help. (“And I come back to you now, at the turn of the tide.”) Bonus points if you know where that’s from. Anyway, if you’re interested in learning Python, I’ve compiled a list of resources that might help you on your Python journey. Python is a great language. It’s versatile, it’s powerful, and it’s widely used. (And it’s named after Monty Python, how awesome is that???) If you’re as excited as I am to delve into this language, read on!
ONLINE RESOURCES:
The Docs(https://www.python.org/doc/):
When it comes to new languages, sometimes the best place to start is with the language itself. Python has rather extensive documentation which you can either download or review on your own. There are two main versions of Python, Python 2(older) and Python 3(newer). Pay attention to which version you download or use because there are some significant differences between the two. For example, in Python 2 you use “raw input” to retrieve information from your site users, and you use “input” in Python 3. The versions are not wholly compatible with each other so you want to be sure not to mix syntax or documentation.
Udemy:
An OG, Udemy has been around for a while, and it’s actually where I got my start in programming. I found a free course on HTML/CSS, jumped in, and was immediately hooked. From there I took a few front-end courses, including JavaScript (temporarily the bane of my existence.) But one day I was poking around and found a course on Python, and well, here we are! Udemy has tons of sales so if the course you want looks a little pricey ($200???) then just park it in your cart and wait for a sale. I’ve never paid more than twenty dollars for a course. Pro Tip: I’ve been advised that if you’re going to learn frameworks, start with Flask. It’s a little easier to grasp, Django might take you some time.
General Python:
https://www.udemy.com/complete-python-bootcamp/
This one ^ gets stars from me, good course, teaches you the basics.
https://www.udemy.com/the-python-bible/
https://www.udemy.com/the-modern-python3-bootcamp/
Hacking:
https://www.udemy.com/learn-python-and-ethical-hacking-from-scratch/
For Data:
https://www.udemy.com/python-for-data-science-and-machine-learning-bootcamp/
https://www.udemy.com/learning-python-for-data-analysis-and-visualization/
https://www.udemy.com/python-coding/
https://www.udemy.com/data-analysis-with-pandas/
Machine learning:
https://www.udemy.com/machinelearning/
Frameworks:
https://www.udemy.com/python-and-django-full-stack-web-developer-bootcamp/
https://www.udemy.com/python-django-web-development-to-do-app/
https://www.udemy.com/rest-api-flask-and-python/
https://www.udemy.com/python-and-flask-bootcamp-create-websites-using-flask/
https://www.udemy.com/scrapy-python-web-scraping-crawling-for-beginners/
Databases:
https://www.udemy.com/the-complete-python-postgresql-developer-course/
https://www.udemy.com/using-mysql-databases-with-python/
https://www.udemy.com/python-easily-migrate-excel-files-to-a-database/
https://www.udemy.com/django-python/
FreeCodeCamp:
FreeCodeCamp does not have a specific Python curriculum but what they do have is a forum, and there is a ton of great information on there about things you can do with Python. Below I’ve listed a link for building your own web scraper, and the third link is a list someone complied of other Python resources. It might be a bit dated, (I think it’s from 2016) but you may find something of use there.
Project:
https://medium.freecodecamp.org/how-to-scrape-websites-with-python-and-beautifulsoup-5946935d93fe
Forum:
https://www.freecodecamp.org/forum/search?q=python
Resources:
https://www.freecodecamp.org/forum/t/python-resources/19174
Treehouse:
I took the beginning and intermediate Python tracks on Treehouse and they were a great supplement to the Udemy course I took on Python. The courses are extremely thorough and cover some stuff that wasn’t in the Udemy bootcamp I took. I wasn’t the hugest fan of the Flask course, as I felt the teacher went very quickly and didn’t fully elaborate on what he was doing, especially when building the project, but it’s great if you just want to get your feet wet and get some basic concepts under your belt. Pro Tip: my local library gives me free access to Treehouse (for six weeks). You might want to check and see if your library does the same, or see if your company has an account. In addition to their tracks they also have “techdegrees” which have quizzes and projects as well as lessons, so you’ll have a portfolio when you’re all done! The tracks appear to start at about $25 per month but the techdegrees can be as much as $200 per month. And yes, there is a techdegree for Python development.
Tracks:
https://teamtreehouse.com/tracks/beginning-python
https://teamtreehouse.com/tracks/intermediate-python
https://teamtreehouse.com/tracks/beginning-data-science
https://teamtreehouse.com/tracks/exploring-flask
https://teamtreehouse.com/tracks/exploring-django
Lynda:
Born out of LinkedIn, Lynda is their online learning platform. I haven’t used Lynda as much, but it does have a wide range of material. I attached a link to a Raspberry Pi course because I thought that was interesting, I’ve always wanted to play around with those little guys! (Raspberry Pis are basically mini computers you can use for a wide variety of projects!) Lynda ranges from about $25 per month to around $40 for a premium membership. I get Lynda free through my library, so you might want to check with yours. I also pinned a few other courses you might find interesting.
https://www.lynda.com/search?q=Python
Engineering:
https://www.lynda.com/Python-tutorials/Python-Theory-Network-Engineers/772337-2.html?srchtrk=index%3a9%0alinktypeid%3a2%0aq%3apython%0apage%3a1%0as%3arelevance%0asa%3atrue%0aproducttypeid%3a2
(I actually thought about doing network engineering for a hot second…)
https://www.lynda.com/Python-tutorials/Python-Network-Programmability-Scaling-Scripts/769299-2.html?srchtrk=index%3a27%0alinktypeid%3a2%0aq%3apython%0apage%3a1%0as%3arelevance%0asa%3atrue%0aproducttypeid%3a2
Testing and Automation:
https://www.lynda.com/Python-tutorials/Python-Automation-Testing/651196-2.html?srchtrk=index%3a16%0alinktypeid%3a2%0aq%3apython%0apage%3a1%0as%3arelevance%0asa%3atrue%0aproducttypeid%3a2
Projects:
https://www.lynda.com/Raspberry-Pi-tutorials/Internet-Things-Python-Raspberry-Pi/5019806-2.html?srchtrk=index%3a7%0alinktypeid%3a2%0aq%3aPython%0apage%3a1%0as%3arelevance%0asa%3atrue%0aproducttypeid%3a2
https://www.lynda.com/Developer-tutorials/Python-Projects/604246-2.html?srchtrk=index%3a4%0alinktypeid%3a2%0aq%3apython%0apage%3a1%0as%3arelevance%0asa%3atrue%0aproducttypeid%3a2
edX:
edX.org features a lot of courses from universities, including some heavy hitters like Harvard and Stanford. The classes are free to take but you can upgrade for about $99 to get a certificate. Should you pay for the certificate? That’s up to you, honestly. I’ve heard arguments both ways. A certificate might look better on your resume, and the fee will definitely help edX maintain this awesome platform. However, I don’t know if the certs from edX really carry the same wait as some other certs, like Network+ or SEC+, you might want to consult a recruiter or someone who already works in tech. Just from a precursory glance, it looks like there are a ton of data science courses, so if that’s your boat, edX has definitely got you covered!
General Python:
https://www.edx.org/course/introduction-to-python-absolute-beginner-3
https://www.edx.org/course/introduction-to-programming-using-python
https://www.edx.org/course/cs50s-web-programming-with-python-and-javascript
Data Science:
https://www.edx.org/course/introduction-to-python-for-data-science-2
https://www.edx.org/course/data-science-research-methods-python-edition-2
Machine Learning:
https://www.edx.org/course/principles-of-machine-learning-python-edition-2
https://www.edx.org/course/essential-math-for-machine-learning-python-edition-2
YouTube:
Ah YouTube, home of crazy cat videos and…Python. Yes, you can use YouTube to learn, and the best thing of all, it’s free. I’ve dropped a few tutorials below to give you an idea of the types of things you can find on the Tube, check them out!
https://www.youtube.com/watch?v=rfscVS0vtbw&t=19s
https://www.youtube.com/watch?v=_uQrJ0TkZlc
https://www.youtube.com/watch?v=ZDa-Z5JzLYM
https://www.youtube.com/watch?v=25ovCm9jKfA
https://www.youtube.com/watch?v=kDdTgxv2Vv0
https://www.youtube.com/watch?v=C-gEQdGVXbk
BOOKS
Some folks are old fashioned, I get it. Nothing compares to having a physical copy of something you can flip through, highlight, and dog-ear to your heart’s content. If you’re a book kind of person, I’ve got some of those too! I tried to limit this list to things that were either highly rated or that had come out fairly recently. Tech changes so fast, the problem with books is sometimes they can’t keep up.
https://www.amazon.com/Python-Crash-Course-Hands-Project-Based/dp/1593276036/ref=sr_1_1_sspa?keywords=python+programming&qid=1553791792&s=gateway&sr=8-1-spons&psc=1
https://www.amazon.com/Smarter-Way-Learn-Python-Remember-ebook/dp/B077Z55G3B/ref=sr_1_4?keywords=python+programming&qid=1553791837&s=gateway&sr=8-4
https://www.amazon.com/Learn-Web-Development-Python-hands/dp/1789953294/ref=sr_1_11_sspa?keywords=python+programming&qid=1553791837&s=gateway&sr=8-11-spons&psc=1
https://www.amazon.com/Learn-Python-Programming-no-nonsense-programming/dp/1788996666/ref=sr_1_13?keywords=python+programming&qid=1553791837&s=gateway&sr=8-13
https://www.amazon.com/Machine-Learning-Python-Comprehensive-Beginners/dp/1797861174/ref=sr_1_2_sspa?keywords=python+programming&qid=1553791837&s=gateway&sr=8-2-spons&psc=1
CERTS
Want to stand out from the crowd? Certs are a good way to do this, and I have found a site that helps you do just that. Not only do they have certification exams but they have FREE study material. Even if you don’t want to take the exams, you can still check out their study resources to expand your knowledge of Python. Just in case, though, I’ve posted the links to all four certification pages. There is a fee to take the exams, but again, the study material is free and is run through Cisco Networking Academy. Might be time for me to hop on one of these!
https://pythoninstitute.org/certification/pcep-certification-entry-level/
https://pythoninstitute.org/certification/pcap-certification-associate/
https://pythoninstitute.org/certification/pcpp-certification-professional/pcpp-32-1-exam-syllabus/
https://pythoninstitute.org/certification/pcpp-certification-professional/pcpp-32-2-exam-syllabus/
PROJECTS
In addition to certs, a great way to test your prowess and build your confidence is through projects. I’ve included a few links to help you get started. In addition some of the course I’ve posted on here come with their own projects. If you really want to challenge yourself, try to build the projects before watching the code-along or solutions videos. Also, try to figure out how you can improve or add complexity to the projects in your courses. For example, in one of my bootcamps I had to build a game where you try to guess a random color shown on the screen. The game originally came with two levels, but I used my knowledge from the course to build a third, harder level. Pro Tip: Consider contributing to open source projects on GitHub as you build your knowledge. The last link in this section is a list of open source projects using Python.
https://knightlab.northwestern.edu/2014/06/05/five-mini-programming-projects-for-the-python-beginner/
https://medium.mybridge.co/30-amazing-python-projects-for-the-past-year-v-2018-9c310b04cdb3
https://realpython.com/what-can-i-do-with-python/
https://www.hackster.io/projects/tags/python
https://www.edureka.co/blog/python-projects/
https://hackernoon.com/50-popular-python-open-source-projects-on-github-in-2018-c750f9bf56a0
GET OUT AND ABOUT
Hopefully after going through these resources, you are as excited about Python as I am! And guess what? There are tons of other Pythonistas out there, just like you and me. While conferences can be a great place to meet up and hobnob with your fellow wiza-, I mean Pythonistas, consider using something like Meetup to find the local Python groups in your area. There are quite a few tech meet-ups in my city, including one for Python, and there are groups for other languages and for programming as well. Also check to see if there are any Hackathons in your area. Some of my first programming experiences were with Hackathons, I got to learn and practice code, and work with other developers and programmers to create ideas, build working projects and network…wait a minute. Those sound an awful lot like things that would help in finding a tech job! Brilliant!
https://www.meetup.com/apps/
https://us.pycon.org/2019/
https://www.python.org/community/workshops/
https://www.python.org/events/
https://confs.tech/python
https://opensource.com/article/18/12/top-python-conferences-attend
https://mlh.io/seasons/na-2019/events
https://www.hackalist.org/
https://devpost.com/hackathons
https://hackathons.hackclub.com/
OTHER RESOURCES
Remember in Lord of the Rings, when Frodo is on the slopes of Mount Doom and feels he can’t go on? And Sam says, “I can’t carry it for you, but I can carry you!” *Sobs.* That’s real friendship right there. My point is you don’t have to go on this wonderful Python journey alone. A lot of people have started where you are, and have gone on to do awesome things. You can too! But, if you get a little stuck, it doesn’t hurt to have a little bit of help.
First resource: Google! And no, I’m not kidding. Google is your friend here, and it will help you a lot when you get stuck. If you’re getting quirky error messages or something isn’t quite clicking, use Google to find the light. There’s also Stack Overflow. If you have a question, chances are someone else has had that same question, and someone has already answered it. Don’t beat your head against a brick wall. I mentioned the Python documentation earlier, use it! That’s why it’s there. Udemy, Treehouse, and FreeCodeCamp all have forums where you can post questions if you happen to get stuck.
I mention Youtube again, because if you are not sure where to go career wise there are breakdowns of a lot of different fields, from everything to network engineering to Python development and IoT (Internet of Things.) I actually posted a video from a “self-taught” developer, for reference.
https://stackoverflow.com/
https://docs.python-guide.org/intro/learning/
https://www.learnpython.org/
Inspiration:
https://www.youtube.com/watch?v=62tsiY5j4_0
And for the youth J :
https://girlswhocode.com/
https://www.blackboyscode.com/
http://www.blackgirlscode.com/
https://www.codeninjas.com/
https://www.idtech.com/courses
I hope you found this helpful. It can be pretty daunting tackling a new language, especially if you’ve never coded before, and sometimes even if you have. But just remember, you’re not alone! Use your resources, set aside time to study, practice your skills, and you’ll get it! Now get out there and be awesome!
0 notes
Text
Codeacdemy
Codeacdemy is a online learning platform where all ages can learn code. It is a good platform for beginners . you can learn html, css java etc. a lot of the content is free but users can upgrade to unlimited access.
Onboarding process easy to use. You are able to sign up from your google account and others. Clean layout everything is visible.
When signing up once you have added your details you have to prove your not a robot by selecting images.
You are able to browse though there catalog and community without signing up. You do not get a verification email once you sign up but you do get other emails they email you on average once a day everyday. Bit annoying
You have a 7 day trail on enjoying unlimited courses. This feature is clever to giving the customer a taste of what all inclusive access is and then taking it away and making them pay for it.
There is badges and courses in the top right. It is making course like games. “Gamification is transforming business models by creating new ways to extend relationships, craft longer-term engagement, and drive customer and employee loyalty. ” -https://www.bunchball.com/gamification.
As codeacdemy have done they have gamified there courses to get people to do more.
There is a starter kit of newbies and other ways to get the user on to the right path suited to them.
The first step to the beginners guild is this screen. I like how the user is giving three screens. One for instructions and help. Two for where the code is written and Three for the live product of code.
Codeademyhave make it easy for people to being and learn, although it does seem aimed at younger people the instructions are clear are simple and the help is very helpful plus if the user is completely stuck they are given the correct answer. Once you finish your first course you are rewards with a badge which you collect. By using gamification they are able to make the courses more fun and engaging by setting rewards but these rewards also can only be completed if the user is using pro mode.
This is codecademy selling point. By giving new members 7 days free trial on ‘pro’ they are able to access everything and by taking it away makes the user just want to buy it more as they know what it is like. With the free setting you only have limited access and limited course you can do. You have no premium support and no projects. With codeademypro it is $15.99 a month which adds up to $191.88 a year which is a far amount of money but comparing to other competitors it’s not that bad. But there is no extra costs when you have paid for pro.
With timing you can do 7 week or 10 week course in pro mode.
After I thought I researched this I found another button which gives you different payment options. This was very poorly designed for a user’s but sneaky for codeademy as they only showed me the option of a 12 month sub to keep the user for 12 months.
But since new users get a free trial you are able to make a new account each time without paying.
With the structure the layout of each page is simple and user friendly. They offer the courses and website in different languages French, Spanish and Portuguese. The coding languages the offer is HTML, CSS, Python, JavaScript, SQL, C++, Ruby, Java and Bash/Shell.
They have fun illustrations which are very professional looking and informative.
I feel they do a good job of heading the user navigate smoothly though the website.
Codeacdemy do a lot of extra things for the user. The user is able to do a quick quiz and codeademy give them course they think is right for the user and what they want to learn. I liked this idea as people can sign up and be from different background levels of skills. I do feel that their target audience is children.
On the down side, those who have a strong background in coding may find the pacing of the lessons to be a little slow and tedious. The pace of the material is geared to the rank beginner, so modules on basic concepts like variables and data structures may seem pedantic. Also, the number of offerings may not include your language of choice.
The free offerings are one-size-fits-all, so if you don’t understand how a certain concept is approached in a module, the only way to get a different approach to the same concept is through the “pro” offering. Due to the free structure that is geared toward beginning coders.
0 notes
Text
Digital Marketing Course, Why Should You do It?
Things you should know before doing a Digital promoting course
The Digital promoting industry is one of the most developing businesses these days. The pattern of Digital promoting is developing step by step. For this situation, numerous inquiries have been posed by the understudies, youths and even the working experts that should I do Digital advertising courses. By what means will it help me later on to support my bearer?
The absolute most much of the time posed inquiries identified with this course are as per the following:
I am an understudy, would it be a good idea for me to make advanced showcasing as my calling?
I am an advertising proficient, would it be a good idea for me to learn web based showcasing as well?
I am an IT proficient, is internet promoting is pertinent for me?
I realize such inquiries are rotating in your psyche as well in the event that you are not a lot of acquainted with this course. In this article, you will find solutions to each address identified with a web advertising course.
Fundamental explanations behind the development of this industry
The world is turning out to be Digital step by step, there is a tremendous upheaval in the advanced world from 2000 to 2020, all things have changed totally in the field of data innovation.
Another central purpose behind the development of this industry is internet based life, there are a large number of individuals on an online life stage and the check is expanding step by step. Facebook, Instagram, youtube, and so forth have a large number of day by day traffic and as indicated by research, individuals are spending a normal of three hours on their mobiles day by day. This gives a progressive addition to this field.
Advantages of advanced promoting course.
Profession alternatives
Web based advertising is where you can go with different profession choices like site improvement, web index showcasing, web based life promoting, online notoriety the board and some more. You can break down yourself in which field you can give your best then you can spend significant time in that subject.
Start your vocation rapidly
In progressively standard livelihoods like elevating you'd have to hold on for quite a while for a brief activity or graduate situation to open up so you can get comprehension and make your own portfolio. Be that as it may, in this field, things are somewhat extraordinary, it gives a huge gathering of opportunities to you to dispatch your own calling before you even set foot in a workplace.
What's more, this is extremely colossal bit of leeway of this course.
Acquire from anyplace
The best piece of this field is that you needn't bother with any organization, office or employment to acquire cash. You can win cash sitting at home and even while you are voyaging. All you need is a PC and a decent web association. You can do outsourcing, taking undertakings from Fiverr, Upwork, and so forth, you can do subsidiary showcasing and you can even make your blog and gain from it with the assistance of Google Adsense.
Trust me, individuals are procuring several dollars sitting from home. On the off chance that they can do it, at that point you can likewise do it, on the whole, you need to become familiar with all the stunts and strategies of this field.
Work with various characters
On the off chance that you do outsourcing, you need to work for various individuals from various foundations and even in your activity, you need to oversee distinctive various undertakings as per the customer's needs. This procedure will make you adaptable in this field and you will end up being an all the more sharp individual with time.
OUR COURSES
digital marketing course in jaipur
advance java in jaipur
asp net mvc training in jaipur
asp net programming in jaipur
business component development course in jaipur
c programming course in jaipur
c course in jaipur
data structure training course in jaipur
hibernate framework course in jaipur
java script training course in jaipur
java web component developer in jaipur
spring framework training course in jaipur
sql certification training course in jaipur
struts framework course in jaipur
vb net programming in jaipur
visual basic training course in jaipur
advanced diploma in computer science programming adcs adcp in jaipur
certified ethical hacking training course in jaipur
cloud salesforce certification training course in jaipur
oracle certification training in jaipur
rkcl rscit course in jaipur
unity game development course in jaipur
basic excel course in jaipur
summer training 2020 in jaipur
excel vba training course in jaipur
microsoft excel advanced course in jaipur
ms access training courses in jaipur
ms office course in jaipur
ms project training course in jaipur
3d animation using blender course in jaipur
adobe flash animation training course in jaipur
adobe illustrator training course in jaipur
adobe indesign training course in jaipur
coreldraw training course in jaipur
dtp graphic design courses in jaipur
graphic designing diploma course in jaipur
maya animation training course in jaipur
photoshop training course in jaipur
ajax training course in jaipur
css training course in jaipur
html training course in jaipur
javascript training course in jaipur
web designing course in jaipur
angularjs training course in jaipur
cakephp training course in jaipur
mongodb training course in jaipur
node js training course in jaipur
php training course in jaipur
wordpress training course in jaipur
interview skills training in jaipur
personality development course in jaipur
spoken english course in jaipur
ai artificial intelligence training course in jaipur
big data hadoop certification training course in jaipur
iot internet of things training course in jaipur
machine learning course in jaipur
python class certification training in jaipur
r language programming course in jaipur
android app course in jaipur
ios development course in jaipur
cisco ccna certification course training in jaipur
cisco ccnp course in jaipur
aws cloud computing course in jaipur
cloud computing certification training in jaipur
cloud salesforce certification training course 2 in jaipur
mcse windows server microsoft certification in jaipur
red hat certified system administrator in jaipur
rhce red hat certification in jaipur
dst diploma in software testing in jaipur
hp loadrunner performance testing course in jaipur
hp qtp uft course in jaipur
hp software testing certification training class in jaipur
istqb certification exam course in jaipur
jmeter performance testing in jaipur
selenium certification training course in jaipur
arduino training course in jaipur
embedded systems training course in jaipur
pcb circuit designing course in jaipur
raspberry pi training course in jaipur
robotics and embedded systems course in jaipur
robotics training class in jaipur
vlsi training course internship in jaipur
matlab training course in jaipur
plc scada training course in jaipur
solar energy training course in jaipur
3d studio max training 2 in jaipur
advanced diploma in interior designing in jaipur
diploma course in interior designing in jaipur
interior design course training in jaipur
ansys training course in jaipur
autocad for mechanical training in jaipur
catia training in jaipur
cnc programming training in jaipur
creo pro e training course in jaipur
hvac training course in jaipur
nx cad training course in jaipur
primavera training course in jaipur
solidworks training course in jaipur
advanced diploma course in jewellery designing in jaipur
diploma in jewellery design courses in jaipur
jewellery designing training courses in jaipur
rhino 3d training course in jaipur
autocad for civil training in jaipur
civil 3d training course in jaipur
ms project training courses in jaipur
mxroad training course in jaipur
staad pro training course in jaipur
3d studio max training in jaipur
autocad training course in jaipur
google sketchup training in jaipur
revit architecture training course in jaipur
a hardware course in jaipur
n networking courses training in jaipur
tally financial accounting course in jaipur
advanced diploma in commercial accountant in jaipur
diploma in banking and finance in jaipur
gst goods and service tax course in jaipur
mis training course diploma in jaipur
sap fico certification course in jaipur
sap mm training course in jaipur
winter internship training for b tech mca in jaipur
acc certification training course in jaipur
ccc training course in jaipur
computer teacher training course cttc in jaipur
dca diploma in computer application in jaipur
doap diploma in office automation publishing in jaipur
doeacc nielit o level course in jaipur
pgdca course in jaipur
adobe certified associate exam in jaipur
apple certification in jaipur
autodesk certified testing center in jaipur
google certification in jaipur
mos microsoft certification exams in jaipur
rkcl authorized center govt computer institute in jaipur
tally certification in jaipur
#digital marketing course#web designing course#web development#online courses#python course#perfectcomputerclasses
0 notes
Text
Top 5 (Free) Online Courses to Learn HTML, CSS & Web Development in 2020
Hello guys, I have been sharing a lot of free online courses and books on various technology and programming language like Python, Java, C++, JavaScript, PHP, React, Angular, Spring in this blog from quite some time and today I have brought some great free courses to learn the basics of web development.
Web Development is an important skill for programmers in this era of Startups. As a programmer or software developer, you should know how to create a website and how to create a mobile app of your own.
Though it’s not easy. Coding is like art and many people born with coding sense, I mean they love coding, they love to create stuff like websites, mobile apps, games, etc and they love to automate things.
They are a very good self-learner and almost learn anything by themselves, but don’t get discouraged if you don’t have those skills. By perseverance and hard work, you can also learn whatever you want. In the past, I have shared some tips to learn new technology and books and courses are an integral part of it. I personally like free courses to start learning a new technology e.g. when I had to learn Apache Spark recently, I started with online courses followed by book for more comprehensive learning.
Online courses provide you a summary and essential details so that you can get a start without investing too much time.
It is also more engaging and active way of learning. On the other hand, books are a little bit passive learning than courses and that’s why you must have some background to grasp the technical details given in books. In this article, I am going to share some of the best, free online courses to learn Web Development using HTML and CSS. If you are new to web development space then you can use these courses to start your journey in the beautiful world of websites.
Btw, If you can spend a few bucks on something worth learning then you should also check out The Web Developer Bootcamp course by Colt_Steele. It’s one of my favorite course and the only courses you need to learn web development — HTML, CSS, JS, Node, and More!
The Web Developer Bootcamp | Udemy
5 Online Courses to learn Web Development using HTML and CSS
Here is my collection of some of the best web development courses for programs which are available free of cost. You can learn them from these courses from the comfort of your office and home and you can also learn at your own pace. You can slow down, do some coding and then start again. 1. Web Development By Doing: HTML / CSS From Scratch This course will introduce you to the two pillars of web development: HTML and CSS. Among other things, you will learn the foundational role of each these pillars and how they fit together to form websites. In the HTML section, you will learn how to perform simple tasks such as creating a basic web page, adding images, changing colors, and constructing lists, while in the CSS section you will learn how to beautify your web pages. I know everyone uses Bootstrap nowadays to make their webpage beautiful and look professional but in order to use Bootstrap, a leading CSS library, fundamental knowledge of CSS concepts are important and that’s what you will learn in this course.
2. Foundations of Front-End Web Development This is an excellent course on Udemy to learn Front-End Web Development from scratch, as it will not only teach you all essential technologies, libraries, and frameworks for web development but also show you how to use them effectively by building real projects. In order to become a good front-end developer, you not only need to know HTML, CSS, JavaScript but also leading frameworks and libraries like Angular, React, BootStrap, etc. This course will teach you all of that in an interactive and comprehensive way. A good deal for a free course.
3. Learn HTML & CSS: How To Start Your Web Development Career This is another great course to learn HTML and CSS for web development and perfect for junior developers and computer science graduates who want to become a web developer in 2019.
This course is divided into 4 important sections: 1.) HTML Section 2.) CSS Section 3.) Code Challenge Final 4.) Course Project You can see that the course is very well structured. The first two sections will teach you HTML and CSS, from beginning to end and the third and fourth section will test the knowledge you have learned in the first two sections. Thanks to @WebDevByDoing for keeping this course free.
Learn HTML & CSS: How To Start Your Web Development Career
4. Learn Responsive Web Development from Scratch If I have to suggest one thing to all the programmers, web developers and computer science graduates who want to go into web design or front-end development to learn that that must be the responsive theme and pages. In today’s world, responsive design is just because people are using different devices to access the web pages like mobile phones, smartphones, tablets, desktop, laptops, and even TVs. A responsive web page can adjust automatically depending on the screen size and looks good to the user and that’s why it’s important. This course will teach you all the things you need to know to learn responsive web development like frameworks, libraries, techniques, best practices, etc. My sincere thanks to instructor Eduonix Learning Solution for keeping this course free.
5. Master the Basics of HTML5 & CSS3: Beginner Web Development This is one of the more up-to-date web development course which you can get it for free in Udemy. This course focuses on the latest version of HTML and CSS, I mean HTML 5 and CSS 3, which is very important for a new developer. There is no point learning an older version if you are just starting to learn web development from scratch. By learning the updated version, you are bound to get better performance and create better apps. It also helps when you search for jobs because web application development companies obviously prefer a candidate who has knowledge of the latest and greatest technologies. A big thanks to Instructor Mindmekka for keeping this course for free.
That’s all about some of the best courses to learn web development using HTML and CSS with free of cost. Even if you know HTML and CSS, these free resources are a great way to refresh your knowledge and fill your gaps. Web Development is an important skill and in the age of startup, I think, every programmer should know how to create a website or mobile app himself.
Thanks for reading this article. If you like these free web development courses then please share with your friends and colleagues. If you have any questions or feedback then please drop a note.
0 notes
Link
In the last few months, I have learned a lot about modern JavaScript and CSS development with a local toolchain powered by Node 8, Webpack 4, and Babel 7. As part of that, I am doing my second “re-introduction to JavaScript”. I first learned JS in 1998. Then relearned it from scratch in 2008, in the era of “The Good Parts”, Firebug, jQuery, IE6-compatibility, and eventually the then-fledgling Node ecosystem. In that era, I wrote one of the most widely deployed pieces of JavaScript on the web, and maintained a system powered by it. Now I am re-learning it in the era of ECMAScript (ES6 / ES2017), transpilation, formal support for libraries and modularization, and, mobile web performance with things like PWAs, code splitting, and WebWorkers / ServiceWorkers. I am also pleasantly surprised that JS, via the ECMAScript standard and Babel, has evolved into a pretty good programming language, all things considered. To solidify all this stuff, I am using webpack/babel to build all static assets for a simple Python/Flask web app, which ends up deployed as a multi-hundred-page static site. One weekend, I ported everything from Flask-Assets to webpack, and to play around with ES2017 features, as well as explore the Sass CSS preprocessor and some D3.js examples. And boy, did that send me down a yak shaving rabbit hole. Let’s start from the beginning! JavaScript in 1998 I first learned JavaScript in 1998. It’s hard to believe that this was 20 years — two decades! — ago. This post will chart the two decades since — covering JavaScript in 1998, 2008, and 2018. The focus of the article will be on “modern” JavaScript, as of my understanding in 2018/2019, and, in particular, what a non-JavaScript programmer should know about how the language — and its associated tooling and runtime — have dramatically evolved. If you’re the kind of programmer who thinks, “I code in Python/Java/Ruby/C/whatever, and thus I have no use for JavaScript and don’t need to know anything about it”, you’re wrong, and I’ll describe why. Incidentally, you were right in 1998, you could get by without it in 2008, and you are dead wrong in 2018. Further, if you are the kind of programmer who thinks, “JavaScript is a tire fire I’d rather avoid because it lacks basic infrastructure we take for granted in ‘real’ programming languages”, then you are also wrong. I’ll be able to show you how “not taking JavaScript seriously” is the 2018 equivalent of the skeptical 2008-era programmer not taking Python or Ruby seriously. JavaScript is a language that is not only here to stay, but has already — and will continue to — take over the world in several important areas. To be a serious programmer, you’ll have to know JavaScript’s Modern and Good Parts — as well as some other server-side language, like Python, Ruby, Go, Elixir, Clojure, Java, and so on. But, though you can swap one backend language for the other, you can’t avoid JavaScript: it’s pervasive in every kind of web deployment scenario. And, the developer tooling has fully caught up to your expectations. JavaScript during The Browser Wars Browsers were a harsh environment to target for development; not only was Internet adoption low and not only were internet connections slow, but the browser wars — mainly between Netscape and Microsoft — were creating a lot of confusion. Netscape Navigator 4 was released in 1997, and Internet Explorer 5 was released in 1998. The web was still trying to make sense of HTML and CSS; after all, CSS1 had only been released a year earlier. In this environment, the definitive web development book of the era was “JavaScript: The Definitive Guide”, which weighed in at over 500 pages. Note that, in 1998, the most widely used programming languages were C, C++, and Java, as well as Microsoft Visual Basic for Windows programmers. So expectations about “what programming was” were framed mostly around these languages. In this sense, JavaScript was quite, quite different. There was no compiler. There was no debugger (at least, not very good ones). There was no way to “run a JavaScript program”, except to write scripts in your browser, and see if they ran. Development tools for JavaScript were still primitive or inexistent. There was certainly not much of an open source community around JS; to figure out how to do things, you would typically “view source” on other people’s websites. Plus, much of the discussion in the programming community of web developers was how JavaScript represented a compatibility and security nightmare. Not only differing implementations across browsers, but also many ways for you to compromise the security of your web application by relying upon JavaScript too directly. A common security bug in that era was to validate forms with JavaScript, but still allow invalid (and insecure) values to be passed to the server. Or, to password-protect a system, but in a way that inspection of JavaScript code could itself crack access to that system. Combined with the lack of a proper development environment, the “real web programmers” used JavaScript as nothing more than a last resort — a way to inject a little bit of client-side code and logic into pages where doing it server-side made no sense. I remember one of the most common use cases for JavaScript at the time was nothing more than changing an image upon hover, as a stylistic effect, or implementing a basic on-hover menu on a complex multi-tab form. These days, these tasks can be achieved with vanilla CSS, but, at the time, JavaScript DOM manipulation was your only option. JavaScript in 2008 Fast forward 10 years. In 2008, Douglas Crockford released the book, “JavaScript: The Good Parts”. By using a language subsetting approach, Crockford pointed out that, not only was JavaScript not a bad language, it was actually a good language, well-designed, with certain key features that made it stand out vs competitors. Around this time, several JavaScript libraries were becoming popular, notably jQuery, Prototype, YUI, and Dojo. These libraries attempted to provide JavaScript with something it was missing: a cross-browser compatibility layer and programming model for doing dynamic manipulation of pages inside the browser, and especially for a new model of JavaScript programming that was emerging, with the moniker AJAX. This was the beginning of the trend of rich internet applications, “dynamic” web apps, single-page applications, and the like. JavaScript’s Tooling Leaps The developer tooling for JavaScript also took some important leaps. In 2006, the Firefox team released Firebug, a JavaScript and DOM debugger for Firefox, which was then one of the world’s most popular web browsers, and open source. Two years later, Google would make the first release of Google Chrome, which bundled some developer tooling. Around the same time that Chrome was released, Google also released V8, the JavaScript engine that was embedded inside of Chrome. That marked the first time that the world had seen a full-fledged, performant open source implementation of the JavaScript language that was not completely tied to a browser. Firefox’s JS engine, SpiderMonkey, was part of its source tree, but was not necessarily marketed to be modularized and used outside the context of the Firefox browser. I remember that aside from Crockford’s work on identifying the good parts of JavaScript, and aside from the new (and better) developer tooling, a specific essay on Mozilla’s website helped me re-appreciate the language, and throw away my 1998 conception. That article was called “A Reintroduction to JavaScript”. It showed how JavaScript was actually a real programming language, once you got past the tooling bumps. A little under-powered in its standard library, thus you had to rely upon frameworks (like jQuery) to give you some tools, and little micro-libraries beyond that. A year after reading that essay, I wrote my own about JavaScript, which was called “Real, Functional Programs with JavaScript” (archived PDF here). It described how JavaScript was, quite surprisingly, more of a functional language than Java 8 or Python 2.7. And that with a little focus on understanding the functional core, really good programs could be written. I recently converted this essay into a set of instructional slides with the name, “Lambda JavaScript” (archived notes here), which I now use to teach new designers/developers the language from first principles. But, let’s return to history. Only a year after the release of Chrome, in 2009, we saw the first release of NodeJS, which took the V8 JavaScript engine and embedded it into a server-side environment, which could be used to experiment with JavaScript on a REPL, to write scripts, and even to write HTTP servers on a performant event loop. People began to experiment with command-line tools written in JavaScript, and with web frameworks written in JavaScript. It was at this point that the pace of development in the JavaScript community accelerated. In 2010, npm — the Node Package Manager — was released, and it and its package registry quickly grew to represent the full JavaScript open source community. Over the next few years, the browser vendors of Mozilla, Google, Apple, and Microsoft engaged in the “JavaScript Engine Wars”, with each developing SpiderMonkey, V8, Nitro, and Chakra to new heights. Meanwhile, NodeJS and V8 became the “standard” JS engine running on developer’s machines from the command line. Though developers still had to target old “ECMAScript 3” browsers (such as IE6), and thus had to write restrained JavaScript code, the “evergreen” (auto-updating) browsers from Mozilla, Google, and Apple gained support for ECMAScript 5 and beyond, and mobile web browsing went into ascendancy, thus making Chrome and Safari dominant in market share especially on smartphones. I remember in 2012, I gave a presentation at a local tech conference entitled, “Writing Real Programs… with JavaScript!?”. The “!?” punctuation was intentional. That was the general zeitgeist I remember in a room full of developers: that is, “is writing real programs with JavaScript… actually possible!?” It’s funny to review those slides as a historical relic. I spent the first half of the talk convincing the audience that JavaScript’s functional core was actually pretty good. And then I spent the second half convincing them that NodeJS might… it just might… create a developer tooling ecosystem and standard library for JavaScript. There are also a few funny “detour” slides in there around things like Comet vs Ajax, a debate that didn’t really amount to much (but it’s good to remind one of fashion trends in tech). Zooming ahead a few years, in all of this noise of web 2.0, cloud, and mobile, we finally reached “mobilegeddon” in 2015, where mobile traffic surpassed desktop traffic, and we also saw several desktop operating systems move to a mostly-evergreen model, such as Windows 10, Mac OS X, and ChromeOS. As a result, as early as 2015 — but certainly by 2018 — JavaScript became the most widely deployed and performant programming language with “built-in support” on almost every desktop and mobile computer in the world. In other words, if you wanted your code to be “write once, run everywhere” in 2015 or so (but even as far back as 2009), your best option was JavaScript. Well, that’s even more true today. The solid choice for widespread distribution of your code continues to be JavaScript. As Crockford predicted in 2008: “It is better to be lucky than smart.” JavaScript in 2018-2019 In 2018-2019, several things have changed about the JavaScript community. Development tools are no longer fledgling, but are, instead, mature. There are built-in development tools in all of Safari, Firefox, and Chrome browsers (and the Firebug project is mostly deprecated). There are also ways to debug mobile web browsers using mobile development tools. NodeJS and npm are mature projects that are shared infrastructure for the whole JavaScript community. What’s more, JavaScript, as a language, has evolved. It’s no longer just the kernel language we knew in 1998, nor the “good parts” we knew in 2008, but instead the “modern parts” of JavaScript include several new language features that go by the name “ES6” (ECMAScript v6) or “ES2017” (ECMAScript 2017 Edition), and beyond. Some concepts in HTML have evolved, such as HTML5 video and audio elements. CSS, too, has evolved, with the CSS2 and CSS3 specifications being ratified and widely adopted. JSON has all but entirely replaced XML as an interchange format and is, of course, JavaScript-based. The V8 engine has also gotten a ton of performance-oriented development. It is now a JIT compiled language with speedy startup times and speedy near-native performance for CPU-bound blocks. Modern web performance techniques are almost entirely based on a speedy JavaScript engine and the ability to script different elements of a web application’s loading approach. The language itself has become comfortable with something akin to “compiler” and “command line” toolchains you might find in Python, Ruby, C, and Java communities. In lieu of a JavaScript “compiler”, we have node, JavaScript unit testing frameworks like Mocha/Jest, as well as eslint and babel for syntax checking. (More on this later.) In lieu of a “debugger”, we have the devtools built into our favorite browser, like Chrome or Firefox. This includes rich debuggers, REPLs/consoles, and visual inspection tools. Scriptable remote connections to a node environment or a browser process (via new tools like Puppeteer) further close the development loop. To use JavaScript in 2018/2019, therefore, is to adopt a system that has achieved 2008-era maturity that you would see in programming ecosystems like Python, Ruby, and Java. But, in many ways, JavaScript has surpassed those communities. For example, where Python 3’s reference implementation, CPython, is certainly fast as far as dynamic languages go, JavaScript’s reference implementation, V8, is optimized by JIT and hotspot optimization techniques that are only found in much more mature programming communities, such as Java’s (which received millions of dollars of commercial support in applied/advanced compiler techniques in the Sun era). That means that unmodified, hotspot JavaScript code can be optimized into native code automatically by the Node runtime and by browsers such as Chrome. Whereas Java and C users may still have debates about where, exactly, open source projects should publish their releases, that issue is settled in the JavaScript community: it’s npm, which operates similarly to PyPI and pip in the Python community. Some essential developer tooling issues were only recently settled. For example, because modern JavaScript (such as code written using ES2017 features) needs to target older browsers, a “transpilation” toolchain is necessary, to compile ES2017 code into ES3 or ES5 JavaScript code, suitable for older browsers. Because “old JavaScript” is a Turing complete, functional programming language, we know we can translate almost any new “syntactic sugar” to the old language, and, indeed, the designers of the new language features are being careful to only introduce syntax that can be safely transpiled. What this means, however, is that to do JavaScript development “The Modern Way”, while adopting its new features, you simply must use a local transpiler toolchain. The community standard for this at the moment is known as babel, and it’s likely to remain the community standard well into the future. Another issue that plagued 2008-era JavaScript was build tooling and modularization. In the 2008-2012 era, ad-hoc tools like make were used to concatenate JavaScript modules together, and often Java-based tools such as Google’s Closure Compiler or UglifyJS were used to assemble JavaScript projects into modules that could be included onto pages. In 2012, the Grunt tool was released as a JavaScript build tool, written atop NodeJS, runnable from the command-line, and configurable using a JavaScript “Gruntfile”. A whole slew of build tools similar to this were released in the period, creating a whole lot of code churn and confusion. Thankfully, today, Single Page Application frameworks like React have largely solved this problem, with the ascendancy of webpack and the reliance on npm run-script. Today, the webpack community has come up with a sane approach to JavaScript modularization that relies upon the modern JS support for modules, and then development-time tooling, provided mainly through the webpack CLI tool, allow for local development and production builds. This can all be scripted and wired together with simple npm run-script commands. And since webpack can be itself installed by npm, this keeps the entire development stack self-contained in a way that doesn’t feel too dissimilar from what you might enjoy with lein in Clojure or python/pip in Python. Yes, it has taken 20 years, but JavaScript is now just as viable a choice for your backend and CLI tooling projects as Python was in the past. And, for web frontends, it’s your only choice. So, if you are a programmer who cares, at all, about distribution of your code to users, it’s time to care about JavaScript! In a future post, I plan to go even deeper on JavaScript, covering: How to structure your first “modern” JavaScript project Using Modern JS with Python’s Flask web framework for simple static sites Understanding webpack, and why it’s important Modules, modules, modules. Why JS modules matter. Understanding babel, and why it’s important Transpilation, and how to think about evolving JS/ES features and “compilation” Using eslint for bonus points Using sourcemaps for debugging Using console.assert and console for debugging Production minification with uglify Building automated tests with jest Understanding the value of Chrome scripting and puppeteer Want me to keep going? Let me know via @amontalenti on Twitter.
0 notes
Text
Machine Whispering P1: Getting Started With Programming
Welcome! First question is, what are you looking to build?
switch(You.Interests) { case Web Pages/Web Applications/Front-end/Visuals: You.startWith(HTML/CSS/JavaScript) case Data manipulation/Stats/Math work/Algorithms/Research and science: You.startWith(Python) case Operations/Managing machines/System administration/Database work: You.startWith(Bash/C/SQL) case Backend/Server side/Core logic and functionality/Algos/Infrastructure: You.startWith(C/Go) case iOS: You.startWith(ObjectiveC/Swift) case Android: You.startWith(Java) case Windows: You.startWith(C#) case macOS: You.startWith(Swift) case VideoGames/PerformanceProgramming: You.startWith(C/C++) }
*Default: if you’re really not sure what you want to do, just want to get started, try Python.
Code, or a programming language, is a way of talking to a computer. Usually, when we talk to the computer it is to describe a problem we have or what to do to solve it. Right now, you and I are communicating using English. Similarly, you can give instructions to a machine with C, Python, Lisp or Java, for example. Each language has it’s own rules that keep its structure and make meaning more distinct. These rules are a combination of syntax and semantics.
You’re going to hear a lot about “abstractions” and “high/low” levels. This is just a way of describing how close you are to what’s physically happening. The lowest level is the hardware! The chips and electricity powering the machine. Something very high level could be a line of code such as “Application.start()” that, alone, launches an extremely complex system. However, all of those details and implementation have been “abstracted” away. The significance of this is that if you’re building something at a higher level, you’re trusting all the lower level stuff has been implemented optimally and is doing what you need/expect it to. Where as, if you’re working at the low level, it can be more work, but you’re designing every detail and exactly how it’ll work. Here’s a summary of some popular, good to know languages.
High Level
Python: Generally regarded as a “scripting” language. Scripting is automating things, one off tasks, smaller jobs and operational tasks. Python is extremely quick to write which makes it good for this. However, you can definitely still write plenty of cool applications with it. It’s very good for manipulating data and math based work. Personally, I believe Python’s best selling point is its intuitive syntax. Everything you write will be fairly close to the English language making it very readable. Great starting point if you would like to get an idea of what programming is about and want to get started quick.
Java: Good for enterprise applications. All Android development is done in Java as well. All-around solid language that’s very versatile. Lots of community support, can build almost anything you want with it.
Go: Often referred to as GoLang, Google’s language! Not as wordy as Java, but more large-scale ready than python. It’s a smaller language (less provided in the included library) and is also very fast.
Lower Level
C: The Godfather of languages. Gives you the ability to do everything down to assigning memory for data, and has the potential to be an extremely fast application. It’s fairly compact in the sense that there’s not much extra included and you have to implement most things yourself. Lots of higher-level languages were actually written in C.
C++: A bit higher level than C, still very similar. A larger standard library and functions/data structures included for you to play with.
The style, syntax or way of communicating at the start of this article is a common way of expressing “switching” actions based on the “case.” This is pseudo-code. So, not actual valid code but a rough outline or imitation. I’m a big fan of using pseudo-code to sketch out your thought process and getting an idea of what needs to be done. At the beginning it’ll be tough to even form sentences. You naturally struggle with describing the steps to solve a problem, so here are my steps to taking steps.
Break it into pieces. You’re not taking steps, you’re lifting your leg, extending, push, land and repeating.
Once you have an idea of what needs to happen, try to find something that sounds similar in the documentation. Don’t ignore docs. They’re your best friend. They have all the actual A+ on the test answers. And, ALWAYS read the docs from whoever made the language/tool/library, first.
Think in terms of data and data structures. Most of the things you want to do involve you taking some data/info and either transforming it or putting it somewhere else. Like transferring money from one bank account to another. To describe this to the computer keep in mind the basic building blocks, like arrays, lists, maps or what are often referenced as “containers” in documentation. Once you have stored or structured your data then you know how you can interact with it to do whatever you need to.
Just type. The most important thing is just to start typing. There will be times when you get frustrated, but the biggest key is just to start. It doesn’t have to be correct from the beginning. It’s better to have something broken and wrong than nothing.
An important thing to remember is that what language you start with isn’t a huge deal! Once you get going, you’ll learn more languages and it’ll be much easier to pick them up. Don’t stress the decision too much and just get writing.
Here’s some good resources for starting with different languages.
General Intro:
codeacademy.com - Great all around https://turtleacademy.com/ - Teaching language, good for learning structure and how things work
Python:
https://learnpythonthehardway.org/ http://python-guide-pt-br.readthedocs.io/en/latest/ http://blog.udacity.com/2015/03/write-your-first-python-application.html
Swift/IoS:
https://www.apple.com/ca/swift/playgrounds/ - Very fun intro BigNerdRanch books - (ObjC)
Web Dev:
codeacademy.com http://www.htmlgoodies.com/
C/C++:
https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628 - The classic of all classic textbooks https://www.amazon.ca/Your-First-C-Program/dp/0782114148
Go
https://tour.golang.org/welcome/1
Functional Programming
Functional programming is a different style, paradigm, or way of thinking. You can still accomplish all the same things, but your thought process might be more suited for languages designed for communicating using message passing and functions as opposed to data structures and objects that object oriented languages like Java and Go are often used for. Please do some more research to understand the difference between these two styles.
Scheme - good intro functional language, can be learned in this book (Also used in CS135 at Waterloo for intro) http://www.htdp.org/2003-09-26/Book/curriculum.html - Lots of general explanation, conceptual grasp that eases you in
Erlang - one of my personal favourite languages, just really fun to write. http://learnyousomeerlang.com/introduction - Awesome, fun-ly written book
Also, here’s some more general tips:
If you’re not developing for Windows, try getting a Unix-based operating system (macos or Ubuntu probably). They come with popular terminals or command lines that are used to control your computer/operating system more finely. They will almost always use a language called Bash. Windows has recently released support for this on their system, but I haven’t given it a try myself. https://msdn.microsoft.com/en-us/commandline/wsl/about
Understand how the internet works. Understanding networks will make the steps for building an application more intuitive. Generally, any specific knowledge is useful and I encourage researching anything you come across but the internet is a fundamental block. https://www.destroyallsoftware.com/compendium/network-protocols?share_key=97d3ba4c24d21147
If you’re not sure what to do to keep practicing, just search for tutorials! Projects are a great way to practice and also give you direction and focus. Search for a tutorial to make a blog, a banking system, tic-tac-toe or whatever else comes to mind in the language you want to use.
Create a GitHub! This is like your Instagram for coding. Or where you can show off all your work. It’s also tremendously useful to manage your projects. As you make progress you “commit” checkpoints so you can revert changes, look back to see what you’ve done, or just to upload things online so you don’t lose progress and you can continue working somewhere else. Great community with lots of useful code hosted on there. Big sharing and open-source-work-contribute-to-others vibe on there.
If you’re not too hot about the language you started, or a framework/library you’re using, then switch it up. Different languages were designed in drastically different ways. Some of them might just make more sense to you personally or are a more intuitive way to approaching problems. Two major contrasting paradigms are object-oriented programming vs. Functional programming.
Have fun! Feel free to message me with any questions you have.
0 notes
Text
First Programs When Learning a New Language
There are several languages that are key to using in Machine Learning:
Elixir - the, “pipeline,” for robust, large amounts of data.
There are several, “rule of thumb” programs which are noted as being important to start out with writing:
Basic: Hello World
Python - Done.
Ruby - Done.
Javascript - Done.
Matlab - Done.
C++ - Done.
Elixir - Done.
Type casting: return int with reversed digits of int input
Elixir - Done.
Map: return a dict of letter counts in a string
Elixir
Recursion: Fibonacci
Pattern matching: extract phone numbers from a text file
DB: parse CSV and store in (no)SQL db
Elixir
Net: API endpoint that returns aggregate results from multiple external API request (use some sort of concurrency for requests and/or aggs?)
Data structures, text input: tic tac toe, battleship, or some similar game
Graphics, visual input: flood fill, line drawing, A* pathing, or somesuch
Data statistics: calc mean, max, min, 95% from a time series dataset for various time intervals (and graph them?)
Second opinion on the above:
DB
This one is library dependent. Most languages don't have something like linq. A lot of the DSLs that map SQL queries to your favourite language are at times not very performant as well. Many times, you end up using plain SQL or whatever NOSQL depending on how good the library is.
Net
Also library dependent unless you want to get into low level sockets which most people don't even remotely understand. On top of this, depending on what framework you're using (because no one makes a server from scratch nowadays when there are entire organizations dedicated to developing a framework) the library is different.
Tic-tac-toe/battleship
I work in software and I can imagine how i'd implement this, but I've never done it. Seriously have never found a reason to ever do this. This is some intro to cs shit. That's like asking "How to implement quicksort in X lang". Most of the time wont need it.
Graphics
I never work with graphics. I don't know jack shit about graphics. I'm a server side developer/security analyst and I don't need to know this shit. I'd hardly make this a must.
IMO, the entire problem with this thread and responses is you only need to memorize specifics once you work in something very often. I can sniff a network with scapy without looking at any references but if you ask me how to do this in C I have no idea, but give me a few hrs I could get it to work.
What people need to understand is that knowledge of concepts matter more than individual implementation. If you understand concepts from the ground up, you can work with any implementation.
More Advanced Things...
Consume an API ( REST / SOAP )
Create an API ( REST / SOAP )
Implement a few data structures ( Linked List / ArrayList / Binary Search Tree )
Implement a few algorithms ( A*, DFS, BFS, etc. )
Create some bot ( Discord, Reddit )
Scrape some website that doesn't have a public-facing API ( Craigslist )
Various side projects related / tied into your personal hobbies ( for me, cars )
Section 1. 2nd nature Basics: these should be things you don't have to think about
Simple Types. If you can't deal with words (Strings), numbers (integers, doubles, floats etc) and binary options (booleans), you cant really do anything useful for non technical humans to understand
Type Manipulation. if you cant convert 11 (as a string) into 11 (as an integer) then you cannot do a calculation with written numbers. If you don't know how
Logical loops and conditions. (e.g If, Else If, For Each, While, Switch Case etc. ) if you cant do this you cannot program anything useful... and for gods sake don't create a potentially infinite loop in your program.
I/O or Read/Write. if you cant take inputs from somewhere and provide an output, what's the point?!
Functions/methods and overloads. Learn how to create them and reuse them as often as you can whenever a similar problem presents itself.
Error handling AND LOGGING. no function should be without a try catch [turns out this is fairly specific to my specific application specifications]. use what you learned doing I/O and output the errors to a log file so you can see where things are going wrong, even if they don't cause unexpected behaviour.
Section 2. Necessary basics: these might require a little more thought in terms of how you optimise certain things, but definitely not challenging on a day to day basis.
Complex Types. Lists, collections, multidimensional arrays. all very useful when dealing with lots of data
Interfacing: how to create reusable interfaces to be used throughout your application
Classes and inheritance and class structure: This will form the basic structure of all your programs
I/O 2 Database transactions. so how to query SQL to get your data, and how to update tables with the results.
Section 3. stuff you should know but might want to look up occasionally
learn a structural framework (MVVM, MVC)
Front end (Xaml if you're doing WPF, HTML/CSS + a bit of JS for web)
Section 4 Everything Else:
Google.... no i'm serious, google has the answer to every question you could possibly want to ask about programming. so unless you are doing something groundbreaking and new, google will likely have your answer. so long as you have a solid grasp of everything i put above you should be able to integrate any solution provided on the web into your own code. but it's up to you to make it as efficient as possible...
0 notes