TondTech – Telegram
TondTech
2.65K subscribers
1.48K photos
169 videos
133 files
1.16K links
کالای ما دانش است


تبلیغات نداریم
Download Telegram
Forwarded from tech-afternoon (Amin Mesbahi)
⚙️ شاید براتون پیش اومده باشه که نیاز پیدا کرده باشید تا بدون دغدغه یه REST API رو صدا کنید، جواب دلخواهتون رو بگیرید و کارتون رو پیش ببرید.

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

مفهوم JSON Fake Server چیز جدیدی نیست، نمونه‌های متعددی هم داره که برای توسعه تست یا نمونه‌سازی (Prototyping) استفاده می‌شن. چیزی که بدون نیاز به تنظیمات پیچیده، بلافاصله آماده استفاده باشه.

📃 معرفی اولیه یک ابزار:

- بدون نیاز به تعریف نوع‌داده یا مسیرها (route) »» داده‌ها به صورت پویا مدیریت می‌شن و نیازی به تعریف نوع‌داده یا مسیرهای API نیست (routing).

- ذخیره داده‌ها در فایل JSON: داده‌هایی که با متدهای POST یا PUT می‌فرستیم سمتش در یک فایل JSON ساده ذخیره می‌شوند و نیازی به پایگاه داده وجود ندارد.

- نصب و راه‌اندازی آسون: هیچ پیش‌نیازی نداره و تنها با اجرای سرور، API آماده استفاده است. نصبش هم با کامندلاین یا داکر یا…

- پیروی از شیوه‌های توصیه‌شده طراحی API: سعی شده تا ابزار تمامی اصول یک API استاندارد رو رعایت کنه و می‌تونه به‌عنوان یک مرجع برای طراحی API استفاده بشه.

- چند سکویی: می‌تونید این ابزار را روی ویندوز، لینوکس و مک اجرا کنید، یا با استفاده از داکر.

- پشتیبانی از مدل‌های متنوع مثل GraphQL


📌 قابلیت‌های اصلی

- پشتیبانی از همه عملیات CRUD: منظورم متدهای HTTP مثل GET، PUT، POST، PATCH و DELETE.

- پشتیبانی از عملیات اطلاعات‌گیری از منابع: مثل HEAD و OPTIONS.

- مدیریت تأخیر و خطا: می‌تونید تأخیر و خطاها رو برای درخواست‌ها شبیه‌سازی کنید (مثلا بگید بعد از ۲ ثانیه پاسخ بده یا خطای ۵۰۲ برگردون).

- تایید هویت: از روش‌های توکن، Basic و کلید API پشتیبانی می‌کنه.

- پشتیبانی از WebSocket: برای دریافت اعلان‌های تغییر داده.

- پشتیبانی از فایل‌های استاتیک و Swagger: برای مستندسازی و تست API.

- فیلتراسیون، صفحه‌بندی و جستجوی متنی: برای مدیریت داده‌ها در سناریوهای پیچیده‌تر.

- پشتیبانی از GraphQL: قابلیت آزمایشی برای کوئری‌ها و Mutationهای GraphQL.

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

- پشتیبانی از فرمت‌های مختلف خروجی: شامل JSON، CSV و XML.

🛠 سرور جعلی JSON چجوری کار می‌کنه؟

جواب کوتاه: خیلی ساده 😅

جواب یه‌مقدار جزئی‌تر: سرور رو از طریق کامندلاین یا داکر اجرا کنید، شماره پورت و فایلی که APIها رو توش تعریف کردید و فایلی که داده‌ها رو می‌خواهید توش ذخیره کنید، ذکر کنید. تامام!

همون‌طور که عرض کردم این نوع نرم‌افزار، یک مفهوم رایج است، و منحصر به یک ابزار نیست. شاید معروف‌ترینش json-server با بیش از ۷۳هزار ستاره در گیت‌هابه! ولی مشابه دات‌نتی هم داره، dotnet-fake-json-server البته با ۳۸۸ ستاره 😂 و اینکه ۲ ساله آپدیت نشده و با دات‌نت ۶ توسعه داده شده، من این چند روز بعد از ساعت کاری، دارم روی ارتقا‌ئش روی دات‌نت ۹ کار می‌کنم و امیدوارم زودتر جمع شه و pull request بدم.

