tgindex
Clang
@clangpvперсидский

یه کانال شخصیه برای تمرین C. این کانال مثل یک دفترچه یادداشته واسه من، نه یک جایی که محتواش رو تضمین کنم برای همه همچنین سعی کنید نکاتی که اینجا میگم رو با افراد حرفه ای به اشتراک بزارید و به چالش بکشید، من از خدامه بهتر شم. https://t.me/ccismywife

Последний пост
14 авг.
Последнее чтение
15 авг.
Постов за неделю
1
Всего постов
39
Тип
открытый
Язык
персидский
В каталоге с
13 авг.
Подписчики
221
−1 за 1 дн.
Сутки
0
0,00%
Неделя
 
Месяц
 
Просмотров на пост
180
39 постов
Вовлечённость
81,4%
к подписчикам
Постов в день
0,1
всего 39
Упоминаний
0
каналов
Охват размещения
оценка
1/24сутки в ленте
7
1/48двое суток
8
1/72трое суток
8

Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.

Посты

  • دارم روی بعضی از فایل های موتور RAGE کار میکنم و میشه معنی پارگی رو اینجا فهمید، Telltale شوخی بود...

  • این کد توی فارسی سازی بازی هایی که از rtl پشتیبانی نمیکنن خیلی مفید و مهمه، کد من نیست از استک اور فلو پیداش کردم، فقط برای پروژه TelltaleLocalizationTool(منظورم این نیست) یک سری تغییرات توش اعمال کردم. بعداً مستندات ابزار TelltaleLocalizationTool هم به اشتراک میزارم فعلاً درگیر یک کار دیگه ام، فقط در همین حد بگم: روی نسخه اندروید بازی WD3NF(یا هر بازی که از MSV6 و D3dtx9 و landb استفاده میکنه)، فایل های landb و font و d3dtx رو کامل باز کردم و توی C# پیاده سازی کردم و تبدیلات لازم(تبدیل fnt به font یا dds به d3dtx یا...) رو اوکی کردم. تجربه جالبی بود، هر چند هنوز کاملش نکردم یکمش مونده تا تکمیل بشه و فارسی سازی بازی رو ساده کنم. اگرم به ماد بازی علاقه دارید، حتماً C# یاد بگیرید چون اکثر ابزار ها با این زبان نوشته شدن. به یادگیری ساخت ماد برای بازی ها ادامه میدم و مطالبی در این باره منتشر میکنم. #نکته: توی اکثر پروژه های فارسی سازی، به این کد نیاز دارید(جدا از بحث ساخت فونت های اختصاصی!) با تشکر از شایان عدالت منش بابت پیاده سازی الگوریتم

  • راستشو بخواید من دانشگاه نرفتم، ولی درباره بعضی از استادا چیزایی شنیدم که با خودم میگم یک نفر چقدر میتونه عقده ای باشه و مادر****؟ خدا رحم کرد اینا استادن قاضی نیستن، مثلاً کار از دستشون بر میاد برای کمک ولی میگن نمیتونم یا اصلا درس نمیدن و سوالاتی میارن کت خودشونم ممکنه نفهمن چی گفتن و مدام لج میکنن و اذیت میکنن و میگن اگه فکر میکنید استادتون سخت گیره سخت در اشتباهید و بعداً می‌فهمید مدیریتون از استادتون سخت گیر تره چون امنیت شغلی استادتون رو نداره و همین چرتو پرتا و خودشون یک جوری دست بالا میگیرن انگار نوبل دارن و خفن تر از اونا نیست. بدیهی هستش که منظورم همه استادا نیست و عده قلیلی هستن که اینقدر کسکشن... باور کنید آدمایی پیدا میشه که یا رشتشون یک چیز دیگه اس یا اصلا دانشگاه نرفتن ولی کارایی میتونن بکنن که همین استادای گنده گوز پشماشون بریزه... والا... دلم پر بود، دو سه مورد ازشون رو دیدم این مدت و تنها تریبونم همینجا بود.... #دلنوشته

  • https://youtu.be/r9zpNPg53lg?si=RYCTng7F5WFnGR0-

  • без подписи

  • درود دوستان، نسخه نخست پلتفرم «وبها» (Webha) تا ۱۸ روز آینده رسماً راه‌اندازی خواهد شد. اگر هنوز با کارکرد وبها آشنایی ندارید، باید اشاره کنم که این سرویس یک پلتفرم وبلاگ‌نویسی نسل سوم محسوب می‌شود؛ پروژه‌ای که با هدف مدرن‌سازی و احیای مجدد فرهنگ وبلاگ‌نویسی پا به عرصه وجود گذاشت. اما در طول مسیر توسعه، چشم‌انداز ما گسترش یافت و تمرکز پلتفرم به سمت ایجاد فضایی امن و اختصاصی برای وبلاگ‌نویسان، نویسندگان، روزنامه‌نگاران، تولیدکنندگان حرفه‌ای محتوا و تمامی علاقه‌مندان به داشتن یک رسانه شخصی مستقل معطوف شد. در این راه، برای دستیابی به بالاترین سطح عملکرد و شخصی‌سازی، توسعه تمامی زیرساخت‌ها را خودمان بر عهده گرفتیم؛ از طراحی و پیاده‌سازی یک موتور قالب اختصاصی (Custom DSL-Like Template Engine) گرفته تا هر ابزاری که برای تحقق این ایده نیاز بود. در نسخه اول وبها، شما با هسته اصلی سیستم و تجربه کاربری (UX) متمایز نویسندگی در این پلتفرم آشنا خواهید شد. متعاقباً و به مرور زمان، قابلیت‌های امنیتی و کلیدی پلتفرم برای حفاظت از حریم خصوصی شما فعال می‌شوند؛ از جمله: سیستم نظرات خصوصی با رمزنگاری سرتاسری (E2E Encrypted Comments): برای تضمین امنیت کامل در تعاملات دوطرفه. پست‌های واقعاً خصوصی: برخلاف بسیاری از سیستم‌های سنتی که صرفاً با یک فرم رمز عبور ساده و رمزنگاری‌های آسیب‌پذیر از محتوا محافظت می‌کنند، ما معماری امنیتی عمیق‌تری را برای حفاظت از نوشته‌های خصوصی شما پیاده‌سازی کرده‌ایم. به‌زودی با دستاورد تلاش‌های شبانه‌روزی ما (یک تیم ۴ نفره)، با «وبها»، ملاقات خواهید کرد… فَرِهان - برنامه نویس سطح پایین و پروداکت منیجر وبها @webhablog

  • هیچ چیزی اندازه مدلسازی یا حل مسئله روی کاغذ نمیتونه ذهنو باز کنه مسائل پیچیده خودتون رو سعی کنید روی کاغذ مدل سازی کنید همیشه

  • یک چیز جالب توی C# متوجه شدم، object ها آدرسشون حتی توی یک بلاک ثابت نیست هنوز دارم روی ابزار Telltale localization کار میکنم، چون قبلی یک سری ایراد داشت و اصلاً کدش رو مرتب ننوشته بودم و صرفاً برای تست بود تا ببینم روشی که تو سرمه کار میکنه یا نه. بگذریم... داشتم کد های یک ابزار دیگه رو میخوندم برای تبدیلات و فشرده سازی تکسچر ها، که به یک کلمه کلیدی با نام fixed رسیدم. درباره unsafe یک چیزایی میدونستم که برای استفاده از اشاره گر ها و کد های سطح پایین تر استفاده میشه(انتزاع کمتر) ولی fixed رو اولین بار بود دیدم. بعد از جستجو متوجه شدم که دات نت آدرس object هارو هی تغییر میده، نه اینکه وقتی مثلاً یک تابع رو دوباره اجرا کنی هر بار object های توش یک آدرس بگیرن، توی همون تابع، مثلاً ده بار به یک object دسترسی داشته باشید، ممکنه آدرس فعلی نسبت به آدرس قبلی متفاوت باشه؛ بسته به اینکه GC.Collect کی اجرا بشه! مثلاً توی کد زیر، ممکنه آدرس هر دسترسی به یکی از اعضای آرایه نسبت به قبلی فرق کنه: int[] arr = new int[2] { 1, 2 }; arr[0] = 5; arr[1] = 22; arr[0] = 9; احتمالش خیلی کمه ولی موجوده که arr[0] اولی و دومی، محتوای دو تا آدرس مختلف توی حافظه رو تغییر بدن. البته توجه کنید، منظور اینه که کل آرایه جا به جا میشه نه فقط یک عنصر وگرنه اصلاً منطقی نیست خب چرا؟ همه ما میدونیم که زباله روب دات نت حافظه رو خودکار مدیریت میکنه و مواردی که نیازی بهشون نیست رو به سیستم عامل تحویل میده و اون بخش های حافظه رو آزاد میکنه. ولی برای بالا بردن سرعت تخصیص حافظه میاد و فضای خالی بین object هارو پر میکنه(منظور از فضای خالی، همون object هایی هستن که دیگه توی Managed memory اصلاً جایگاهی ندارن؛ به عبارت دیگه پاک شدن) و اینکارو با جا به جایی object و نزدیک کردنشون به هم انجام میده، این بخش در حقیقت همون Managed memory هستش. حالا fixed چیکاره اس؟ کلمه کلیدی fixed میگه چیزی که این اشاره گر بهش اشاره میکنه رو تغییر نده؛ خود اشاره گر هم همینطور! نمیگه GC اجرا نشه!!! صرفاً میگه اگه GC.Collect اجرا شد کاری به اینا نداشته باشه. یعنی کد زیر تضمین میکنه که p همیشه به یک عنصر arr[0] اشاره کنه و arr[0] تا زمانیکه توی fixed هستیم آدرسش عوض نمیشه! unsafe { fixed (int* p = &arr[0]) { *p = 666; } } جالبیش این بود که آدرس های object ها در حال تغییره و ما به خاطر انتزاع فکر میکنیم این ها همیشه یک جا هستن توی حافظه تا زمانی که پاک بشن و بیان دوباره... حافظه managed توی دات نت خیلی پویا تر از این حرفاس. البته اینم بگم اینطوری نیست که زباله روب حوصله اش سر بره بیاد object هارو هر وقت عشقش کشید در صورت نیاز حافظه هاشون رو آزاد کنه! اون مثالی که زدم از نظر تئوری ممکنه، نه قطعاً! مگه اینکه بین دستورات از GC.Collect() استفاده کنید. اگه چیزی اشتباه گفتم یا بد برداشتم کردم خوشحال میشم بگید تا یاد بگیرم. #نکته

  • خیلیا هنوز ته دلشون می‌ترسن هوش مصنوعی جاشون رو بگیره ولی به این قضیه توجه کنید که : کد نویسی، چیزی جز بیان کردن نیازمندی‌ها با دقیق‌ترین جزئیات ممکن نیستش. بنابراین اگر با یه متن به اسم پرامپت یه نفر تونست یه محصولی بسازه در واقع فقط زمین بازیش رو از کد زدن به پرامپت نوشتن عوض کرده و بجای کد پرامپت نوشته، اگر هم فرض کنیم اون متن پرامپت اونقدری ساده باشه و محصول قوی تولید کرده باشه پس با اصل قضیه در تضاده چون جزییات توش بیان نشده و محصول اون چیزی که می‌خواد نمیشه چون بیان نشده و اگر هم بخواد دقیق بیانش کنه در واقع داره کد می‌زنه! @Linuxor

  • اینترنت ایران تخمی ترین اینترنتت دنیا و ایرانسل تخمی ترین ISP دنیاس الا

  • ساخت Atlas ها و جدول Glyphها از TTF و کمبود وقت و حوصله، از یک راه در رو استفاده کردم که دقیقاً میاد و Bitmap font برام میسازه

  • بازی The Walking Dead: A New Frontier (Telltale 🎮 engine) یک بار همینطوری زد به سرم یک بازی اندروید رو بومی کنم(برای فان) و از بخت بدم بعد از سرچ کردن با این بازی رو به رو شدم و دو سه روزی هست دارم روش کار میکنم و با چالش هایی رو به رو شدم که هر جور حساب میکنم…

  • без подписи

  • طی صحبت جدیدی که با برنامه نویسا داشتم متوجه شدم که بیشتر افراد در حال حاضر به چالش های مالی برخوردند و متاسفانه یا تعدیل شدند و یا نمی‌تونند پروژه بگیرند 🤷‍♂️ همین شد که تصمیم گرفتم یه وبینار برگزار کنم و راجب تجربیات شخصی خودم از پروژه گرفتن توی شرایط جنگ صحبت کنم، این وبینار تجربه محوره و کاملا رایگانه هدفم اینه که کمکی کرده باشم در این شرایط ❤️ 🔗 ثبت نام در وبینار http://eseminar.tv/wb178333

  • طبق معمول هیچ جای دنیا به خاطر ریدمان و حماقت اونایی که هممون میدونیم کین، آدم حسابمون نمیکنن و فونت فارسی نداره

  • بازی The Walking Dead: A New Frontier (Telltale 🎮 engine) یک بار همینطوری زد به سرم یک بازی اندروید رو بومی کنم(برای فان) و از بخت بدم بعد از سرچ کردن با این بازی رو به رو شدم و دو سه روزی هست دارم روش کار میکنم و با چالش هایی رو به رو شدم که هر جور حساب میکنم ارزش وقت گذاشتن نداره ولی خو سعی میکنم انجام بشه. موتور بازی سازی مورد استفاده ازش منسوخ شده البته. 🤔تا اینجا چی داریم؟ بعد سرچ کردن توی اینترنت و قطعاً کمک گرفتن از AI یک سری ابزار خوب برای کار کردن روی بازی های Telltale پیدا کردم که خوشبختانه اکثراً با C# نوشته شدن. مثلاً TTG و Telltale Texture ولی یک ابزار پیشرفته تر و سطح پایین تر هم به اسم Telltale Inspector بود که درک خوبی بهم داد نسبت به فایل های بازی. به صورت کلی بخوام بگم: 1. این موتور از lua برای کد های بازی استفاده میکنه(کاری بهش نداریم چون تا اینجا که واقعاً به کارم نیومده) 2. این موتور بازی سازی برای مدیریت زبان ها از landb یا langdb استفاده میکنه که شامل رشته های مورد استفاده توی بازی هستن برای یک زبان خاص(توی این بازی landb) 3. ابزار TTG خیلی خوبه ولی یک سری ایرادات داره که یا فرایند کار خیلی کند میشه یا اصلاً قابل انجام نیست؛ برای همین یک بخش هایی ازش رو برای افزایش سرعت مجبور شدم تغییر بدم 4. منابع(فایل هایی که شامل متن، تکستچر و... هستن) از فرمتی به اسمه MSV6 استفاده میکنن، این فرمت در واقع یک فرمت کلی هستش که برای ذخیره و سریالیزه کردن انواع داده ها و فایل ها استفاده میشه؛ در سطح پایین به این ها میگیم Meta Stream 😵‍💫چالش اصلی از اونجایی که هدف اصلی من ترجمه و بومی سازی بازیه، باید بتونم متن هارو فارسی کنم دیگه، تازه متن هارم پیدا کردم و فرمتشون هم میدونم چیه و چطوریه داستانش ولی خو... این بازی از فونت هایی با فرمت .font استفاده میکنه که جزئی از منابع بازی محسوب میشه؛ یعنی MSV6 هست و فرمت رایجی نیست. توی این فرمت ما یک سری اطلاعات داریم: 1. لیستی از charCode های مجاز 2. یک یا چند تکستچر که کاراکتر ها به صورت گرافیکی توشن و هر کاراکتر سایز مشخصی داره 3. لیستی از مختصات چهار ظلعی هایی که هر CharCode رو وصل میکنن به یک کارکتر توی یک تکستچر خاص و این قضیه رو پیچیده میکنه چون مثلاً توی فونت انگلیسی فقط نماد های انگلیسی هستن و اگه فارسی بنویسیم کاراکتر های چرتو پرت مینویسه بازی! همچنین چالش بعدی اینه که این بازی LTR هستش و وقتی حتی از فونت عربی استفاده میکنیم(طبق معمول هیچ جای دنیا به خاطر ریدمان و حماقت اونایی که هممون میدونیم کین، آدم حسابمون نمیکنن و فونت فارسی نداره) و مینویسم "سلام"، اون رو به از چپ به راست توی صفحه میچینه: "م‌ا‌ل‌س"! و بلههههه، نمی‌نویسه "مالس(سر هم نی)"، به صورت جدا جدا می‌نویسه چون برای اتصال دو تا کاراکتر باید از دو تا charCode خاص استفاده کنیم که کارکاکتر اول مثلاً باید "ﺳ" باشه و دوم "ﻞ" تا تازه "ﻞﺳ" به دست بیاد! البته اینو با معکوس کردن میشه حل کرد(ﺳﻞ). ولی خب، این‌جا این زبان، عربی هست، و گچ پژ هم نداره! 👀راهکار چیزی که خودم بهش فکر میکنم اینه که یک مبدل ttf به font بسازم، یعنی اول ttf بعد jpg که کاراکتر ها به صورت گرافیکی توشن، بعد از jpg به d3dtx، بعدش مختصات و CharCode هر کارکتر رو به fnt تبدیل کنم، و fnt رو با d3dtx نهایی ترکیب کنم و بدم به TTG تا فونت رو بسازه.(فرمت Fnt اینجا فرمتیه که ابزار TTG از font میخونه و خروجی میده، شامل مختصات هست) بد ترین قسمتش اینه که اگه TTG نتونست، من خودم باید ترکیب نهایی رو با Parse کردن MSV6 انجام بدم، البته کتابخانه داره ولی مستند نشده. در نهایت font رو جایگزین فونت های عربی یا انگلیسی قبلی کنم. گفتنش آسوننهههه😬 🤚🏻اما قبلش... قبل از اینکه بخوام راهکار رو عملی کنم، اول اینکه معلوم نیست بتونم یا نه، ولی سعیم رو میکنم چون به نظر باحال میاد. دوم اینکه قبلش بهتره یک d3dtx بسازم که رنگش قرمز باشه کامل و بر پایه اون، یک font بسازم با مختصات junk و ذخیره کنم، و بعدش توی بازی باید مربع یا مستطیل های قرمز ببینم تا مطمئن شم درسته... —————————————— در کل اگه کسی دوست داشت توی این مسیر کمک کنه یا همکاری کنه بگه. بله دوستان، همین متن هایی که میخونیم خودش یک دنیا پشتشونه، از Encoding ها گرفته تا گرافیک و...! #بازی #تجربه

  • دارم روی ترجمه بازی های اندروید کار میکنم، صرفاً برای فان(جدا از بقیه کاربی که دارم)، تجربیاتم رو باهاتون به اشتراک میزارم، اینجا نه ولی یک کانال دیگه میزنم هم بازیارو میزارم هم روشی که تونستم ترجمه کنم. شایدم نتونم، نمیدانم...

  • گفتنی های مربوط به فایل هارو قبلاً گفتم: گفتنی 1: حداکثر تعداد فایل هایی که میتونیم باز کنیم گفتنی 2: انواع استریم متنی گفتنی 3: مفهوم Orientation در استریم ها گفتنی 4: روش اول تعیین Orientation گفتنی 5: روش دوم تعیین Orientation توسط fwide گفتنی 6: کاراکتر های عریض در یک جریان عریض😂 مطمئن هستم به مترجم گوگل تکیه کرده بودم اون زمان گفتنی7: مفهوم stateful چی چی هه؟ گفتنی 8: نمایش خطا ها(مهم هستش) گفتنی 9: چطوری یک ماکرو که روی FILE* کار میکنه میتونه خطری باشه؟ گفتنی 10: نکته ای درباره setbuf و stdin گفتنی 11: یک نکته جالب درباره ungetc گفتنی 12: از اینجا به بعد، بیشتر روی فرمت بندی خروجی تمرکز شده #یادآوری کم کم برگردیم... سخته ولی چاره ای نی

  • خفن ترین و منعطف ترین چیزی که توی برنامه نویسی دیدم، قابلیت Reflection هستش... اینقدر کارارو راحت میکنه، ولی خو یک سری ایراد هم داره قطعا، مثلا overhead اضافه داره و مثلاً از طریق رفلکشن بخواید به یک فیلد یا تابع یا... دسترسی داشته باشید، اگه اسم اون رو تو کد ها عوض کنید خطای کامپایلی در کار نیست و زمان اجرا Exception به خدمتتون میرسه...

  • بله برام بدون VPN کار نمیکنه 😂😂 شاید بپرسید چرا اصلا از بله استفاده میکنی وقتی VPN داری؟ چون کارفرما بله داره...