Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
Forwarded from Python BackendHub (Mani)
بچه ها یک آپدیت بدم سره قسمت آخر دور sqlalchemy که بحث ماگریشن هاست, و لایوی که قرار بود بریم:
من گلوم التهاب کرده بود هفته پیش, و هنوزم خوب نشده.
این هفته اگه گلوم خوب شه قسمت آخره دوره رو میگیرم. بعد ۲ هفته میرم مسافرت و برمیگردم و اطلاع رسانی میکنم راجب لایو.
@PyBackendHub
من گلوم التهاب کرده بود هفته پیش, و هنوزم خوب نشده.
این هفته اگه گلوم خوب شه قسمت آخره دوره رو میگیرم. بعد ۲ هفته میرم مسافرت و برمیگردم و اطلاع رسانی میکنم راجب لایو.
@PyBackendHub
Forwarded from DevTwitter | توییت برنامه نویسی
اینم واقعا جالب بود و حیفم اومد اینجایی که هی می خوام بیشتر باشم و کمتر هستم هم شر نکنم:
handbook.gitlab.com/handbook/
دفترچه راهنمای داخلی تیم گیتلب. در حدود ۲هزار صفحه است و میگه که هر چیز در شرکت/تیم قواعدش چیه و چه شکلی پیش میره. از مرخصی تا نگهداری پسورد. به درد همه می خوره.
@DevTwitter | <jadi/>
handbook.gitlab.com/handbook/
دفترچه راهنمای داخلی تیم گیتلب. در حدود ۲هزار صفحه است و میگه که هر چیز در شرکت/تیم قواعدش چیه و چه شکلی پیش میره. از مرخصی تا نگهداری پسورد. به درد همه می خوره.
@DevTwitter | <jadi/>
Forwarded from Ninja Learn | نینجا لرن
This media is not supported in your browser
VIEW IN TELEGRAM
دقیقا همینه 😐😂
Forwarded from DevTwitter | توییت برنامه نویسی
برای من که OSINT جزو کارهای روتین نیست و هرزگاهی به آن نیاز پیدا می کنم، طبیعتا سایتی مثل OSINT Investigation Assistant که براساس موضوعات مختلف، ابزارها و سرویسهای مختلف را لیست کرده است، در زمان برای رسیدن به هدفم، صرفهجویی می کند.
lambda.black/osint.html
@DevTwitter | <Vahid Nameni/>
lambda.black/osint.html
@DevTwitter | <Vahid Nameni/>
Forwarded from DevTwitter | توییت برنامه نویسی
#Javanoscript
ایا میدانستید وقتی دارید یک پریمیتیو رو وقتی وارد یک متغیر میکنید دارید فقظ ولیو رو کپی میکنید؟ و وقتی دارید یک ابجت رو وارد متغیر دیگه میکنید دارید رفرنس ریترن میکنید؟و در heap جایگاه دو ابجکت باهم یکیه؟
@DevTwitter | <Fazeli Dev/>
ایا میدانستید وقتی دارید یک پریمیتیو رو وقتی وارد یک متغیر میکنید دارید فقظ ولیو رو کپی میکنید؟ و وقتی دارید یک ابجت رو وارد متغیر دیگه میکنید دارید رفرنس ریترن میکنید؟و در heap جایگاه دو ابجکت باهم یکیه؟
@DevTwitter | <Fazeli Dev/>
Forwarded from DevTwitter | توییت برنامه نویسی
#Javanoscript
از بین روش های گرفتن خروجی در جاوا اسکریپت پرکاربردترینش برای من innerHTML، جالب ترینش document.write() و window.alert() و گیج کننده ترینش که وقت زیادی برای درک بهترش گذاشتم console.log() بود.
@DevTwitter | <Saharsojoodi/>
از بین روش های گرفتن خروجی در جاوا اسکریپت پرکاربردترینش برای من innerHTML، جالب ترینش document.write() و window.alert() و گیج کننده ترینش که وقت زیادی برای درک بهترش گذاشتم console.log() بود.
@DevTwitter | <Saharsojoodi/>
Forwarded from Meitix (Meiti)
شعر فارسی تو یه لیگ دیگه خوبه، اصن یه جای دیگه است، نمونه اش:
شیخِ ما دِلتَنگِ یار بود،
به خانه یار رِسید،
قَدَّش به پَنجره نَرِسید
سَرِ خویش بُرید و زیرِ پا نَهاد و قَدَّش بِرِسید
معشوق تماشا کرد...
تذکرة اولیا
شیخِ ما دِلتَنگِ یار بود،
به خانه یار رِسید،
قَدَّش به پَنجره نَرِسید
سَرِ خویش بُرید و زیرِ پا نَهاد و قَدَّش بِرِسید
معشوق تماشا کرد...
تذکرة اولیا
Forwarded from Ninja Learn | نینجا لرن
📕 کتاب REST API Design Rulebook
📌 فصل دوم: Identifier Design with URIs
📍پارت: چهارم
#کتاب
💎 URI Path Design 💎
هر قسمت از مسیر URI که با اسلش (/) جدا میشه، یه فرصت طراحی حساب میشه. اگه به هر قسمت از مسیر یه ارزش معنیدار بدیم، میتونیم ساختار سلسلهمراتبی منابع یه REST API رو بهتر نشون بدیم.
شکل 2-1 با استفاده از نشانهگذاری WRML نشون میده که چطور طراحی مسیر URI با مدل منابعی که ارائه میده ارتباط داره.
این بخش قوانینی رو ارائه میده که مربوط به طراحی مسیرهای URI معنیدار هستن.
⭕️ برای نامگذاری اسناد باید از اسم مفرد استفاده بشه.
یه URI که نمایانگر یه سند هست، باید توی قسمت مسیر از یک اسم یا عبارت اسمی مفرد استفاده کنه.
مثال: URI برای یه سند مربوط به یک بازیکن به شکل مفرد خواهد بود:
⭕️ برای نامگذاری کالکشن ها باید از اسم جمع استفاده بشه.
URI که یه مجموعه رو شناسایی میکنه، باید توی قسمت مسیر از اسم یا عبارت اسمی جمع استفاده کنه. نام کالکشن باید طوری انتخاب بشه که نشون بده چه چیزهایی بهصورت یکسان داخلش قرار داره.
مثال: URI برای یه مجموعه از اسناد بازیکنان از فرم جمع اسم منابع استفاده میکنه:
⭕️ برای نامگذاری Store ها هم باید از اسم جمع استفاده بشه. URI که یه Store رو شناسایی میکنه، باید توی قسمت مسیر از اسم یا عبارت اسمی جمع استفاده کنه.
مثال: URI برای یه مخزن لیستهای پخش موسیقی ممکنه از فرم جمع به این شکل استفاده کنه:
⭕️ برای نامگذاری کنترلر باید از یک فعل یا عبارت فعلی استفاده بشه، درست مثل عملکرد یه تابع در برنامهنویسی. URI که یه منبع کنترلر رو شناسایی میکنه، باید بهطوری نامگذاری بشه که نشوندهندهی عملی باشه که قراره انجام بشه.
مثالها:
⭕️ بعضی از بخشهای مسیر URI ثابت هستند؛ یعنی اسمهای مشخصی دارن که توسط طراح REST API انتخاب میشن. اما بقیه بخشهای مسیر متغیر هستن، یعنی بهطور خودکار با یه شناسه پر میشن که به خاص بودن URI کمک میکنه. در نگارش الگوی URI، طراحها میتونن هم بخشهای ثابت و هم متغیر رو مشخص کنن. یک الگوی URI شامل متغیرهایی هست که قبل از استفاده باید جایگزین بشن.
مثال زیر سه متغیر داره: `leagueId`، `teamId`، و `playerId`:
جایگزینی متغیرهای الگوی URI ممکنه توسط REST API یا کلاینتها انجام بشه. هر جایگزینی میتونه از یه شناسه عددی یا الفبایی-عددی استفاده کنه، مثل مثالهای زیر:
در اینجا، مقدار `21` در قسمت متغیر `playerId` قرار گرفته و مقدار UUID در قسمت متغیر `gameId` جایگزین شده.
⭕️ نباید از نامهای توابع CRUD در URIها استفاده بشه. URIها باید برای شناسایی منحصربهفرد منابع استفاده بشن و باید طبق قوانین بالا نامگذاری بشن. همونطور که در بخش «روشهای درخواست» توضیح داده شده، روشهای HTTP برای مشخص کردن عملکرد CRUD استفاده میشن.
مثلاً این طراحی API ارجحیت داره:
در مقابل، الگوهای نادرست (که نباید انجام بشن) به شکل زیر هستن:
@ninja_learn_ir
📌 فصل دوم: Identifier Design with URIs
📍پارت: چهارم
#کتاب
💎 URI Path Design 💎
هر قسمت از مسیر URI که با اسلش (/) جدا میشه، یه فرصت طراحی حساب میشه. اگه به هر قسمت از مسیر یه ارزش معنیدار بدیم، میتونیم ساختار سلسلهمراتبی منابع یه REST API رو بهتر نشون بدیم.
شکل 2-1 با استفاده از نشانهگذاری WRML نشون میده که چطور طراحی مسیر URI با مدل منابعی که ارائه میده ارتباط داره.
این بخش قوانینی رو ارائه میده که مربوط به طراحی مسیرهای URI معنیدار هستن.
⭕️ برای نامگذاری اسناد باید از اسم مفرد استفاده بشه.
یه URI که نمایانگر یه سند هست، باید توی قسمت مسیر از یک اسم یا عبارت اسمی مفرد استفاده کنه.
مثال: URI برای یه سند مربوط به یک بازیکن به شکل مفرد خواهد بود:
http://api.soccer.restapi.org/leagues/seattle/teams/trebuchet/players/claudio
⭕️ برای نامگذاری کالکشن ها باید از اسم جمع استفاده بشه.
URI که یه مجموعه رو شناسایی میکنه، باید توی قسمت مسیر از اسم یا عبارت اسمی جمع استفاده کنه. نام کالکشن باید طوری انتخاب بشه که نشون بده چه چیزهایی بهصورت یکسان داخلش قرار داره.
مثال: URI برای یه مجموعه از اسناد بازیکنان از فرم جمع اسم منابع استفاده میکنه:
http://api.soccer.restapi.org/leagues/seattle/teams/trebuchet/players
⭕️ برای نامگذاری Store ها هم باید از اسم جمع استفاده بشه. URI که یه Store رو شناسایی میکنه، باید توی قسمت مسیر از اسم یا عبارت اسمی جمع استفاده کنه.
مثال: URI برای یه مخزن لیستهای پخش موسیقی ممکنه از فرم جمع به این شکل استفاده کنه:
http://api.music.restapi.org/artists/mikemassedotcom/playlists
⭕️ برای نامگذاری کنترلر باید از یک فعل یا عبارت فعلی استفاده بشه، درست مثل عملکرد یه تابع در برنامهنویسی. URI که یه منبع کنترلر رو شناسایی میکنه، باید بهطوری نامگذاری بشه که نشوندهندهی عملی باشه که قراره انجام بشه.
مثالها:
http://api.college.restapi.org/students/morgan/register
http://api.example.restapi.org/lists/4324/dedupe
http://api.ognom.restapi.org/dbs/reindex
http://api.build.restapi.org/qa/nightly/runTestSuite
⭕️ بعضی از بخشهای مسیر URI ثابت هستند؛ یعنی اسمهای مشخصی دارن که توسط طراح REST API انتخاب میشن. اما بقیه بخشهای مسیر متغیر هستن، یعنی بهطور خودکار با یه شناسه پر میشن که به خاص بودن URI کمک میکنه. در نگارش الگوی URI، طراحها میتونن هم بخشهای ثابت و هم متغیر رو مشخص کنن. یک الگوی URI شامل متغیرهایی هست که قبل از استفاده باید جایگزین بشن.
مثال زیر سه متغیر داره: `leagueId`، `teamId`، و `playerId`:
http://api.soccer.restapi.org/leagues/{leagueId}/teams/{teamId}/players/{playerId}جایگزینی متغیرهای الگوی URI ممکنه توسط REST API یا کلاینتها انجام بشه. هر جایگزینی میتونه از یه شناسه عددی یا الفبایی-عددی استفاده کنه، مثل مثالهای زیر:
http://api.soccer.restapi.org/leagues/seattle/teams/trebuchet/players/21
http://api.soccer.restapi.org/games/3fd65a60-cb8b-11e0-9572-0800200c9a66
در اینجا، مقدار `21` در قسمت متغیر `playerId` قرار گرفته و مقدار UUID در قسمت متغیر `gameId` جایگزین شده.
⭕️ نباید از نامهای توابع CRUD در URIها استفاده بشه. URIها باید برای شناسایی منحصربهفرد منابع استفاده بشن و باید طبق قوانین بالا نامگذاری بشن. همونطور که در بخش «روشهای درخواست» توضیح داده شده، روشهای HTTP برای مشخص کردن عملکرد CRUD استفاده میشن.
مثلاً این طراحی API ارجحیت داره:
DELETE /users/1234
در مقابل، الگوهای نادرست (که نباید انجام بشن) به شکل زیر هستن:
GET /deleteUser?id=1234
GET /deleteUser/1234
DELETE /deleteUser/1234
POST /users/1234/delete
@ninja_learn_ir
Forwarded from Bardiaism
Media is too big
VIEW IN TELEGRAM
آموزش Qt6 - قسمت دوازدهم - Network Requests
در این قسمت درباره ماژول نتورک کیوت صحبت میکنیم و یاد میدیم چطوری به کمک این ماژول روی پروتوکل http ریکوئست ارسال کنیم و جواب اونو بگیرید و اگر json هست خروجی اون رو parse کنید.
این ماژول شامل کلاسهای سطح پایینتر مثل tcp و udp هم میشه که در ویدیوهای بعدی درباره اونها توضیح خواهم داد.
لینک ویدیو در یوتیوب:
https://youtu.be/dnDv5uAcl_Q
@Bardiaism
در این قسمت درباره ماژول نتورک کیوت صحبت میکنیم و یاد میدیم چطوری به کمک این ماژول روی پروتوکل http ریکوئست ارسال کنیم و جواب اونو بگیرید و اگر json هست خروجی اون رو parse کنید.
این ماژول شامل کلاسهای سطح پایینتر مثل tcp و udp هم میشه که در ویدیوهای بعدی درباره اونها توضیح خواهم داد.
لینک ویدیو در یوتیوب:
https://youtu.be/dnDv5uAcl_Q
@Bardiaism