fake-server --file data.json --urls http://localhost:57602


جمع‌بندی: اگر با REST کار می‌کنید یا GraphQL حتمن OpenAPI و کار با این نوع ابزارها رو خوب و دقیق یاد بگیرید. اگر توی پروژه‌هاتون REST API زیاد دارید، خوبه که روی روش‌های tracing خصوصا وقتی APIها زنجیره می‌شن، دیزاین‌پترن‌های مرتبط با مایکروسرویس یا سیستم‌های توزیع‌شده رو تمرین کنید و هرگز بدون fake و test پیش نرید 😉

💬 اگر موضوع جالبی براتون هست بگید تا ویدیو کوتاه یا مثال بریم باهاش 😊
👍3👎1
آتومیشن‌هایی که فروشگاه‌های آنلاین رو متحول می‌کنن!

تو دنیای فروشگاه‌های آنلاین، یه سری آتومیشن‌ها هستن که واقعاً تفاوت ایجاد می‌کنن. اینجا چندتا از کاربردی‌ترین‌هاش رو که خودم تجربه کردم براتون آوردم:

🚀 پیگیری سبد خرید رهاشده (Abandoned Cart):
همیشه افرادی هستن که سبدشون رو نصفه رها می‌کنن. یه پیام دوستانه، یه تخفیف کوچیک یا حتی حس فوریت می‌تونه این مشتری‌ها رو برگردونه.

🔗 پیشنهاد محصولات مرتبط (Upsell/Cross-sell):
بعد از هر خرید، پیشنهاد محصولاتی که به اون خرید مرتبطه می‌تونه فروش رو چند برابر کنه.

📩 ایمیل خوشامدگویی (Welcome Email):
برای تازه‌واردها، معرفی برند یا تخفیف اولین خرید همیشه یه شروع عالیه.

💌 بازگشت مشتریان غیرفعال (Win-back Campaigns):
با یه پیشنهاد جذاب، مشتری‌هایی که مدتی ازشون خبری نیست رو دوباره فعال کنین.

یادآوری تمدید یا خرید مجدد (Reorder Reminders):
مخصوص محصولاتی مثل لوازم آرایشی یا مکمل‌ها که مصرف‌شدنی هستن.

🎉 تبریک تولد و مناسبت‌ها (Birthday & Occasion Campaigns):
یه تخفیف تو روز تولد یا مناسبت‌های خاص حس خوبی به مشتری می‌ده.

⭐️ جمع‌آوری نظرات (Review Requests):
مشتریا عاشق اینن که نظرشون شنیده بشه! نظرسنجی کنین و یه پاداش کوچیک هم براشون در نظر بگیرین.

💡 یه نکته مهم:
برای اجرای درست این آتومیشن‌ها، ارسال دقیق دیتاها به ابزارهای مارکتینگ ضروریه. مثلاً وضعیت سبد خرید، تاریخ تولد مشتری یا رفتار کاربر باید به‌موقع و درست ارسال بشه.
دیتای دقیق = آتومیشن دقیق = تجربه بهتر مشتری

🔗 شما از چه آتومیشن‌هایی استفاده کردین؟ برام بنویسین! 👇

منبع

📡 پرسپکتیو دیتا | رسانه داده و گزارش کسب‌و‌کارها
👍32👎1
کیف میکنم برای این تصویر
17
Forwarded from Azibom Channel (MohammadReza Shabani)
سلام و درود
امیدوارم خوب باشید
یک موقعیت شغلی برای کارآموزی پایتون به صورت ریموت برای یک استارتاپی که در زمینه بازار های مالی فعال هستند باز شده، فرصت یادگیری خوبی داره و با افراد حرفه ای هم در ارتباط خواهید بود

اگه براتون جذابه بهم پیام بدید و اگر هم share کنید تا برسه به دست کسانی که باید خیلی ممنون میشم

مراقبت کنید

@azibom
@azibomChannel

Azibom.com
🔥1
مبلغ کل اعتبار اعطاء شده در طرح "اول آورد ۲" به دو میلیارد و ششصد میلیون تومان رسید.

