issue122:c_c
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue122:c_c [2017/07/10 16:15] – [1] auntiee | issue122:c_c [2017/07/18 00:12] (Version actuelle) – d52fr | ||
---|---|---|---|
Ligne 11: | Ligne 11: | ||
No. This article is geared towards my personal approach to learning a language. I’ll refer to some websites and books, but the actual learning of the language is out of scope.** | No. This article is geared towards my personal approach to learning a language. I’ll refer to some websites and books, but the actual learning of the language is out of scope.** | ||
- | Étant programmeur et développeur Web autodidacte, | + | Étant programmeur et développeur Web autodidacte, |
- | À qui est destiné | + | À qui est destiné |
- | Cet article est orienté vers toute personne qui est intéressé, même un tout petit peu, par la programmation mais qui se demande où commencer ou quelle approche utiliser, notamment des concepteurs qui pense qu'ils devraient apprendre les bases de l'HTML et CSS, ou des jeunes passionnés d' | + | Cet article est orienté vers toute personne qui est intéressée, même un tout petit peu, par la programmation, mais qui se demande |
+ | |||
+ | Cet article, m' | ||
+ | |||
+ | Non, l' | ||
Ligne 32: | Ligne 36: | ||
There are a mass of local programming languages - Python, C++, Perl, and Java just to name a few. There isn’t typically a “best language”, | There are a mass of local programming languages - Python, C++, Perl, and Java just to name a few. There isn’t typically a “best language”, | ||
+ | |||
+ | Quelques conseils généraux | ||
+ | |||
+ | Les éléments suivants s' | ||
+ | • N' | ||
+ | • Essayez toujours quelque chose de nouveau. Ne restez pas au même format de programme, même si vous essayez d' | ||
+ | • Examinez quelques projets Open Source sur GitHub. Vous n'avez pas besoin d'y contribuer ni de vous sentir à l'aise avec vos compétences ; le simple fait de regarder le code source de quelqu' | ||
+ | • Enfin, commentez tout. C'est une habitude géniale à renforcer si vous envisagez d'en faire une carrière ; en outre, cela vous aidera beaucoup de regarder des programmes un peu datés. | ||
+ | |||
+ | Local | ||
+ | |||
+ | Il y a de très nombreux langages de programmation en local : Python, C++, Perl et Java pour n'en nommer que quelques-uns. En général, il n'y a pas un « langage idéal », bien qu'il y ait des scénarios où certains langages conviennent mieux à une tâche précise. Si vous ne savez pas quel langage apprendre, voici quelques suggestions sur comment choisir. Soit, regardez ce que les programmeurs dans votre quartier apprennent (en regardant les offres d' | ||
===== 3 ===== | ===== 3 ===== | ||
Ligne 43: | Ligne 59: | ||
• After you have your environment set up, look for any official tutorials/ | • After you have your environment set up, look for any official tutorials/ | ||
• Once you’ve completed the Hello World program, try to branch out into user input and/or command-line arguments (depending on the language). As the most useful applications require some form of input, it’s useful to learn this early on. I typically do this using the official documentation of features, as opposed to a full-fledged guide.** | • Once you’ve completed the Hello World program, try to branch out into user input and/or command-line arguments (depending on the language). As the most useful applications require some form of input, it’s useful to learn this early on. I typically do this using the official documentation of features, as opposed to a full-fledged guide.** | ||
+ | |||
+ | L' | ||
+ | |||
+ | Apprendre un langage local nécessitera généralement plus de paramétrage qu'un langage Web. Vous devez trouver un bon IDE (Environnement de développement intégré) où un éditeur de texte qui vous convient bien. Un IDE est très utile quand vous apprenez quelque chose come C++ ou Java, puisque les outils inclus peuvent vous aider à résoudre des problèmes très rapidement. Personnellement, | ||
+ | |||
+ | Enfin, vous devez avoir installé un compilateur ou un interpréteur pour le langage que vous avez choisi. Une fois que vous pourrez le lancez dans un terminal ou à l' | ||
+ | |||
+ | • Après avoir configuré votre environnement, | ||
+ | • Quand vous aurez terminé le programme Hello world, essayez de vous lancer dans des arguments avec saisie par l' | ||
+ | |||
===== 4 ===== | ===== 4 ===== | ||
Ligne 61: | Ligne 87: | ||
• • Regular expressions. Even just learning a few standard regex for searching strings or filenames will be useful. | • • Regular expressions. Even just learning a few standard regex for searching strings or filenames will be useful. | ||
• Lastly: learn a new language! Or, at least, stay up-to-date on the new versions of your chosen language. To keep your skills sharp and your habits ingrained, you will want to regularly try to learn something new.** | • Lastly: learn a new language! Or, at least, stay up-to-date on the new versions of your chosen language. To keep your skills sharp and your habits ingrained, you will want to regularly try to learn something new.** | ||
+ | |||
+ | • La prochaine étape devrait être d' | ||
+ | • À ce stade, j' | ||
+ | • • Ce langage convient-il à ma façon de penser/ | ||
+ | • • Est-il demandé (c' | ||
+ | • • Puis-je m' | ||
+ | • • Peut-il faire tout ce que je veux accomplir ? | ||
+ | • Si vous avez répondu oui (ou, même, peut-être) à ces questions, vous voudrez sans doute continuer l' | ||
+ | • Voici quelques trucs que vous pourriez vouloir faire aussi : | ||
+ | • • Des tests (écrire des tests, ainsi que résoudre des problèmes). | ||
+ | • • Partager/ | ||
+ | • • Stocker des informations/ | ||
+ | • • La lecture des informations. | ||
+ | • • L' | ||
+ | • • Des expressions régulières. L' | ||
+ | • Enfin : apprenez un nouveau langage ! Ou, au moins, restez à jour sur les dernières versions du langage choisi. Apprendre quelque chose de nouveau régulièrement gardera vos compétences pointues et vos habitudes bien enracinées. | ||
+ | |||
===== 5 ===== | ===== 5 ===== | ||
Ligne 71: | Ligne 114: | ||
To set up your development area locally, you’ll need a text editor (you can also go for a WYSIWYG (what you see is what you get) program, but I would really not recommend it). Personally, I use the Atom text editor. Beyond the text editor, you’ll also want some sort of LAMP stack (Linux Apache, MySQL, and PHP). My recommendation is not to install it on your main system - instead, you can set up something like Vagrant (a VM) or Docker (a containerization tool). This is for two main reasons - if you use frameworks or tools like Node or NPM, you can more easily control the installed versions for optimal support, and because Docker is gaining massive popularity in the workplace. Docker is also portable, making it easier to carry your projects over to a new computer. I’ve previously written about Docker in FCM#107. If you’re looking at Python or Go, both offer a local development server built into the compilation tool. WebPack (covered in C&C in FCM#120) also offers a local development site for working on HTML, JS and CSS.** | To set up your development area locally, you’ll need a text editor (you can also go for a WYSIWYG (what you see is what you get) program, but I would really not recommend it). Personally, I use the Atom text editor. Beyond the text editor, you’ll also want some sort of LAMP stack (Linux Apache, MySQL, and PHP). My recommendation is not to install it on your main system - instead, you can set up something like Vagrant (a VM) or Docker (a containerization tool). This is for two main reasons - if you use frameworks or tools like Node or NPM, you can more easily control the installed versions for optimal support, and because Docker is gaining massive popularity in the workplace. Docker is also portable, making it easier to carry your projects over to a new computer. I’ve previously written about Docker in FCM#107. If you’re looking at Python or Go, both offer a local development server built into the compilation tool. WebPack (covered in C&C in FCM#120) also offers a local development site for working on HTML, JS and CSS.** | ||
+ | |||
+ | Web | ||
+ | |||
+ | Les langages Web peuvent être appris un peu plus rapidement que les langages locaux. Avec quelque chose comme CodePen ou un JS Fiddle, vous pouvez facilement écrire un peu de HTML, CSS et JavaScript sans devoir vous préoccuper d'un IDE ou d'une solution d' | ||
+ | |||
+ | Ça peut vous rendre perplexe de voir HTML, CSS et JS dans la première étape de mon approche. Vous pourriez vous demander ce qui reste. Il y a une variété de frameworks (cadres), comme bootstrap, react, angular, etc., qui offrent plus de fonctionnalités que le HTML standard. D' | ||
+ | |||
+ | Pour configurer votre zone de développement locale, vous aurez besoin d'un éditeur de texte (vous pourriez aussi choisir un programme WYSIWYG (what you see is what you get), mais je ne le recommanderais point). J' | ||
===== 6 ===== | ===== 6 ===== | ||
Ligne 80: | Ligne 131: | ||
• At this point, you should decide on what language you’re focusing on. If you just want to continue learning HTML and CSS, you may want to look into CSS custom properties, as opposed to finding a preprocessor. You’ll also want to look into something like Grunt or Webpack to use autoprefixer, | • At this point, you should decide on what language you’re focusing on. If you just want to continue learning HTML and CSS, you may want to look into CSS custom properties, as opposed to finding a preprocessor. You’ll also want to look into something like Grunt or Webpack to use autoprefixer, | ||
• You should begin with a tour or tutorial on the language you’ve decided upon. Depending on what language you’re looking at, the steps may vary.** | • You should begin with a tour or tutorial on the language you’ve decided upon. Depending on what language you’re looking at, the steps may vary.** | ||
+ | |||
+ | L' | ||
+ | |||
+ | • Apprenez HTML5, CSS et JS. Nul besoin de maîtriser JavaScript ; il vous faut néanmoins comprendre ses bases. Ni HTML, ni CSS, ne sont affreusement complexes ; quand vous vous sentirez à l'aise en créant une page HTML « Hello World » de base avec un peu de style, vous serez prêt à continuer. Vous pouvez le faire facilement dans CodePen. | ||
+ | • Je recommanderais comme première étape l' | ||
+ | • À ce stade, vous devrez choisir le langage sur lequel vous voulez vous concentrer. Si vous voulez tout simplement continuer à apprendre HTML et CSS, vous pourriez vouloir examiner les propriétés personnalisées de CSS, au lieu de rechercher un préprocesseur. Vous voudrez aussi examiner des applis comme Grunt ou WebPack qui utilisent un créateur de préfixes automatiques, | ||
+ | • Vous devriez commencer par une présentation ou un tutoriel concernant votre langage de choix. Selon le langage choisi, les étapes peuvent varier. | ||
===== 7 ===== | ===== 7 ===== | ||
Ligne 85: | Ligne 143: | ||
• Content. Here you should focus on how to get content into your website or web app. This can be databases, a content management system, a static site generator (such as grow or jekyll) or pulling information from a feed (RSS or JSON). If you use a content management system, I would recommend starting with an API Content Management System (such as Cockpit) first, as it can help you understand how all CMS systems work, as opposed to jumping right into something like WordPress. | • Content. Here you should focus on how to get content into your website or web app. This can be databases, a content management system, a static site generator (such as grow or jekyll) or pulling information from a feed (RSS or JSON). If you use a content management system, I would recommend starting with an API Content Management System (such as Cockpit) first, as it can help you understand how all CMS systems work, as opposed to jumping right into something like WordPress. | ||
• Testing. You should look at your resulting website or web app on a few different devices - phones, tablets, computers, and varying browsers. You’ll quickly understand how wide-ranging the support is, and how many issues can crop up. Don’t be disheartened - you don’t typically need to support every possible device, and there are a variety of tools to help you improve support. | • Testing. You should look at your resulting website or web app on a few different devices - phones, tablets, computers, and varying browsers. You’ll quickly understand how wide-ranging the support is, and how many issues can crop up. Don’t be disheartened - you don’t typically need to support every possible device, and there are a variety of tools to help you improve support. | ||
- | • Lastly, deployment. You should look into how you would go about hosting your application, | + | • Lastly, deployment. You should look into how you would go about hosting your application, |
+ | |||
+ | • Après la présentation, | ||
+ | • Contenu. Maintenant, vous devriez vous focaliser sur comment mettre du contenu dans votre site Web ou appli Web. Il peut s'agir de bases de données, d'un système de gestion de contenu, d'un générateur de site statique (comme grow ou jekyll) ou d' | ||
+ | • Les tests. Vous devriez examiner le site, ou l' | ||
+ | • Enfin, le déploiement. Vous devriez investiguer l' | ||
===== 8 ===== | ===== 8 ===== | ||
Ligne 92: | Ligne 155: | ||
While the approach above focuses on the programming aspect, creating a visually appealing site is largely dependent on your design. At any time after Step 2 in the approach above would be an acceptable time to start reading on design approaches. Covering things such as Material Design, or reading articles from Smashing Magazine or CSS-Tricks are a good place to start. There are also a few books that I highly recommend: Smashing Book 5 (from Smashing Magazine) is written by a variety of authors, and is a terrific insight into common design approaches. Also, Hardboiled Web Design by Andy Clarke (Fifth Edition) is an excellent read on new technologies, | While the approach above focuses on the programming aspect, creating a visually appealing site is largely dependent on your design. At any time after Step 2 in the approach above would be an acceptable time to start reading on design approaches. Covering things such as Material Design, or reading articles from Smashing Magazine or CSS-Tricks are a good place to start. There are also a few books that I highly recommend: Smashing Book 5 (from Smashing Magazine) is written by a variety of authors, and is a terrific insight into common design approaches. Also, Hardboiled Web Design by Andy Clarke (Fifth Edition) is an excellent read on new technologies, | ||
+ | |||
+ | Conception | ||
+ | |||
+ | Tandis que l' | ||
===== 9 ===== | ===== 9 ===== | ||
- | **I hope this article proves useful to anyone who was feeling overwhelmed by the mass of options and instructions to be found on the web. When in doubt - start with a basic ‘hello world’, and then go from there! If you have any tips you’d like to share, send them to me at lswest34+fcm@gmail.com. I will collect any responses together into an article at a later date. Feel free to also email me with any questions, suggestions, | + | **I hope this article proves useful to anyone who was feeling overwhelmed by the mass of options and instructions to be found on the web. When in doubt - start with a basic ‘hello world’, and then go from there! If you have any tips you’d like to share, send them to me at lswest34+fcm@gmail.com. I will collect any responses together into an article at a later date. Feel free to also email me with any questions, suggestions, |
- | + | ||
- | Further Reading | + | J' |
- | CodeFights (programming challenges) - https:// | + | **Further Reading |
- | Project Euler (largely mathematical programming challenges) - https:// | + | Pour aller plus loin : |
- | 2016/2017 MUST-KNOW Web Development Tech Video (YouTube) - https://www.youtube.com/watch? | + | CodeFights |
- | CodeAcademy | + | Project Euler (en grande partie, des défis mathématiques de programmation) - https://projecteuler.net/ |
- | Code School | + | La vidéo 2016/2017 sur le développement Web qu'il FAUT avoir vue (YouTube) - https:// |
- | Videos/ | + | CodeAcademy |
- | C&C in FCM #121 - All about Go | + | Code School (un site Web pour apprendre le codage avec quelques cours gratuits) |
+ | https:// | ||
- | C& | + | Des vidéos/ |
+ | |||
+ | C& | ||
+ | |||
+ | C&C dans le FCM n° 73 - Une introduction | ||
+ | |||
+ | Udemy (une bibliothèque en ligne de cours payants qui sont souvent en solde) - https:// | ||
+ | |||
+ | Udacity (une fac en ligne qui propose des mini diplômes et quelques cours gratuits, en partenariat avec Google/ | ||
+ | |||
+ | |||
- | Udemy (online library of paid courses, frequently on sale) - https:// | ||
- | Udacity (online university that offers micro degrees and some free courses, in partnership with Google/ |
issue122/c_c.1499696123.txt.gz · Dernière modification : 2017/07/10 16:15 de auntiee