Md Daily – Telegram
Md Daily
725 subscribers
239 photos
15 videos
21 files
283 links
راجب مقالات و مستندات فنی یا غیر فنی که میخونم و علایقم اینجا مینویسم :)


گروه کانال: https://news.1rj.ru/str/MdDailyGap

کورس ها: https://news.1rj.ru/str/MdDaily/395

وبلاگ: https://mddaily.ir
Download Telegram
Md Daily
تست API چیه؟ تست API یه روش برای بررسی اینکه API ها به درستی کار می کنن و مشکلی ندارن. API ها یه جور رابط بین برنامه ها هستن که بهشون اجازه میدن با همدیگه ارتباط برقرار کنن. بریم نه نوع تست API مختلف که تو ویدیویی پست اومده رو بررسی کنیم ادامه در پست بعدی...…
👈 تست دودی (Smoke Testing): این تست سریع ترین نوع تست API هست و بعد از تکمیل توسعه API انجام می شه. هدف این تست اینه که ببینیم API ها به درستی کار می کنن یا نه.

👈 تست عملکردی (Functional Testing): این تست عملکرد API ها رو بررسی می کنه. یعنی اینکه می بینه API ها مطابق با الزاماتی که براشون تعریف شده کار می کنن یا نه.

👈 تست یکپارچه سازی (Integration Testing): این تست ترکیب چند API رو بررسی می کنه. یعنی اینکه می بینه API ها به درستی با همدیگه ارتباط برقرار می کنن یا نه.

👈 تست بازگشتی (Regression Testing): این تست اطمینان می ده که رفع اشکالات یا اضافه کردن ویژگی های جدید به API ها، رفتارهای موجود API ها رو مختل نمی کنه.

👈 تست بار (Load Testing): این تست عملکرد API ها رو در شرایط میزان بار مختلف (different loads) بررسی می کنه. هدف این تست اینه که ببینیم API ها می تونن در شرایط بار بالا هم به درستی کار کنن یا نه.

👈 تست استرس (Stress Testing): این تست شرایط سختی رو برای API ها ایجاد می کنه تا ببینه API ها می تونن از پس این شرایط بر بیان یا نه. هدف این تست اینه که آسیب پذیری های API ها رو شناسایی کنه.

👈 تست امنیت (Security Testing): این تست API ها رو در برابر حملات امنیتی بررسی می کنه. هدف این تست اینه که مطمئن بشه API ها در برابر حملات امنیتی مقاوم هستن.

👈 تست رابط کاربری (UI Testing): این تست تعاملات کاربری با API ها رو بررسی می کنه. هدف این تست اینه که ببینه کاربرا می تونن به راحتی از API ها استفاده کنن یا نه.

👈 تست Fuzz: این تست داده های ورودی نامعتبر یا غیرمنتظره را به API تزریق می کنه و سعی می کنه API رو خراب کنه. اینطوری، آسیب پذیری های API را شناسایی میشن.


🆔 @MdDaily
2🔥2❤‍🔥1
Md Daily
👈 تست دودی (Smoke Testing): این تست سریع ترین نوع تست API هست و بعد از تکمیل توسعه API انجام می شه. هدف این تست اینه که ببینیم API ها به درستی کار می کنن یا نه. 👈 تست عملکردی (Functional Testing): این تست عملکرد API ها رو بررسی می کنه. یعنی اینکه می بینه…
معرفی ابزار و پروژه هایی که برای انواع مختلف تست میتونید استفاده کنید:

برای تست های : Smoke، Functional، Integration، Regression:

👉 Postman
👉 Insomnia REST
👉 Thunder Client
👉 Hoppscotch

برای تست های: Load, Stress:

👉 JMeter
👉 locust

برای تست UI:

👉 Selenium
👉 Cypress
👉 appium
👉 Puppeteer
👉 Playwright

و Fuzz:

👉 Burp Suite
👉 OWASP ZAP