تعداد ۲۶ کسب و کار یا پروژه متن باز از این اعتبار بهره‌مند شدند.

از تمام دوستان و همراهانی که درخواست عضویت ارسال کردند سپاس گزاریم.
AvalAI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Forwarded from Learning With M (Masoud DaneshPour)
با انواع Test Double ها آشنایی دارید ؟

در فرآیند توسعه نرم‌افزار و تست نرم‌افزار، وقتی می‌خواهیم یک بخش از سیستم را ایزوله تست کنیم (به‌عنوان مثال یک واحد کد را بدون درگیر شدن با وابستگی‌های خارجی آن تست کنیم)، از مفهومی به نام "Test Double" استفاده می‌کنیم. Test Double یک موجودیت جایگزین برای شیء یا ماژول واقعی هست تا وابستگی‌های خارجی را در زمان تست کنترل‌پذیر و ساده‌تر بشن.

مارتین فاولر بزرگ انواع Test Double را به صورت کلی به پنج دسته تقسیم کرده است که هرکدام هدف و کاربرد خاصی دارند:

Dummy: فقط برای پر کردن جای خالی پارامترها و عدم استفاده عَملی در تست
Stub: برگرداندن پاسخ‌های ثابت و ساده برای حذف وابستگی‌های خارجی
Fake: پیاده‌سازی ساده‌شده و درون حافظه‌ای یک سرویس خارجی واقعی
Spy: مانند Stub اما با قابلیت نظارت و ثبت تعاملات برای بررسی پس از اجرا
Mock: تعریف انتظارات قبل از اجرا و کنترل دقیق تعاملات برای تست رفتار

@learning_with_m
Forwarded from refhub
به لطف Avalai.ir عزیز، برای شروع، کلیه کتاب های برجسته ی ما که از لینک زیر قابل مشاهده هست، دارای خلاصه و معرفی فارسی صوتی بر پایه مدل gpt-4o-audio-preview شدند، از این پس، اگر حوصله مطالعه جزییات و توضیحات کتاب ها را نداشتید، می توانید سری به بخش صوتی و معرفی فارسی کتاب هم بزنید
برای ما به عنوان کتابفروشی هوشمند، استفاده از تمام پتانسیل های مناسب و مرتبط AI یک ارزش نهادینه است که امیدواریم به کار شما کتابخوان های عزیز بیاید
https://refhub.ir/fa/featured_refrences/

با عشق
تیم توسعه Refhub.ir
🔥7👍2👏1🤩1
Forwarded from Azibom Channel (MohammadReza Shabani)
سلام و درود دوستان امیدوارم خوب باشید

برای روز ۱۳ دی من یه تاک دارم داخل Digikala Next و قراره درباره soft skills صحبت کنم

- Overwork
- Micromanage
- Career development
- ...

ارائه خوبی میشه از نظر خودم:) صحبت کردم و ۷ ۸ نفر میتونن به عنوان مهمان از طرف من حضور داشته باشن

اگر دوست داشتید بهم پیام بدین تا هماهنگ کنیم

لطفا پیامتون در این قالب باشه

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

اگرم share کنید که برسه به دست کسانی که باید خیلی ممنون میشم

مراقبت کنید


@azibom
@azibomChannel

Azibom.com
8
Forwarded from tech-afternoon (Amin Mesbahi)
📌 ربع‌بندی بدهی فنی (Technical Debt Quadrant)

دیروز یه توییتی زدم که برای توضیح بهتر منظورم (که هیچ ربطی هم به نرم‌افزار نداشت)، از توصیف بدهی فنی ناآگاهانه‌ی بی‌پروا استفاده کردم، این شد که گفتم شاید بد نباشه کمی عمیق‌تر در مورد بدهی فنی گپ بزنیم...

مارتین فولر سال‌ها پیش یک ربع‌بندی (Quadrant) برای طبقه‌بندی انواع بدهی ‌های فنی معرفی کرد که تا امروز هم قابل تعمیم و استفاده است، برای اینکه دید بهتری نسبت به بدهی فنی‌هامون داشته باشیم. برای «احمقانه»‌ها توجیه نتراشیم... بابت عاقلانه‌ترها هم خودمون رو بیش از حد سرزنش نکنیم.

