
مهمترین نکات در باب مدیریت فایل در اپلیکیشنهای وبسایت و موبایل
۱۴۰۰/۰۹/۰۲
مهمترین نکات در مدیریت فایلها دراپلیکیشنهای وبسایت و موبایل که باید توجه کنید
حجم فایلها
یه مسأله مهم درمورد وب سایت ها و اپ ها مهمه اینه که توی سامانهای مثل شبکه اجتماعی اینستاگرام که مدیا و چند رسانهای، خیلی وقتها کاربران باید فایل، فیلم یا عکسهاشون رو آپلود کنن و همچنین در بعضی از نرم افزارهای پیام رسان مثل تلگرام وویس آپلود میکنند و همه اینا باید به صورت فایل ثبت و ذخیره سازی بشه.
اتفاقی که میفته در وب سایتها و اپلیکیشنها اینه که با گوشیها و ادوات مختلف و فرمت های متفاوت فایلهایی که آپلود میشه، حجم و اندازه فایل متفاوت و متغیره؛ اگر بنا باشه که تمام این فایل ها با هر اندازه و با هر حجمی آپلود بشه و بعضیهاشون هم چند باره و چند باره آپلود بشن، به واسطه اینکه همه اینها یه جایی باید ذخیره بشن به زودی حجم بخش ذخیره سازی سامانه پر میشه و حتی ممکنه اگر به موقع به حجم حافظه ذخیره سازی اضافه نشه سامانهها از کار بیفتن.
کلن در مورد تهیه سرورهای لازم و ضروری برای سامانههای وب و موبایل، ادوات ذخیره سازی ارزون نیستن، هر چه سریعتر باشن قیمتشون هم بالاتره.
بنابراین هم برنامه نویسان و هم مسئول سرور بایستی بدون اینکه به کیفیت فایلهای کاربران خدشهای وارد بشه منابع ذخیره سازی رو مدیریت کنن براین اساس چندتا راهکار وجود داره که هم در سمت برنامه نویسی باید تمهیداتی اندیشیده بشه هم سمت سرور.
در سمت برنامه نویسی اون بخشی که کاربر داره از موبایل خودش دیتایی رو آپلود میکنه قبل از هر چیز باید دید اندازه و حجم قابل قبول برای ارسال به چه شیوهای و به چه شکلیه. در نرم افزاری مثل تلگرام شما در دو حالت میتونید عکس رو ارسال کنید؛ به صورت یک فایل ارسال بشه یا به صورت یک عکس:
وقتی که به صورت یک عکس ارسال میکنید نرم افزار تلگرام روی گوشی شما قبل از اینکه اون رو به سمت سرور ارسال بکنه اندازه فرمت و حجم عکس رو تغییر میده به این منظور که با حفظ حداکثر کیفیت حداقل حجم عکس یا فایل رو به دست بیاره و بعد ارسال کنه. این موضوع هم برای صرفه جویی در ادوات ذخیره سازی انجام میشه و هم برای سرعت بالاتر
مسلمن هر چه حجم یک فایل بالاتر باشه انتقالش هم طولانیتر میشه. بنابراین یکی از موارد اینه که سمت اپلیکیشن که کاربر داره باهاش کار میکنه قبل از ارسال به سمت سرور تغییرات روی فایل به این منظور انجام شده باشه.
در مرورگرها این اتفاق امکانش نیست چون مرورگر اجازه دسترسی به فایل های اشخاص رو نداره منتها اگر که از یک وب_اپلیکیشن استفاده بشه امکان اینکه از فایل یک کپی ساخته بشه و اون کپی به صورت فشرده سازی شده و تغییر اندازه داده شده ارسال بشه وجود داره و اگر وجود نداشته باشه معمولا وب سایت ها به کاربر اعلام میکنند که حجم فایلی که میخوان ارسال کنند از یه حدی بیشتره و خود کاربر باید اقدام به کاهش حجم عکس یا ویدئو بکنه.
این مسأله کمی ممکنه دردسر ساز باشه چون وقتی سمت کاربر میخواد این اتفاق بیفته، سطح دانش متفاوتی که کاربرها ممکنه داشته باشن به کاهش کیفیت فایل هم منجر بشه ولی به هر حال مهم و مسلمه اینه که این فایل سمت دستگاه کاربر انجام میشه و بعد سمت سرور ارسال میشه.
مدیریت همزمانی ارسال فایلها
مبحث دیگه ای که وجود داره در مدیریت فایل اینه که نرم افزارهایی که با کاربرهای زیاد در حال تعامل هستن باید همزمانی ارسال فایل ها رو مدیریت کنن چرا که پهنای باند هر سرور محدوده اگر قرار باشه پهنای باند سرور در اختیار همه کاربران به صورت یکجا و همزمان قرار بگیره باعث کندی بیش از اندازه سامانه و نارضایتی کاربران میشه بنابر این مدیریت صف آپلود برای فایل های ارسالی هم اهمیت داره وقتی که فایل ها به سرور میرسن بحث مهمش اینه که مجددن تست بشه که این فایل ها درست رسیدن، یک شیوه های وجود داره که سمت سرور میشه فهمید که این فایل ها از مبدا درست به مقصد رسیدن.
نحوه جایگذاری فایلها
بعد از اون نحوه جایگذاری فایل ها روی سرور و ادوات خیره سازی هست که اهمیت داره؛
به این معنی که به هر حال وقتی فایل های رو کاربران سمت سرور ارسال میکنند قرار هست توسط خودشون و دیگر کاربران مجددن فراخوانی بشه و دیده بشه بنابراین برای اینکه از سمت سرور هم این فایلها به درستی به سمت دستگاه کاربران ارسال بشه باید طبقه بندی و فولدر بندیهایی انجام داد و همچنین مسائلی که باید در مورد نامگذاری فایل انجام داد؛
ممکنه که کاربران اسامی فایلهاشون رو به درستی انتخاب نکنن بخشیش ممکنه فارسی و بخشی انگلیسی باشه یا از کاراکترهای نامعتبر در اسم فایل استفاده کرده باشن. بر این اساس بایستی نامگذاری فایلها هم به گونهای باشه که مشکلی برای پلتفرم های مختلف، برای خواندن فایل ها به وجود نیاد و البته اینکه نام اصلی فایل در بعضی مواقع ذخیره بشه که اگر کاربر با نامی که خودش فایل رو ارسال کرده، طلب کنه، امکان آدرس دهی فایل باشه.
موضوع دیگه ای که وجود داره اینه که کاربر وقتی که میخواد از لیست فایلهایی که ارسال کرده فایلی رو انتخاب کنه یا از فایلهایی که روی سرور هست فایلی رو انتخاب کنه که چه خودش و چه دیگران اون فایل رو آپلود کرده باشن بایستی با شیوه مناسبی به اون فایل ها دسترسی پیدا کنه.
هر چقدر که این فایل ها بیشتر باشه کنترل و جستجوی بین اون ها زمانبرتر و پیچیده تر میشه بسته به اینکه حجم فایل ها چقدر بوده قاعدتن برای جستجو، فیلتر کردن لازم نیست که فایل اصلی به کاربر نشون داده بشه بنابر این یک عکس کوچکتر که نماینده عکس بزرگترها با حجم بسیار پایین تر به شخص نشون داده میشه که پیش نمایشی از عکس اصلی داشته باشه و اگر اون رو میخواد ، اگر که انتخاب کرد اقدام به دانلود بشه این کار هم در جهت افزایش سرعت جستجو برای کاربر انجام میشه و هم برای بهینه استفاده کردن از پهنای باند و انتقال داده در بستر اینترنت.
سایز و فرمت فایلها
درمورد فایلهای عکس و تصویر یک موضوع دیگه هم ممکنه پیش بیاد؛ ممکنه این سامانه استاندارد مشخصی از نظر اندازه و ابعاد فایل در نظر گرفته باشه و بگه باید از طول و عرض مشخصی استفاده بشه. در این زمینه اصطلاحا برش یا کراپ تصویر اهمیت پیدا میکنه که یا حتما از کاربر خواسته میشه که در اندازه مشخصی برش داده بشه و یا بعد از اینکه عکس رو روی سیستم خودش مشخص کرد، سمت کاربر نرم افزار ازش میخواد که با ابزاری که خود نرم افزار در اختیارش قرار داده تعیین کنه عکس از کجا برش بخوره که به طول و عرض مشخص سامانه برسه. راه دیگه اینه که بعد از اینکه عکس رو آپلود کرد به سمت نرم افزار، سرور عکس رو در اون ابعاد و اندازهای که سرور تعیین کرده نمایش داده میشه که در این صورت ممکنه بعضی از بخشهای عکس که اهمیت داشته هم نمایش داده نشه.
درمورد فایل فیلم با توجه به اینکه معمولن فیلمها هر چه کیفیت اندازه نمایش فیلم بالاتر باشه حجم اون فیلم هم بالاتر میره، سامانههایی که کارشون پخش فیلم هست ورژن های مختلفی از یک فیلم رو تهیه میکنن و بر اساس سرعت اینترنت کاربری که میخواد فیلم رو ببینه، تصمیم میگیرن کدوم نسخه رو به فرد نمایش بدن که نمایش فیلم منقطع نباشه و دچار اختلال نشه. در مورد این هم ورژن های مختلف فایل به فرمتهای بهینهی قابل پخش در اینترنت تبدیل میشه چون کاربر ممکنه خودش با موبایل پیشرفته خودش فیلم رو با فرمتی گرفته که اون فرمت استاندارد تحت وب نیست. به هر حال نرم افزاری که میخواد عملکرد مناسبی داشته باشه باید بتونه اون فایل رو تحویل بگیره، درست بخونه و تبدیلش کنه به فرمت استانداردی که تحت وب هست.
در مورد فایلهای صوتی هم و همچنین؛ فایلهای صوتی هر چقدر که با کیفیتتر باشن حجمشون هم بالاتره. مخصوصا فرمتهای مختلفی که برای فایلهای صوتی وجود داره تغییرات حجم فایلشون زیاده؛ یعنی به یکباره ممکنه ۲۰ برابر اختلاف حجم فایل wav باشه نسبت به یک نسخه mp3 و فشرده شده باشه. بر این اساس کاری که باید سمت سایت انجام بشه اینه که تبدیل فرمت استاندارد بدون افت کیفیت زیاد انجام بگیره.
امنیت فایلها
یک مورد دیگه درمورد فایلهای اسنادی هستن فایلهایی مثل ورد، اکسل پی دی اف که بر اساس ورژن آفیس ممکنه که پسوندهای مختلفی هم داشته باشن در بعضی از این فایلها امکان ماکرونویسی و برنامه نویسی هم وجود داره برای همینم در مورد پذیرش این فایلها هم از سمت سرورحساسیتهایی وجود خواهد داشت. همچنان باید مطمئنم بشیم که فایلها پاک هستن و تا جای ممکن امکان ارسال فایلهایی مثل اکسل و ورد رو از سمت کاربر میگیرن و نسخه پی دی اف که نسخه لایه بسته فایل اسنادی هست رو میپذیرن.
در این مورد معمولن فشرده سازی یا تغییر فرمت خیلی ممکن نیست چون ممکنه که تغییر فرمت یا ورژن به محتویات خود فایل آسیب بزنه. اما به هر حال برای اینکه امنیت سامانه و سرور حفظ بشه بایستی قبل از اینکه این فایلها به سمت سرور ارسال بشن و بعد از اینکه به سرور رسیدن هر دوبار، مورد آزمون امنیتی قرار بگیرن تا مطمئن بشیم این فایلها مشکلی از نظر امنیتی برای سرور ایجاد نمیکنند.
یه مسأله مهم دیگه اینه که غیر از فایلهای استاندارد و مشخص، اجازه ارسال فایلهای متفرقه نباید داده بشه. نمیشه یک اپلیکیشن اجرایی رو به راحتی اجازه بدیم از سمت کاربر به سمت سرور ارسال بشه؛
به این خاطر که ممکنه اون فایل اجرایی، وقتی به سرور رسید خود به خود، خودش رو اجرا کنه و مشکل زیادی از نظر ایمنی اطلاعاتی در سرور ایجاد بشه.
برای همین نوع فایل هایی که قابل ارسال هست از قبل مشخص شده و حتمن چک میشه که نوع فایلهای ارسالی با استانداردهایی که اپلیکیشن میتونه قبول کنه یکسان باشه.