🆔 @MdDaily
2❤‍🔥1🔥1
☁️ BlueSky 

تعدادی دعوت نامه بلو اسکای تقدیم به شما عزیزان

💫 دعوتنامه ها در کامنت پست ارسال شدند و فعال هستند

🆔 @MdDaily
1
#tips

چند وقت پیش دیدم اکانت PR0GRAMMERHUM0R توی شبکه ی اجتماعی X این عکسو منتشر کرده و خب کامنت های جالبیم راجبش نوشته بودند. توی Python کلید واژه ی is به معنای تساوی مقادیر نیست و نباید با عملگر == اشتباه گرفته بشه. در ادمه ی این پست توضیحات تکمیلیو میدم

🆔 @MdDaily
❤‍🔥4👍1
Md Daily
#tips چند وقت پیش دیدم اکانت PR0GRAMMERHUM0R توی شبکه ی اجتماعی X این عکسو منتشر کرده و خب کامنت های جالبیم راجبش نوشته بودند. توی Python کلید واژه ی is به معنای تساوی مقادیر نیست و نباید با عملگر == اشتباه گرفته بشه. در ادمه ی این پست توضیحات تکمیلیو میدم…
خب توی این کد دقیقا داره چه اتفاقی میوقته؟ دوتا متغیر تعریف کرده به نام های x و y که مقدار اولیشون صفره.

یه حلقه ی while ایجاد کرده که تا زمانیکه x با y برابر هست ادامه پیدا کنه و مقدارشون رو یکی بهشون اضافه کنه در غیر این صورت حلقه رو بشکونه. همه چیز به نظر درست میرسه. اما! وقتی مقدار x و y میشه 257 با اینکه برابرن ولی برابر نیستن :)

اینجاس که تفاوت بین کلید واژه ی is با عملگر == مشخص میشه.

پایتون برای اعداد از -5 تا 256، از قبل یه جایی رو تو مموری براشون در نظر گرفته (preallocates). وقتی تو این محدوده یه متغیر تعریف میکنید، پایتون دیگه براش یه object جدید نمیسازه و به جاش اشاره میکنه به چیزی که قبلا در نظر گرفته.

بنابراین، اگه دو متغیر رو با هم مقایسه کنید که مقادیرشون با هم برابر باشه، شناسه‌شون هم برابره. یعنی هر دو متغیر به یه object اشاره می‌کنن.

برای همینکه x is y برابر میشه با True

حالا اگه خارج از محدوده ی -5 تا 256 یه متغیر تعریف کنید به دلیل اینکه پایتون براش یه object جدید میسازه، وقتی متغیر ها را باهم مقایسه میکیند مقدارشون برابر هست ولی ولی دیگه شناسشون باهم برابر نیست. یعنی هر دو متغیر به object های متفاوتی اشاره می‌کنن.


برای همینکه x is y برابر میشه با False

پس در نتیجه کلید واژه ی is در پایتون برای مقایسه ی شناسه(id) ها استفاده میشه و نه مقادیر.

💡منظور از id شناسه ی اون object توی مموریه


🆔 @MdDaily
👍2❤‍🔥1
معرفی Pi

این پروژه خودش رو یه هوش مصنوعی شخصی معرفی میکنه و باهاش میتونید مثل یک دوست صحبت کنید، ایده های جدید بگیرید، بازی کنید، برنامه ریزی کنید و...

یه قابلیت جالب متن به گفتارم با صدای طبیعی داره که ازش میتونید برای تقویت زبان انگلیسی استفاده کنید.

فارسی متوجه میشه ولی انگلیسی جواب میده 😅 خودش میگه من فارسی حرف زدنم خوب نیست ولی متوجه میشم :)

خلاصه اگه دنبال یه چت بات هستید که ازش توی کار های شخصی یا برای یادگیری زبان استفاده کنید، حتما Pi رو امتحان کنید

وبسایت پروژه:
https://pi.ai

🆔 @MdDaily
4👍2
🐧💡 نکات لینوکسی