1. بی‌پروا و غیرآگاهانه (Reckless & Inadvertent)
بدون آگاهی و بی‌برنامه ایجاد شده.

2. بی‌پروا و آگاهانه (Reckless & Deliberate)
تیم آگاهانه و به صورت بی‌پروا برای سرعت بخشیدن به کار ایجاد کرده.

3. محتاطانه و غیرآگاهانه (Prudent & Inadvertent)
به صورت تصادفی اما با رعایت اصول اولیه ایجاد شده.

4. محتاطانه و آگاهانه (Prudent & Deliberate)
آگاهانه و با برنامه‌ریزی برای دستیابی به اهداف کوتاه‌مدت ایجاد شده.

ری‌اکشن 🤓 برای اعلام تمایل برای توضیح بیشتر و مثال و...
🏆3👍1
tech-afternoon
📌 ربع‌بندی بدهی فنی (Technical Debt Quadrant) دیروز یه توییتی زدم که برای توضیح بهتر منظورم (که هیچ ربطی هم به نرم‌افزار نداشت)، از توصیف بدهی فنی ناآگاهانه‌ی بی‌پروا استفاده کردم، این شد که گفتم شاید بد نباشه کمی عمیق‌تر در مورد بدهی فنی گپ بزنیم... مارتین…
یک از خوشبختی های این روزهای من اینه که مسعود دانشپور عزیز و امین مصباحی عزیزم کانال های تلگرامشون رو فعال کردن، این آرزوی پارسال من بود که میکروفن تک در اکوسیستم ایران دست آدم های صالح و با سواد باشه و خیلی خوشحالم که میتونیم بیشتر ازشون بخونیم و یاد بگیریم
🔥7
Forwarded from refhub
رفقا یه کتابخوان اندرویدی تر و تمیز داشته باشید برای کتاب های ما حاضرید براش ، حق اشتراک ماهیانه بدین؟
Anonymous Poll
54%
بلی
46%
خیر
Forwarded from refhub
اگه کتابخوان به کارتون میاد، حاضرید برای اشتراک ماهیانه چقدر پرداخت کنید ؟
Anonymous Poll
74%
50 هزار تومان
26%
70 هزار تومان
Forwarded from Learning With M (Masoud DaneshPour)
🚀 من همیشه اصول پایه ای رو دوست دارم، برای همین خیلی وقت ها برای خودم مرورشون می کنم.
امروز داشتم OOP رو مطالعه می کردم، برای همین گفتم با شما هم Share کنم :

در برنامه‌نویسی شیءگرا (Object-Oriented Programming – OOP)، مفاهیمی معرفی می‌شند که هدف‌شان ساده‌سازی طراحی، توسعه و نگهداشت کد هست که عبارت اند از :

Encapsulation: پنهان کردن جزئیات و ارائه واسط عمومی
Abstraction: ساده‌سازی و انتزاع‌سازی مفاهیم بدون نمایش جزئیات غیرضروری
Inheritance: استفاده‌ی مجدد از کد و ایجاد سلسله‌مراتب بین کلاس‌ها
Polymorphism: رفتارهای مختلف برای یک متد واحد بسته به کلاس یا نوع شیء

@learning_with_m
که می دونیم که Polymorphism دو نوع داره که شامل :

Overriding: اگر کلاس فرزند متدی را که در کلاس والد تعریف شده بازتعریف کند، بسته به نوع شیء در زمان اجرا متد مناسب صدا زده می‌شود. (Runtime polymorphism)
Overloading: در یک کلاس چند متد با نام یکسان ولی پارامترهای متفاوت تعریف می‌کنیم، و بسته به تعداد و نوع پارامترها، متد مناسب در زمان کامپایل انتخاب می‌شود. (Compile-time polymorphism)

