uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

Programming & AI Tips 💡

Programming & AI Tips 💡

Kanalga Telegram’da o‘tish

Programming & AI: Tips 💡 Articles 📕 AI & LLMs 👾 Design, Architecture, Principles ✅ 🇳🇱 Contact: @MoienTajik

Ko'proq ko'rsatish
Mamlakat belgilanmaganTexnologiyalar & Aralashmalar2 908

📈 Telegram kanali Programming & AI Tips 💡 analitikasi

Programming & AI Tips 💡 (@programmingtip) Ingliz til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 46 030 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 2 908-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 46 030 obunachiga ega bo‘ldi.

28 Oktabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -425 ga, so‘nggi 24 soatda esa -17 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 5.78% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 1.82% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 2 660 marta ko‘riladi; birinchi sutkada odatda 839 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 0 ta reaksiya keladi.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Programming & AI: Tips 💡 Articles 📕 AI & LLMs 👾 Design, Architecture, Principles ✅ 🇳🇱 Contact: @MoienTajik”

Yuqori yangilanish chastotasi (oxirgi ma’lumot 29 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

46 030
Obunachilar
-1724 soatlar
-877 kun
-42530 kun
Postlar arxiv
\n \n \n

Pug - node template engine

\n
\n

You are amazing

\n

Pug is a terse and simple templating language with a strong focus on performance and powerful features.

\n
\n \n\n\n🔸🔹🔸🔹\n\n ➖ Implementations in other languages 👾 \nPorts with very close syntax, adapted to other languages :\n• PHP\n• Java\n• Python\n• Ruby\n• C# (ASP.NET Core)\n\nhttps://t.me/pgimg/108\n\n[ Github ] : http://bit.do/pugv\n\n〰〰〰〰〰〰\n#ViewEngine #TemplateEngine\n@ProgrammingTip","datePublished":"2018-02-17T06:20:16Z","dateModified":"2018-02-17T06:20:16Z","author":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"publisher":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":4812}]}},{"@type":"ListItem","position":9,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/398","url":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/398","mainEntityOfPage":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/398","headline":"#Fun #Valentine 😂 @ProgrammingTip","articleBody":"#Fun #Valentine 😂\n@ProgrammingTip","datePublished":"2018-02-14T06:55:23Z","dateModified":"2018-02-14T06:55:23Z","author":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"publisher":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":4388}]}},{"@type":"ListItem","position":10,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/397","url":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/397","mainEntityOfPage":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/397","headline":"HTTP codes as Valentine’s Day comics 💙 With Valentine’s Day around the corner, it is a time for romantic hope…","articleBody":"HTTP codes as Valentine’s Day comics 💙\n\nWith Valentine’s Day around the corner, it is a time for romantic hopefuls to ask out the object of their affection, and await an answer. 🤠\n\nIt could be a simple “yes,” a sad “no,” or a cryptic “I don’t think about you that way, but maybe we can grab a coffee tomorrow❓”\n\nWhich brings us to HTTP (Hypertext Transfer Protocol) codes. 🌐\n\nWhen a URL is typed in a browser, a request is sent out to the server and the browser awaits an answer, just like in our scenario. ♻️\n\nThese answers come in the form of an HTTP code, which is a three-digit number that maps to an answer. 2️⃣0️⃣0️⃣\n\nWith the image of Valentine’s Day in mind, here are a few likely scenarios. 😆❤️\n\nhttps://t.me/pgimg/107\n\n[ Article ] : http://bit.do/httpval\n\n〰〰〰〰〰〰\n#HTTP #Valentine #Fun\n@ProgrammingTip","datePublished":"2018-02-13T07:36:43Z","dateModified":"2018-02-13T07:36:43Z","author":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"publisher":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":4722}]}},{"@type":"ListItem","position":11,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/396","url":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/396","mainEntityOfPage":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/396","headline":"Pretty Checkbox 🌈 A pure CSS library to beautify checkbox and radio buttons. ✨ Framework Compatability 🔥 : •…","articleBody":"Pretty Checkbox 🌈\n\nA pure CSS library to beautify checkbox and radio buttons. ✨\n\nFramework Compatability 🔥 :\n• Angular\n• Bootstrap\n• React\n• Vue\n\nhttps://t.me/pgimg/106\n\n[ Website ] : http://bit.do/csspr\n\n〰〰〰〰〰〰\n#CSS #Library\n@ProgrammingTip","datePublished":"2018-02-10T11:07:43Z","dateModified":"2018-02-10T11:07:43Z","author":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"publisher":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":4459}]}},{"@type":"ListItem","position":12,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/394","url":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/394","mainEntityOfPage":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/394","headline":"NopCommerce ID-Less URL Structure Demystified 💎 The link for my NopLite - nopCommerce Responsive Theme is ✨ :…","articleBody":"NopCommerce ID-Less URL Structure Demystified 💎\n\nThe link for my NopLite - nopCommerce Responsive Theme is ✨ :\nhttp://www.pronopcommerce.com/noplite-nopcommerce-responsive-theme\n\nYou don't see ANY integer in the URL, but nopCommerce somehow knows how to map from the URL to the appropriate ID. ✅\n\nOn the other hand, the nopCommerce 2.65 URL for my NopLite theme would have been 👎🏻 :\nhttp://www.pronopcommerce.com/p/7/noplite-nopcommerce-responsive-theme\n\nNote the '7' somewhere in between the URL, that's the Integer Product ID. 🗃\n\nSo the question is, how does nopCommerce 2.70 and 2.80 know the ID without looking the ID❓\n\nhttps://t.me/pgimg/105\n\n[ Article ] : http://bit.do/nopu\n\n〰〰〰〰〰〰\n#AspMvc #Routing #NopCommerce\n@ProgrammingTip","datePublished":"2018-02-07T19:49:18Z","dateModified":"2018-02-07T19:49:18Z","author":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"publisher":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":4188}]}},{"@type":"ListItem","position":13,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/393","url":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/393","mainEntityOfPage":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/393","headline":"Mocky 🤖 Mock your HTTP responses to test your REST API. 👾 Mocky is a simple app which allows to generate cust…","articleBody":"Mocky 🤖 \n\nMock your HTTP responses to test your REST API. 👾\n\nMocky is a simple app which allows to generate custom HTTP responses. 🌐\n\nIt's helpful when you have to request a build-in-progress WS, when you want to mock the backend response in a singleapp, or when you want to test your WS client. ✅\n\nIs Mocky online❓\nYes, Mocky is online, free and unlimited. 💸\n\nhttps://t.me/pgimg/104\n\n[ Website ] : mocky.io\n\n〰〰〰〰〰〰\n#Mock #Rest\n@ProgrammingTip","datePublished":"2018-02-03T07:01:55Z","dateModified":"2018-02-03T07:01:55Z","author":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"publisher":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":4417}]}},{"@type":"ListItem","position":14,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/390","url":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/390","mainEntityOfPage":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/390","headline":"The Clean Coder : A Code of Conduct for Professional Programmers📕 Author : Robert C. Martin 🖊 Level : Advance…","articleBody":"The Clean Coder : A Code of Conduct for Professional Programmers📕\n\nAuthor : Robert C. Martin 🖊\n\nLevel : Advanced 💎\n\n〰〰〰〰〰〰\n#Book #CleanCode\n@ProgrammingTip","datePublished":"2018-01-31T15:56:26Z","dateModified":"2018-01-31T15:56:26Z","author":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"publisher":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":5105}]}},{"@type":"ListItem","position":15,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/389","url":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/389","mainEntityOfPage":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/389","headline":"Anatomy of an ASP.NET Identity PasswordHash 🔐 Have you ever looked at a user record in an ASP.NET Identity’s…","articleBody":"Anatomy of an ASP.NET Identity PasswordHash 🔐\n\nHave you ever looked at a user record in an ASP.NET Identity’s users table and wondered just what is being saved on the PasswordHash column❓\n\nIt looks like this (it’s in base64) :\nAQAAAAEAACcQAAAAEJSPbbFM1aeXB8fGRV7RRamLpjzktAF7FjwDWtFx35eol4AxN6vm4zWR9EApc7WPsQ\n\nApart from maybe satisfying your curiosity, what could you benefit from knowing exactly what’s on that seemingly random sequence of characters❓\n\nWell, you could confidently update from different versions of ASP.NET Identity. 🌀\n\nAlso, if you ever get tired of ASP.NET Identity for whatever reason, you could move your user accounts to whatever alternative you found that might be better. ✅\n\nOr, you just want to have a simple users’ table and not have to deal with all of what you need to know to make ASP.NET Identity work. 👥\n\nAll of this while still being able to move your user accounts to ASP.NET Identity some day if you choose to do so. ♻️\n\nhttps://t.me/pgimg/103\n\n[ Article ] : http://bit.do/aspidn\n\n〰〰〰〰〰〰\n#AspMvc #Identity\n@ProgrammingTip","datePublished":"2018-01-29T07:45:09Z","dateModified":"2018-01-29T07:45:09Z","author":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"publisher":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":4805}]}},{"@type":"ListItem","position":16,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/388","url":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/388","mainEntityOfPage":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/388","headline":"Fasify.io ⚡️ An efficient server implies a lower cost of the infrastructure, a better responsiveness under lo…","articleBody":"Fasify.io ⚡️\n\nAn efficient server implies a lower cost of the infrastructure, a better responsiveness under load and happy users. 🤓\n\nHow can you efficiently handle the resources of your server, knowing that you are serving the highest number of requests as possible, without sacrificing security validations and handy development ⁉️\n\nEnter Fastify. Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture. It is inspired by Hapi and Express and as far as we know, it is one of the fastest web frameworks in town. 🔥\n\nInstall 📥\nnpm install fastify --save\n\n🔹🔸🔹🔸\n\n\n[ Example ]\n\n// Require the framework and instantiate it\nconst fastify = require(\"fastify\") ()\n \n// Declare a route\nfastify.get(\"/\", function (request, reply) {\n reply.send({ hello: \"world\" })\n})\n \nfastify.listen(3000, function (err) {\n if (err) throw err\n console.log(`server listening on ${fastify.server.address().port}`)\n})\n\n🔹🔸🔹🔸\n\n\n[ Async-Example ]\n\nconst fastify = require('fastify')()\n \nfastify.get('/', async (request, reply) => {\n reply.type('application/json').code(200)\n return { hello: 'world' }\n})\n \nfastify.listen(3000, function (err) {\n if (err) throw err\n console.log(`server listening on ${fastify.server.address().port}`)\n})\n\nhttps://t.me/pgimg/102\n\n\n[ Website ] : https://www.fastify.io\n\n〰〰〰〰〰〰\n#JavaScript #NPM #Fastify\n@ProgrammingTip","datePublished":"2018-01-27T08:21:20Z","dateModified":"2018-01-27T08:21:20Z","author":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"publisher":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":3985}]}},{"@type":"ListItem","position":17,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/387","url":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/387","mainEntityOfPage":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/387","headline":"Generating Friendly URLs in ASP.NET MVC 🦄 Have a look at the following URL 👀 : http://www.amazon.com/gp/produ…","articleBody":"Generating Friendly URLs in ASP.NET MVC 🦄\n\nHave a look at the following URL 👀 :\n\nhttp://www.amazon.com/gp/product/1617292397/ref=s9_psimh_gw_p14_d4_i1?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1&pf_rd_r=0TFM5Q6WM6KD9NPNG9G7&pf_rd_t=36701&pf_rd_p=2079475242&pf_rd_i=desktop\n\nDo you have any idea what the URL is pointing to by just looking at it❓Most likely not.\n\nNow look at this one 💎 :\n\nhttp://www.dpreview.com/articles/9485436827/the-big-beast-hands-on-with-the-panasonic-lumix-dmc-gx8\n\nAny idea❓Well it would seem that it is an article about a hands-on with the Panasonic Lumix DMX-GX8. 🖥\n\nIn today’s blog post I would like to demonstrate how to generate “friendly URLs” in your ASP.NET applications. ✅\n\nFriendly not just in the sense that someone can look at it and figure out what the URL is pointing to, but more importantly friendly for search engines. 🌐\n\nhttps://t.me/pgimg/101\n\n[ Article ] : http://bit.do/aspseo\n\n〰〰〰〰〰〰\n#AspMvc #SEO\n@ProgrammingTip","datePublished":"2018-01-25T09:51:52Z","dateModified":"2018-01-25T09:51:52Z","author":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"publisher":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":3648}]}},{"@type":"ListItem","position":18,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/386","url":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/386","mainEntityOfPage":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/386","headline":"ASP.NET Core Interview Questions 💼 This post is about ASP.NET Core Interview Questions. ⁉️ These questions ar…","articleBody":"ASP.NET Core Interview Questions 💼\n\nThis post is about ASP.NET Core Interview Questions. ⁉️\n\nThese questions are directly tied to ASP.NET Core. ✅\n\nThey are not meant to serve as only questions that you would ask a candidate during an interview. ❌\n\nUse these to assess if the candidate has any knowledge about ASP.NET Core. 👓\n\nThe questions should serve as guidelines for core ASP.NET Core concepts that candidate should be familiar with. 👪\n\nhttps://t.me/pgimg/100\n\n[ Article ] : http://bit.do/aspint\n\n〰〰〰〰〰〰\n#AspMvc #AspCore #Core #Interview\n@ProgrammingTip","datePublished":"2018-01-23T08:12:21Z","dateModified":"2018-01-23T08:12:21Z","author":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"publisher":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":3475}]}},{"@type":"ListItem","position":19,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/385","url":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/385","mainEntityOfPage":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/385","headline":"Q&A: Successful Developer Career Strategies 💎 The field of computer science is huge, far too wide for anyone…","articleBody":"Q&A: Successful Developer Career Strategies 💎\n\nThe field of computer science is huge, far too wide for anyone to master in all areas. 🌍\n\nWe all need to make difficult choices about how and where we spend our time. ⏰\n\nIt’s often said that in order to be successful in this industry you need to specialize. 🤓\n\nBut it’s also often said that you need a wide range of experience. ✅\n\nSo what is more important : breadth or depth ⁉️\n\nThis is a very difficult question, and is why I asked for the advice of some of the very brightest minds in our industry. 👑\n\nOur expert panel is comprised of the following seven developers 👥 :\n\n • Scott Allen\n • Mark Seemann\n • Julie Lerman\n • Kyle Simpson\n • Troy Hunt\n • Oren Eini\n • Cory House\n\nhttps://t.me/pgimg/99\n\n[ Article ] : http://bit.do/qadev\n\n〰〰〰〰〰〰\n#QA #Strategy\n@ProgrammingTip","datePublished":"2018-01-20T08:55:29Z","dateModified":"2018-01-20T08:55:29Z","author":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"publisher":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":3644}]}},{"@type":"ListItem","position":20,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/384","url":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/384","mainEntityOfPage":"https://telemetr.io/uz/channels/1124766173-programmingtip/posts/384","headline":"Use T4MVC to Remove Magic Strings in ASP.NET MVC Apps 🎩 ASP.NET MVC has a fascination with magic strings. ❌ B…","articleBody":"Use T4MVC to Remove Magic Strings in ASP.NET MVC Apps 🎩\n\nASP.NET MVC has a fascination with magic strings. ❌\n\nBasically any time you need to specify an action, a view, or controller, you use a magic string ✨ :\n\nreturn RedirectToAction(\"Index\", \"Home\", new { id = 4 });\n\nreturn View(\"Details\");\n\n@Html.ActionLink(\"Back to details\", \"Detals\", \"User\", new {id = 12}, new {@class = \"backlink\"});\n\n@using (Html.BeginForm(\"Details\", \"User\", FormMethod.Post))\n\nThe problem with magic strings is the same problem that ViewBag has ⚠️ :\n\n1️⃣ There's no type checking.\n\n2️⃣ The developer won't catch these errors until runtime, and sometimes not at all.\n\n🔹🔸🔹🔸\n\nT4MVC aims to remove magic strings from MVC and replace them with strongly-typed ActionResults. ✅\n\nIt adds a bunch more overloads to methods such as ActionLink(), BeginForm(), and RedirectToAction() so that they can now accept ActionResults as parameters. 🗃\n\nThereby making them strongly-typed and removing their dependency on magic strings. 💎\n\nMost importantly, it means we can take the above code samples and refactor them to look like this 🤙🏻 :\n\nreturn RedirectToAction(MVC.Home.Index(4));\n\nreturn View(MVC.User.Views.ViewNames.Details);\n\n@Html.ActionLink(\"Back to details\", MVC.User.Details(12), new {@class = \"backlink\"});\n\n@using (Html.BeginForm(MVC.User.Details(), FormMethod.Post))\n\n\nhttps://t.me/pgimg/98\n\n[ Article ] : http://bit.do/t4mvc\n\n〰〰〰〰〰〰\n#AspMvc #CleanCode #T4MVC\n@ProgrammingTip","datePublished":"2018-01-18T17:23:17Z","dateModified":"2018-01-18T17:23:17Z","author":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"publisher":{"@type":"Organization","name":"Programming & AI Tips 💡","url":"https://telemetr.io/uz/channels/1124766173-programmingtip","image":"https://img.telemetr.io/c/1e7p3T/413755825240262715?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":3428}]}}]}
Controller Lookup & Default Controller Factory 🏭 As the name, the Controller factory is the component responsible for searching and creating controllers.👷 Like many other components, ASP.NET MVC has a built-in factory named DefaultControllerFactory that's pretty much sufficient in most cases. 💎 Searching a controller is a perform intensive job and the DefaultControllerFactory does some efficient caching mechanism to avoid looking for controllers every time when there is a need. ✅ In this article we are going to explore how the DefaultControllerFactory searches for a controller and what kind of strategies it uses to do the process efficiently. ⚡️ https://t.me/pgimg/113 [ Article ] : bit.do/cfac 〰〰〰〰〰〰 #AspMvc #Controller #Depth @ProgrammingTip

ASP.NET Core 2 – Global Model Validation ⚠️ We use a lot of repetitive code in our actions. ♻️ Inside of our controller actions we usually check if the model is valid by using ModelState property available on MVC’s base controller class :
if (!ModelState.IsValid)  
  return BadRequest(ModelState);
The bad thing about is that we repeat this piece of code throughout a lot of our actions. ❌ How we can make it better❓ This article shows you how to validate ModelState with a global filter. 💎 https://t.me/pgimg/112 [ Article ] : bit.do/mval 〰〰〰〰〰〰 #AspMvc #Core #Validation @ProgrammingTip

14 Latest and Best 404 Error Page Designs for Webs/Mobile Apps ✨ A 404 error page, which often serves to alert web/app visitors that the page they are trying to reach does not exist, is often regarded as one of the most possible elements to lose users/visitors with boring and dull logging-in/out/loading/leading pages in a web/app. 🙄 However, that does not mean such error pages will be a nightmare in all cases. ❌ Actually, a creative, cool, interesting or informative 404 error page can not only lead customers to other parts of your websites/apps smoothly, but also reduce customer frustration and let them stay on the site/app much longer. 💎 Let’s keep reading this article and enjoy 14 latest and best 404 error page designs to get inspiration and learn how to make a beautiful, interesting and attractive 404 error not found page design. ⚡️ https://t.me/pgimg/111 [ Article ] : https://goo.gl/A5mJjx 〰〰〰〰〰〰 #Design #UI #UX @ProgrammingTip

If you don't need it now, don't do it now❗️ Design Patterns are powerful, and it's easy to see all kinds of ways they can be used in your current designs.⚡️ Developers naturally love to create beautiful architectures that are ready to take on change from any direction.💙 If you have a practical need to support change in a design today, go ahead and employ a pattern it handle that change. ✅ However, if the reason is only hypothetical, don't add the pattern, it is only going to add complexity to your system, and you might never need it. ❌ 〰〰〰〰〰〰 #DesignPatterns #Tips @ProgrammingTip

A Pattern is a solution to a problem in a context. ✅ We're going to step throught each of these parts, context, problem and solution ✨ : The context is the situation in which the pattern applies. This should be a recurring situation. 👨🏻‍🔧 The problem refers to the goal you are trying acheive in this context, but it also refers to any constraints that occur in the context. 🏆 The solution is what you're after : a general design that anyone can apply which resolves the goal and set of constraints. 🏅 ➖ Example Problem: How do I get to work on time❓ Context: I've locked my keys in the car. 🗝 Solution: Break the window, get in the car, start the engine and drive to work. 🚗
"If you find yourself in a context with a problem that has a goal that is affected by a set of constraints, then you can apply a design that resolves the goal and constraints and leads to a solution."
〰〰〰〰〰〰 #DesignPatterns #Tips @ProgrammingTip

Securing ASP.NET Core 2.0 Applications with JWTs + Auth0 🔑 JSON Web Tokens, often shortened with JWTs, are gathering more and more popularity in the Web environment. 🌐 It is an open standard that allows transmitting data between parties as a JSON object in a compact and secure way. 🔁 They are usually used in authentication and information exchange scenarios, since the data transmitted between a source and a target are digitally signed so that they can be easily verified and trusted. ✅ Let's take a look at how to set up a ASP.NET Core 2 application with JWT support by creating a Web API application. ✨ https://t.me/pgimg/110 [ Article ] : http://bit.do/auth0 〰〰〰〰〰〰 #AspMvc #Core #JWT @ProgrammingTip

Using Google reCAPTCHA in ASP.NET MVC 👾 reCAPTCHA is a free service that protects your website from spam and abuse. ✅ reCAPTCHA uses an advanced risk analysis engine and adaptive Captchas to keep automated software from engaging in abusive activities on your site. 🚫 It does this while letting your valid users pass through with ease. 💎 This article shows how to integrate reCAPTCHA version 2.0 into an ASP.NET MVC website in clean way. ⚡️ Article Author : @MoienTJ https://t.me/pgimg/109 [ Article ] : bit.do/recaptcha 〰〰〰〰〰〰 #reCaptcha #AspMvc @ProgrammingTip

Pug 🐶 Pug is a high-performance template engine heavily influenced by Haml and implemented with JavaScript for Node.js and browsers. ✅ Pug is a clean, whitespace sensitive syntax for writing html. 🌐 Here is a simple example 💎 :
doctype html
html(lang="en")
  head
    title= pageTitle
    script(type='text/javascript').
      if (foo) bar(1 + 5)
  body
    h1 Pug - node template engine
    #container.col
      if youAreUsingPug
        p You are amazing
      else
        p Get on it!
      p.
        Pug is a terse and simple templating language with a
        strong focus on performance and powerful features.
Becomes :
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Pug</title>
    <script type="text/javascript">
      if (foo) bar(1 + 5)
    </script>
  </head>
  <body>
    <h1>Pug - node template engine</h1>
    <div id="container" class="col">
      <p>You are amazing</p>
      <p>Pug is a terse and simple templating language with a strong focus on performance and powerful features.</p>
    </div>
  </body>
</html>
🔸🔹🔸🔹 ➖ Implementations in other languages 👾 Ports with very close syntax, adapted to other languages : • PHP • Java • Python • Ruby • C# (ASP.NET Core) https://t.me/pgimg/108 [ Github ] : http://bit.do/pugv 〰〰〰〰〰〰 #ViewEngine #TemplateEngine @ProgrammingTip

#Fun #Valentine 😂 @ProgrammingTip

HTTP codes as Valentine’s Day comics 💙 With Valentine’s Day around the corner, it is a time for romantic hopefuls to ask out the object of their affection, and await an answer. 🤠 It could be a simple “yes,” a sad “no,” or a cryptic “I don’t think about you that way, but maybe we can grab a coffee tomorrow❓” Which brings us to HTTP (Hypertext Transfer Protocol) codes. 🌐 When a URL is typed in a browser, a request is sent out to the server and the browser awaits an answer, just like in our scenario. ♻️ These answers come in the form of an HTTP code, which is a three-digit number that maps to an answer. 2️⃣0️⃣0️⃣ With the image of Valentine’s Day in mind, here are a few likely scenarios. 😆❤️ https://t.me/pgimg/107 [ Article ] : http://bit.do/httpval 〰〰〰〰〰〰 #HTTP #Valentine #Fun @ProgrammingTip

Pretty Checkbox 🌈 A pure CSS library to beautify checkbox and radio buttons. ✨ Framework Compatability 🔥 : • Angular • Bootstrap • React • Vue https://t.me/pgimg/106 [ Website ] : http://bit.do/csspr 〰〰〰〰〰〰 #CSS #Library @ProgrammingTip

NopCommerce ID-Less URL Structure Demystified 💎 The link for my NopLite - nopCommerce Responsive Theme is ✨ :
http://www.pronopcommerce.com/noplite-nopcommerce-responsive-theme
You don't see ANY integer in the URL, but nopCommerce somehow knows how to map from the URL to the appropriate ID. ✅ On the other hand, the nopCommerce 2.65 URL for my NopLite theme would have been 👎🏻 :
http://www.pronopcommerce.com/p/7/noplite-nopcommerce-responsive-theme
Note the '7' somewhere in between the URL, that's the Integer Product ID. 🗃 So the question is, how does nopCommerce 2.70 and 2.80 know the ID without looking the ID❓ https://t.me/pgimg/105 [ Article ] : http://bit.do/nopu 〰〰〰〰〰〰 #AspMvc #Routing #NopCommerce @ProgrammingTip

Mocky 🤖 Mock your HTTP responses to test your REST API. 👾 Mocky is a simple app which allows to generate custom HTTP responses. 🌐 It's helpful when you have to request a build-in-progress WS, when you want to mock the backend response in a singleapp, or when you want to test your WS client. ✅ Is Mocky online❓ Yes, Mocky is online, free and unlimited. 💸 https://t.me/pgimg/104 [ Website ] : mocky.io 〰〰〰〰〰〰 #Mock #Rest @ProgrammingTip

The Clean Coder : A Code of Conduct for Professional Programmers📕 Author : Robert C. Martin 🖊 Level : Advanced 💎 〰〰〰〰〰〰 #Book #CleanCode @ProgrammingTip

Anatomy of an ASP.NET Identity PasswordHash 🔐 Have you ever looked at a user record in an ASP.NET Identity’s users table and wondered just what is being saved on the PasswordHash column❓ It looks like this (it’s in base64) :
AQAAAAEAACcQAAAAEJSPbbFM1aeXB8fGRV7RRamLpjzktAF7FjwDWtFx35eol4AxN6vm4zWR9EApc7WPsQ
Apart from maybe satisfying your curiosity, what could you benefit from knowing exactly what’s on that seemingly random sequence of characters❓ Well, you could confidently update from different versions of ASP.NET Identity. 🌀 Also, if you ever get tired of ASP.NET Identity for whatever reason, you could move your user accounts to whatever alternative you found that might be better. ✅ Or, you just want to have a simple users’ table and not have to deal with all of what you need to know to make ASP.NET Identity work. 👥 All of this while still being able to move your user accounts to ASP.NET Identity some day if you choose to do so. ♻️ https://t.me/pgimg/103 [ Article ] : http://bit.do/aspidn 〰〰〰〰〰〰 #AspMvc #Identity @ProgrammingTip

Fasify.io ⚡️ An efficient server implies a lower cost of the infrastructure, a better responsiveness under load and happy users. 🤓 How can you efficiently handle the resources of your server, knowing that you are serving the highest number of requests as possible, without sacrificing security validations and handy development ⁉️ Enter Fastify. Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture. It is inspired by Hapi and Express and as far as we know, it is one of the fastest web frameworks in town. 🔥 Install 📥
npm install fastify --save
🔹🔸🔹🔸 [ Example ]
// Require the framework and instantiate it
const fastify = require("fastify") ()
 
// Declare a route
fastify.get("/", function (request, reply) {
  reply.send({ hello: "world" })
})
 
fastify.listen(3000, function (err) {
  if (err) throw err
  console.log(`server listening on ${fastify.server.address().port}`)
})
🔹🔸🔹🔸 [ Async-Example ]
const fastify = require('fastify')()
 
fastify.get('/', async (request, reply) => {
  reply.type('application/json').code(200)
  return { hello: 'world' }
})
 
fastify.listen(3000, function (err) {
  if (err) throw err
  console.log(`server listening on ${fastify.server.address().port}`)
})
https://t.me/pgimg/102 [ Website ] : https://www.fastify.io 〰〰〰〰〰〰 #JavaScript #NPM #Fastify @ProgrammingTip

Generating Friendly URLs in ASP.NET MVC 🦄 Have a look at the following URL 👀 :
http://www.amazon.com/gp/product/1617292397/ref=s9_psimh_gw_p14_d4_i1?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1&pf_rd_r=0TFM5Q6WM6KD9NPNG9G7&pf_rd_t=36701&pf_rd_p=2079475242&pf_rd_i=desktop
Do you have any idea what the URL is pointing to by just looking at it❓Most likely not. Now look at this one 💎 :
http://www.dpreview.com/articles/9485436827/the-big-beast-hands-on-with-the-panasonic-lumix-dmc-gx8
Any idea❓Well it would seem that it is an article about a hands-on with the Panasonic Lumix DMX-GX8. 🖥 In today’s blog post I would like to demonstrate how to generate “friendly URLs” in your ASP.NET applications. ✅ Friendly not just in the sense that someone can look at it and figure out what the URL is pointing to, but more importantly friendly for search engines. 🌐 https://t.me/pgimg/101 [ Article ] : http://bit.do/aspseo 〰〰〰〰〰〰 #AspMvc #SEO @ProgrammingTip

ASP.NET Core Interview Questions 💼 This post is about ASP.NET Core Interview Questions. ⁉️ These questions are directly tied to ASP.NET Core. ✅ They are not meant to serve as only questions that you would ask a candidate during an interview. ❌ Use these to assess if the candidate has any knowledge about ASP.NET Core. 👓 The questions should serve as guidelines for core ASP.NET Core concepts that candidate should be familiar with. 👪 https://t.me/pgimg/100 [ Article ] : http://bit.do/aspint 〰〰〰〰〰〰 #AspMvc #AspCore #Core #Interview @ProgrammingTip

Q&A: Successful Developer Career Strategies 💎 The field of computer science is huge, far too wide for anyone to master in all areas. 🌍 We all need to make difficult choices about how and where we spend our time. ⏰ It’s often said that in order to be successful in this industry you need to specialize. 🤓 But it’s also often said that you need a wide range of experience. ✅ So what is more important : breadth or depth ⁉️ This is a very difficult question, and is why I asked for the advice of some of the very brightest minds in our industry. 👑 Our expert panel is comprised of the following seven developers 👥 : • Scott Allen • Mark Seemann • Julie Lerman • Kyle Simpson • Troy Hunt • Oren Eini • Cory House https://t.me/pgimg/99 [ Article ] : http://bit.do/qadev 〰〰〰〰〰〰 #QA #Strategy @ProgrammingTip

Use T4MVC to Remove Magic Strings in ASP.NET MVC Apps 🎩 ASP.NET MVC has a fascination with magic strings. ❌ Basically any time you need to specify an action, a view, or controller, you use a magic string ✨ :
return RedirectToAction("Index", "Home", new { id = 4 });

return View("Details");

@Html.ActionLink("Back to details", "Detals", "User", new {id = 12}, new {@class = "backlink"});

@using (Html.BeginForm("Details", "User", FormMethod.Post))
The problem with magic strings is the same problem that ViewBag has ⚠️ : 1️⃣ There's no type checking. 2️⃣ The developer won't catch these errors until runtime, and sometimes not at all. 🔹🔸🔹🔸 T4MVC aims to remove magic strings from MVC and replace them with strongly-typed ActionResults. ✅ It adds a bunch more overloads to methods such as ActionLink(), BeginForm(), and RedirectToAction() so that they can now accept ActionResults as parameters. 🗃 Thereby making them strongly-typed and removing their dependency on magic strings. 💎 Most importantly, it means we can take the above code samples and refactor them to look like this 🤙🏻 :
return RedirectToAction(MVC.Home.Index(4));

return View(MVC.User.Views.ViewNames.Details);

@Html.ActionLink("Back to details", MVC.User.Details(12), new {@class = "backlink"});

@using (Html.BeginForm(MVC.User.Details(), FormMethod.Post))
https://t.me/pgimg/98 [ Article ] : http://bit.do/t4mvc 〰〰〰〰〰〰 #AspMvc #CleanCode #T4MVC @ProgrammingTip