اگه نام یک دستور رو فراموش کردید، فقط کافیه با کلمه ی کلیدی که ازش به خاطر دارید توی man جستجو کنید

man -k keyword


به عنوان مثال، برای یافتن دستورات مرتبط با disk:

man -k disk



🆔 @MdDaily
🔥8👍21
آیا می‌دانید
در محیط‌های عملیاتی/پروداکشن که داکر/کانتینر/کوبر هستند، ضروری است که swap سیستم‌عامل غیرفعال شود؟

وقتی swap باشه مدیریت kubelet روی مموری و اینکه پاد چه ریسورسی مصرف میکنه به هم میخوره و نتیجه‌اش میشه اینکه نمیتونه درست schedule کنه.
ظاهرا قضیه isolation هم هست.
یکی دیگه هم می‌گفت: لینوکس هم وقتی swap نداشته باشه روی مصرف مموری سگ میشه.

<مُصی>


اگه دنبال اطلاعات بیشتر هستید:
https://github.com/kubernetes/kubernetes/issues/53533

🆔 @MdDaily
👍3
کانال یه Boost نیاز داره تا استوریش فعال بشه :)

اگه دوست داشتید🫶👇🏻

https://news.1rj.ru/str/MdDaily?boost
🔥4
اطلاعیه ی شرکت ارتباطات زیرساخت و تایید اختلال اینترنت :

به دلیل قطعی فیبرنوری در خاک گرجستان برخی از لینک های بین الملل ورودی از خاک ارمنستان و ترکیه دچار قطعی شده است. با توجه به تمهیدات در نظر گرفته شده، بالانس پهنای باند روی سایر مسیرها انجام شده و پیگیری‌های فنی لازم جهت رفع خرابی در حال انجام است و متعاقبا اطلاع رسانی خواهد گردید.



آپدیت:
طبق اطلاعیه ی جدید شرکت ارتباطات زیرساخت و اعلام رفع مشکل :

باتوجه به پیگیری های انجام شده، عملیات اجرایی لازم جهت رفع مشکلات مسیرهای فیبرنوری در خاک گرجستان انجام شد و از ساعت 50: 21 تمامی لینک های اینترنت بین الملل قطع شده، در وضعیت نرمال قرار گرفت.



🆔 @MdDaily
💔711
دوره ی رایگان مهارت های ریاضی علوم داده از coursera

دوره های Data science نیاز به دانش ریاضی دارند و این دوره به شما کمک میکنه تا ریاضیات پایه رو برای گذروندن بقیه ی دوره های علم داده یاد بگیرید

👈 دوره زیرنویس فارسیم داره

🔗 ثبت نام در دوره

🆔 @MdDaily
داشتم بلاگ Uber Engineering رو نگاه میکردم رسیدم به یه مقاله ی جالب بنام (این مقاله توی سال 2016 نوشته شده):

Designing Schemaless, Uber Engineering’s Scalable Datastore Using MySQL

خب خلاصش میشه اینکه اوبر اومده یه دیتابیس Schemaless اختصاصی خودش ایجاد کرده که پاسخگوی نیاز هاش باشه

یکی از چیز هایی که خیلی براشون مهم بوده دسترسی بالا (highly-available) توی عملیات نوشتن توی دیتابیس بوده.

این امر به سختی قابل دستیابی بود...

... چونکه تمام Writes ها به نود اصلی (Leader Node) میرفتند

و در این حالت نمیشه high availability رو تضمین کرد

We needed write availability. We had previously implemented a simple buffer mechanism with Redis, so if the write to Postgres failed we could retry later since the trip had been stored in Redis in the interim. But while in Redis, the trip could not be read from Postgres and we lost functionality like billing.