حالا شما به من بگید، در S.O.L.I.D، حرف L که برای Liskov Substitution Principle (LSP) هست، کدوم یکی از مفاهیم بالا رو هدف قرار داده ؟ اصلا چه ربطی بین LSP و مفاهیم بالا هست ؟
4
TondTech
<unknown> – Brick Man, Massoud Beygi
Brav.ai هم داره خوب جلو میره تو این مسیر. یه سمپل دادم بهش بسازه از شعرای قدیمی، ببینید چه کرد..
‏آقا برگام... Brev داره میزنه جلو از suno 😎
ببینید شعرمو چیکار کرد لامصبببب

https://brev.ai/music/1864004-jorm
🎯 Senior .Net Developer

💵 حقوق سالانه: قابل مذاکره

📍محل کار: تهران - حضوری

⚙️ صنعت: تکنولوژی

🌟 مهارت‌های کلیدی:
• مسلط بر توسعه نرم‌افزار با .Net
• تجربه در زمینه ساختار نرم‌افزار
• مهارت حل مسئله

📩 برای ارسال رزومه می‌توانید از طریق این لینک و یا آیدی تلگرام @HRBamboosHeadHunter اقدام نمایید.
-------------
برای اطلاع از آخرین موقعیت‌های شغلی ما را در لینکدین و واتساپ دنبال کنید.

#Senior_DotNET_Developer #DotNET #موقعیت_شغلی #استخدام
🎯 Senior .NET Engineer

💵 حقوق سالانه: ۰.۸ تا ۱ میلیارد تومان


📍محل کار: تهران - نیمه حضوری

⚙️ صنعت: فین‌تک

🌟 مهارت‌های کلیدی:
• مسلط بر توسعه نرم‌افزار با .Net
• مهارت رهبری و مدیریت تیم
• مهارت حل مسئله

📩 برای ارسال رزومه می‌توانید از طریق این لینک و یا آیدی تلگرام @HRBamboosHeadHunter اقدام نمایید.
-------------
برای اطلاع از آخرین موقعیت‌های شغلی ما را در لینکدین و واتساپ دنبال کنید.

#Senior_DotNet_Engineer #DotNet #موقعیت_شغلی #استخدام
Forwarded from Learning With M (Masoud DaneshPour)
از OOP بگی، از S.O.L.I.D بگی و از Coupling & Cohesion نگی، اشتباه کردی.
هرچه قدر استفاده از S.O.L.I.D توی مصاحبه ها زیاده و فهمش کمتر، Coupling & Cohesion مفهومیه که نه تنها بهش پرداخته نمیشه، بلکه فهمش هم مهمتره به نظرم.

حالا این دو تا بچه چی هستند ؟
Coupling
این مهفوم بسیار جذاب حرفش در مورد اتصال های بی مورد و یا نادرسته، وقتی این مفهوم رو نشناسی کلا نمی بینیش، ولی وقتی باهاش آشنا میشی همه جا میاد جلو چشمت(یه مدت مدیدی من به کاپلینگ می گفتم کوپلینگ!)
حالا حرفش چیه؟ میگه آقا انقدر همه چیز رو به هم اتصال نده، اتصال دادن خوبه ها ولی تهش بدبختیه، هرچی بیشتر وصل باشی مثل ریشه تو خاک یک درخته، بعدا نمی تونی درش بیاری، نکنه نشه، انرژی زیادی می بره.
Coupling انواع مختلفی داره که شامل موارد زیر هست، فقط حواسمون باشه که این موارد از بدتری به بهترین هستند :

Content Coupling: ماژولی مستقیماً در کد داخلی ماژول دیگر تغییر ایجاد می‌کند.
Common Coupling: ماژول‌ها متغیرهای سراسری مشترک دارند.
External Coupling: ماژول‌ها به منبع خارجی یکسانی وابسته‌اند (مثل فایل یا دستگاه مشترک).
Control Coupling: یک ماژول رفتار ماژول دیگر را از طریق پارامترهای کنترلی تعیین می‌کند.
Stamp Coupling: ماژول‌ها ساختار داده پیچیده‌ای را به اشتراک می‌گذارند، اما همیشه به کل آن نیاز ندارند.
Data Coupling: ماژول‌ها تنها داده‌های مورد نیاز را به شکل پارامترهای ساده تبادل می‌کنند (بهترین حالت).