اینا اومده بودن یه مکانیسم بافر ساده رو با Redis پیاده سازی کرده بودند، پس اگه موقع عملیات write توی Postgres مشکلی پیش میومد،‌ چونکه اطلاعات سفر توی Redis ذخیره شده بوده میتونستند برای اجرای مجدد عملیات write بعدا دوباره امتحان کنند، ولی از طرفیم چون اطلاعات سفر توی Postgres ثبت نشده بود، توی اجرای‌ فانکشن هایی مثل صورتحساب به مشکل میخوردند. با گذشت زمان که اوبر رشد میکنه راه حل مبتنی بر Redis اشون Scale نمیشه پس دیتابیسشون باید یه مکانیزم مشابه Redis رو پشتیبانی میکرد اما write نسبت به read مهم تر بود

اوبر با استفاده از یک تکنیک درخشان به نام Buffered Writes این امر را ممکن کرد.

به طور خلاصه، Buffered Writes به این معنیه که هر درخواست نوشتن حداقل در دو Node ذخیره میشه: نود اصلی (Primary Leader) و نود ثانویه (Secondary Leader).

نحوه عملکردشم اینجوریه که:

👈 کلاینت درخواستی رو به request handler ارسال میکنه.

👈 سپس request handler درخواست های write رو به نود ثانویه ارسال میکنه. داده ها در یک جدول بافر (Buffer Table) خاص در نود ثانویه ذخیره میشن.

👈 سپس، درخواست نوشتن رو هم به نود اصلی ارسال می کنه. فقط در صورتی که هر دو write موفقیت آمیز باشن، کلاینت تأییدیه write موفقیت آمیز دریافت میکنه.

👈 وظیفه نود اصلی تکثیر داده هاست.

👈 اما اگه نود اصلی قبل از موفقیت آمیز بودن async replication از کار بیوفته، نود ثانویه به عنوان یک نسخه پشتیبان موقت از داده ها عمل میکنه.

👈 یه Background Worker به دنبال کننده اصلی (Primary Follower) نظارت میکنه تا ببینه آیا رکورد بعد از replication ظاهر میشه یا نه.

👈 هنگامی که رکورد در Primary Follower ظاهر میشه، Background Worker جلو میره و رکورد رو از Buffer Table حذف می کنه.

چند نکته مهم که باید به آنها توجه داشت:

تعداد نود ثانویه قابل پیکربندیه.
نود ثانویه به طور تصادفی انتخاب میشه.
عملیات Buffered writes از idempotency پشتیبانی میکنه. اگه چندین write با همون identifying fields وجود داشته باشه، مهم نیست که درخواست چند بار ارسال بشه.

🆔 @MdDaily
👍3
Audio
🎧 پلی لیست #موزیک مناسب برای زمان برنامه نویسی (Deep Programming)

🎵 Tracklist

► 00:00 AHO.H - Trouvaille

► 04:47 Vale, Weirenz - Pure Noise

► 07:24 Condition.ruined - Archive

► 10:44 Echo - Nightfall

► 16:30 Homeomorphic - Hypnotizing

► 21:08 Lazarus Moment - Vagrant

► 27:34 Fox3r - Dive

► 31:00 Shibiremusic, Hurricvne - Inside Your Mind

► 34:36 Eenspire - Flow of Thoughts

► 37:19 Fyze - Lost in Time

► 42:21 Etsu, Diedlonеly - Lost

► 45:37 Spaceouters - Ma

► 49:49 Tiikk - The Sky Keeps Moving

► 54:24 F0x3r - Answer

► 57:36 Craset, Nega Beats - Have a chance

► 1:01:30 OGLΛK, Phelian - Broken

► 1:07:20 Deffyme - Hazel Eyes

► 1:10:20 Zyphyr - Mystеry

► 1:14:03 Vonnboyd - Immersion


🆔 @MdDaily
❤‍🔥5
Vscode is FREEE.

شاید در نگاه اول این جمله به نظر برسه که یه مشکل نوشتاری داره ولی اینطور نیست :) نه این جمله به معنای رایگان بودن ویرایشگر متن محبوب وی اس کد هست و نه Typo داره.

توی این پست قرار یه نگاهی بندازیم به سیاست های شرکت های بزرگی مثل Microsoft که چطوری تونستند انحصار بوجود بیارن و محصول خودشون رو استاندارد کنند.

توی دنیای امروز شرکت ها و پروژه های نرم افزاری باهم برای بدست اوردن کاربر بیشتر رقابت می کنند و یه جمله ایو نقل قول کنم که میگه

اگه چیزی رایگان عه احتمالا شما محصول هستید.


خب برگردیم به جمله ی اصلی: Vscode is FREEE. آیا واقعا Vscode رایگانه؟ جواب کوتاه: نه! مایکروسافت یه سیاستی رو دنبال میکنه که به اختصار بهش میگن:
EEE (Embrace, extend, and extinguish)
اما دقیقا این سیاست یعنی چی؟

استراتژی و عبارت "Embrace, extend, and extinguish" برای اولین بار در خارج از مایکروسافت در یک مقاله سال ۱۹۹۶ در نیویورک تایمز با عنوان "فردا، وب جهانی! مایکروسافت، پادشاه رایانه شخصی، می‌خواهد بر اینترنت حکومت کند" توصیف شد، که در آن نویسنده جان مارکوف گفت: "به جای اینکه صرفاً اینترنت را در آغوش بگیرد و گسترش دهد، منتقدان این شرکت اکنون می‌ترسند، مایکروسافت قصد دارد آن را در خود فرو ببرد."

مرحله اول: در آغوش گرفتن (Embrace)

مایکروسافت اول یه استاندارد یا محصول رقیب رو میگیره و سعی میکنه که باهاش سازگار بشه. مثلاً مایکروسافت اومد IE یه مرورگر وب ساخت که با استاندارد HTML سازگار باشه.

مرحله دوم: گسترش دادن (extend)

بعد از اینکه مایکروسافت با استاندارد یا محصول رقیب سازگار شد، شروع میکنه به گسترشش. یعنی ویژگی های جدیدی بهش اضافه میکنه که در استاندارد یا محصول اصلی نباشه. مثلاً مایکروسافت اومد توی IE ویژگی های جدیدی مثل پشتیبانی از فلش یا ویدیو اضافه کرد.

مرحله سوم: خاموش کردن (extinguish)

بعد از اینکه مایکروسافت استاندارد یا محصول رقیب رو گسترش داد، سعی میکنه که اون رو به استاندارد واقعی تبدیل کنه. یعنی به طوری که اکثر شرکت ها و افراد از اون استفاده کنن. وقتی این اتفاق افتاد رقبای مایکروسافت که از استاندارد جدید پشتیبانی نمیکنن، مجبور می شدن که یا از بازار خارج بشن یا اینکه هزینه زیادی برای پشتیبانی از استاندارد جدید بپردازن.


به زبان ساده تر

استراتژی مایکروسافت میگه: "اول استاندارد یا محصول رقیب رو قبول می کنیم، بعدش ویژگی های جدیدی بهش اضافه می کنیم که رقبا نمی تونن اضافه کنن، و در نهایت استاندارد یا محصول جدید رو به استاندارد واقعی تبدیل می کنیم و رقبا رو حذف می کنیم."

این استراتژی باعث شد که مایکروسافت بتونه در دهه ۹۰ میلادی به قدرتمندترین شرکت نرم افزاری دنیا تبدیل بشه.


چنتا مثال دیگه:

-مرورگرها: مایکروسافت در گذشته از کنترل‌های ActiveX در مرورگر اینترنت اکسپلورر استفاده می‌کرد. این کنترل‌ها با مرورگرهای دیگه سازگار نبودن و باعث می‌شدن که اسناد وب در مرورگرهای دیگه به خوبی نمایش داده نشن.