Coupling یه مفهوم خیلی جالبه که بعدا بشتر در مورد انواعش صحبت می کنم و مواردی مثل Afferent و Efferent رو باز می کنم. قول می دم 😉

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

Coincidental Cohesion: وظایف نامرتبط به‌صورت تصادفی در یک ماژول جمع شده‌اند.
Logical Cohesion: وظایف مشابه از لحاظ نوع (نه هدف) در یک ماژول قرار دارند و با کلیدهای کنترلی انتخاب می‌شوند.
Temporal Cohesion: وظایف مرتبط با یک نقطه زمانی مشترک (مثلاً راه‌اندازی برنامه) در یک ماژول هستند.
Procedural Cohesion: وظایف در یک ترتیب مشخص برای رسیدن به یک هدف کلی اجرا می‌شوند، ولی داده مشترک ندارند.
Communicational Cohesion: وظایف حول یک داده یا داده‌های مرتبط مشترک عمل می‌کنند.
Sequential Cohesion: خروجی یک وظیفه ورودی وظیفه بعدی است، تشکیل زنجیره‌ای معنادار.
Functional Cohesion: تمام وظایف ماژول برای انجام یک کار واحد و مشخص به صورت متمرکز طراحی شده‌اند (بهترین حالت)


حالا شما به من بگید، Functional Cohesion مثل کدوم مفهومی می مونه که تا الان یاد گرفتیم ؟
4👍1
Forwarded from tech-afternoon (Amin Mesbahi)
📽 توضیح تکمیلی بر تحلیل ساختارمند بدهی فنی (کوادرانت فاولر)
پیش از هر چیز از دوستانی که با ری‌اکشن 🤓 برای بررسی عمیق‌تر موضوع بدهی فنی، ابراز علاقه کرده بودند متشکرم.

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

مقدمه: (0:00)
تعریف بدهی فنی: (0:37)
خصوصیات رایج بدهی‌های فنی: (3:15)
انواع بدهی فنی: (5:40)
لزوم بررسی ساختارمند بدهی فنی: (7:28)
کوادرانت (ربع‌بندی) مارتین فاولر: (12:30)
نوع اول-آگاهانه و منطقی: (13:30)
نوع دوم-ناخواسته و محتاطانه: (15:10)
نوع سوم-آگاهانه و غیرمسئولانه: (16:41)
نوع چهارم-ناآگاهانه و بی‌پروا: (17:37)
سایر طبقه‌بندی‌ها: (18:51)
جمع‌بندی: (22:35)

خیلی خوشحال می‌شم تا بهانه‌ای باشه برای هم‌فکری و گپ و گفت بیشتر 🌱💬😊
👍8
#رویداد_حضوری

⭐️ارتباط مؤثر در فرآیند توسعه محصول

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

مخاطب این رویداد:
مدیران محصول، طراحان محصول و توسعه‌دهندگان نرم‌افزار

ارائه‌دهندگان:
آرزو کریم‌پور - اجایل کوچ علی‌بابا
مسعود دانش‌پور - چپتر لید علی‌بابا
علیرضا پوریوسف - بنیانگذار رترو

زمان:
پنجشنبه ۲۹ آذرماه - ساعت ۱۰ الی ۱۳

مکان:
کارخانه نوآوری آزادی، دفتر روز اول علی‌بابا

ثبت نام از طریق لینک زیر:
retro.college/event
(ظرفیت محدود است)

درآمد حاصل از فروش بلیط این رویداد به خیریه رامونا اهدا خواهد شد.

(تفاوت بلیط اول و دوم فقط در عدد اهدایی شما برای خیریه خواهد بود)

در صورتی که سوالی داشتید میتونید از اکانت ادمین بپرسید:
@RetroAdmin

به امید دیدارتون در این رویداد

@RetroProduct
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
به نظرم https://www.meilisearch.com جزو مظلوم ترین، محجور ترین و بهترین سرویس هاست.
سرچ Refhub.ir رو روش بستیم و عشق میکنیم با نتیجه ش
🔥7👍1
. این نقطه رو میگذارم اینجا، یه روز برمیگردم، بهتون میگم جریانش چی بود. فقط بدونید خوبس 😁
💯91