-تلاش برای انحصار در Java: مایکروسافت قصد داشت که سیاست EEE رو توی جاوا هم پیاده کنه و از با حذف JNI از جاوا قابلیت اجرا شدن روی لینوکس و مک رو بگیره که در نهایت با شکایت شاکیان پرونده ضد انحصارطلبی مایکروسافت در ژانویه 2001 مبلغ 20 میلیون دلار آمریکا به Sun Microsystems پرداخت کرد.

-اسناد آفیس: مایکروسافت در گذشته از ویژگی‌های اختصاصی در اسناد آفیس استفاده می‌کرد. این ویژگی‌ها باعث می‌شدن که اسناد آفیس در نرم‌افزارهای متن‌پرداز دیگه به خوبی نمایش داده نشن.

- نرم افزار ویرایشگر متن: مایکروسافت با معرفی Vscode و حذف رقبایی مثل Atom درنهایت موفق شد که استراژی EEE رو در مورد VScode اجرا کنه

و مثال های دیگه که میتونید توی ویکی پیدا پیداشون کنید.

نتیجه گیری:

خلاصه اینکه این استراتژی از طرف هر کسی میتونه باشید، نه فقط مایکروسافت، چونکه شرکت‌ها صرفاً برای کسب درآمد وجود دارند و تقریباً هر کاری را برای رسیدن به این هدف انجام می‌دن، در نهایت هدف این پست معرفی استراتژی EEE بود و هدفش تخریب شرکت یا محصولی نبود :)


🆔 @MdDaily
👍7👎1
چطور یه برنامه بسازیم که بشه با بقیه همزمان داده ها رو آپدیت کنیم؟

بیایید از Notion یاد بگیریم.

اپ Notion یه ابزار بهره وری محبوبه که توسط میلیون ها نفر در سراسر دنیا استفاده میشه و خیلی از این افراد تو تیم ها کار می کنن.

نوشن یه رابط همزمان به کاربرانش ارائه میده، یعنی چند نفر می تونن همزمان روی یه صفحه کار کنن و تغییرات رو ببینن.

هر چیزی که تو ویرایشگر Notion می سازید یه Block عه.

و هر Block یه چرخه ی عمر 3 مرحله ای داره:

👈 ایجاد یه Block جدید
👈 ذخیره Block روی سرور
👈 رندر کردن Block روی صفحه بقیه

💡 توی تصویر پست این سه مرحله به صورت تصویری نشون داده شده

اما، این سه مرحله در مجموع یازده مرحله رو با اتفاقات جالب شامل میشه

بیایید به طور خلاصه بررسیشون کنیم 👇👇👇

👈 مرحله 1 - ایجاد یک بلوک جدید

اتفاقات زیر در این مرحله میوفتند:

1 - کاربر یک بلوک جدید در رابط کاربری ایجاد می کند.
2 - بلوک در فضای ذخیره سازی داخلی(in-memory storage) یا چیزی مثل IndexedDB ذخیره میشه.
3 - رابط کاربری دوباره رندر میشه و بلوک در صفحه کاربر نمایش داده میشه.
4 - داده ها هم در TransactionQueue ذخیره میشن.

🆔 @MdDaily
2
Md Daily
چطور یه برنامه بسازیم که بشه با بقیه همزمان داده ها رو آپدیت کنیم؟ بیایید از Notion یاد بگیریم. اپ Notion یه ابزار بهره وری محبوبه که توسط میلیون ها نفر در سراسر دنیا استفاده میشه و خیلی از این افراد تو تیم ها کار می کنن. نوشن یه رابط همزمان به کاربرانش…
تووی TransactionQueue یک صف از تغییرات که هنوز به پایگاه داده اصلی ارسال نشدند وجود داره تا از تداخل داده ها جلوگیری کنه.


👈 مرحله 2 - ذخیره بلوک در سرور

5 - داده ها serialized شده و به API بک اند ارسال میشن.

6 - ای پی ای (API) کارش رو انجام میده و داده ها رو در پایگاه داده اصلی ذخیره میکنه.

7 - ای پی ای (API) بک اند همچنین سرویس MessageStore را در مورد تغییرات مطلع میکنه.

سرویس MessageStore یک سرویس ارتباطی در Notion عه که برای ارسال اعلان‌های تغییرات به کاربران استفاده میشه


👈 مرحله ۳ - رندر کردن بلوک در صفحه بقیه

8 - یک وب سوکت از سمت کلاینت ایجاد میشه و وصل میشه به سرویس MessageStore تا تغییرات را دریافت کنه.
9 - حالا MessageStore اعلان (notification) تغییرات رو به Websocket ارسال می کنه.
10 - کلاینت اعلان‌های به‌روزرسانی نسخه رو دریافت می‌کنه.
11 - بر اساس داده‌های اعلان، کلاینت API بک اند را فراخوانی میکنه تا آخرین رکوردها را از پایگاه داده دریافت کنه و رابط کاربری بقیه هم با داده های بروز رندر بشن.

💡 توی تصویر پست کل پروسه ای که داره انجام میشه به صورت تصویری نشون داده شده

🆔 @MdDaily
2
#معرفی

اگه نیاز دارید تو جایی ثبت نام کنید و نمیخواهید از اطلاعات واقعیتون استفاده کنید میتونید از سایت هایی که در ادامه معرفی میشه استفاده کنید

سایت‌هایی که شماره‌های یکبار مصرف برای تأیید پیامک ارائه می‌کنن:

1) http://hs3x.com
2) http://smsget.net
3) https://sms-online.co
4) https://catchsms.com
5) http://sms-receive.net
6) http://sms.sellaite.com
7) http://receivefreesms.net
8) https://receive-a-sms.com
9) http://receivesmsonline.in
10) http://receivefreesms.com
11) http://receivesmsonline.me
12) https://smsreceivefree.com
13) https://smsreceiveonline.com
14) https://receive-sms-online.com
15) https://receivesmsonline.net
16) https://temp-mails.com/number
17) https://freeonlinephone.org
18)https://getfreesmsnumber.com

سایت‌هایی که ایمیل‌های یکبار مصرف برای تأیید ایمیل ارائه می‌کنن:

1) https://maildrop.cc
2) https://tempr.email
3) https://tempmail.net
4) https://temp-mail.org
5) https://moakt.com
6) https://tempmailo.com [ New ]
7) https://emailondeck.com
8) https://guerrillamail.com
9) https://smailpro.com (+ temp Gmail) (این سایت هم شماره و هم جیمیل موقت بهتون میده)


🆔 @MdDaily
👍43🔥1
Audio
🎧 پلی لیست #موزیک مناسب برای زمان تمرکز و پروداکتیویتی (Electronic Music)

🎵 Tracklist

► 00:00 Vonnboyd - Discover

► 03:50 Honeyruin - We Could Have Been

► 07:46 Blurred, Heartmath2 - Dawning (Creepa Remix)

► 12:19 Andy Leech - Solar Fields

► 17:09 AK - 23.01.2018

► 20:34 VonnBoyd - Broken Heart

► 26:08 AK - Autumn Is Here

► 29:38 Koda - Staying

► 33:56 Tim Schaufert, AK - From Place Еo Place

► 36:57 AK - Wanderlust

► 40:38 4Lienetic - The Fog Ahead

► 45:05 Hands - Thinking About You

► 48:20 H3ndo - Fathom

► 53:43 Arnyd - Truth

► 57:25 Ambient Light - Norwegian Valley

► 1:00:56 Ponkie - Falling Stars

► 1:04:36 Randloev - Patience

► 1:09:08 Artic Desert - Enigma

► 1:12:49 Many Miles - Look Down

► 1:16:45 Onycs - Timeless

► 1:20:58 Samuke - Haze

► 1:23:51 Homeomorphic - Imaginary

► 1:26:53 Kasper Klick - Salvation

► 1:31:14 Homeomorphic - Awareness

► 1:34:52 Bythewvve - Return

► 1:37:54 Rusez1 - Aftermath

🆔 @MdDaily
6