برای انتقال تعداد بالای فایل لازم است، انتقال به صورت موازی راه مناسبی است. یک راه استفاده از lftp و mirro است.
https://www.cyberciti.biz/faq/lftp-mirror-example/
http://moo.nac.uci.edu/~hjm/HOWTO_move_data.html#_parallel_rsyncs
برای انتقال تعداد بالای فایل لازم است، انتقال به صورت موازی راه مناسبی است. یک راه استفاده از lftp و mirro است.
https://www.cyberciti.biz/faq/lftp-mirror-example/
http://moo.nac.uci.edu/~hjm/HOWTO_move_data.html#_parallel_rsyncs
برای دور زدن رجیستری تحریم شده npm میتوانید از رجیستریهای جایگزین مانند https://iranrepo.ir/#npm استفاده کنید.
همچنین در فایل Dockerfile نیز میتوانید دستور RUN npm install را به صورت زیر تغییر دهید.
RUN npm install --registry=https://npm.iranrepo.ir/
سرویس داکر در ایران به دلیل تحریم، در دسترس نیست. به این صورت که هنگام دریافت ایمیجها با خطای زیر روبهرو میشوید.
Get "https://registry-1.docker.io/v2/": net/http: TLS handshake timeout
یک راه حل ساده استفاده از رجیستری جایگزین است. بر اساس مستندات داکر درمورد رجیستری جایگزین، برای تغییر رجیستری به https://docker.dockerme.ir فایل /etc/docker/daemon.json را به صورت زیر ویرایش کنید.
{
"registry-mirrors": ["https://docker.dockerme.ir"]
}
یک فایل سیستم توزیع شده (DFS)، هر فایل سیستمی است که امکان دسترسی به فایلها را از چندین میزبان به اشتراک گذاشته شده از طریق یک شبکه کامپیوتری فراهم میکند. این امکان را برای چندین کاربر در چندین ماشین فراهم میکند تا فایلها و منابع ذخیره سازی را به اشتراک بگذارند.
فایل سیستمهای توزیعشده در عملکرد، تغییرپذیری محتوا، مدیریت نوشتن همزمان، مدیریت از دست دادن دائمی یا موقت گرهها یا ذخیرهسازی، و سیاست ذخیرهسازی محتوا متفاوت هستند.
منبع: https://en.wikipedia.org/wiki/Comparison_of_distributed_file_systems
باندلینگ یا بستهبندی یکی از مراحل توسعه در زبان جاوا اسکریپت است.
در توسعه مدرن جاوا اسکریپت، کد شما وابستگی زیادی به ماژولهای جاوا اسکریپتی دیگر دارد که معمولا در مسیر node_modules ذخیره شدهاند.
اما در نهایت مرورگر به چند فایل جاوا اسکریپت که همه نیازمندیهای اپلیکیشن را شامل میشود نیاز دارد. بنابراین کد نوشته شده توسط شما و همه پیش نیازهای آن که در مسیر node_modules قرار دارد باید در چند فایل جاوا اسکریپت نهایی ذخیره شوند.
ابزارهای Bundling با همین منظور توسعه داده شدهاند. برای مثال ابزار esbuild به صورت زیر کدها را بستهبندی میکند.
کد شما که به پکیجهای react و react-dom نیاز دارد را در نظر بگیرید:
npm install react react-dom
فایل app.jsx شامل کد زیر است:
import * as React from 'react'
import * as Server from 'react-dom/server'
let Greet = () => <h1>Hello, world!</h1>
console.log(Server.renderToString(<Greet />))
باندل کردن کد توسط esbuild:
./node_modules/.bin/esbuild app.jsx --bundle --outfile=out.js
این کد دیگر به مسید node_modules نیاز ندارد و همه چیز در فایل out.js قرار گرفته است. آن را توسط دستور node out.js اجرا کنید.
<h1 data-reactroot="">Hello, world!</h1>

بیت کوین همانند طلا کاربرد ذخیره ارزش دارد. مردم بیت کوین را با هدف حفظ ارزش پول خود خریداری میکنند و نگهداری میکنند. اما در کنار این کاربرد بیت کوین، میتوان از قابلیتهای دیگر آن هم به نفع کسب و کار خود استفاده کنید. پذیرفتن بیت کوین به عنوان روشی برای پرداخت!
بیت کوین در کنار همه چیزهایی که هست، در واقع یک واحد پولی است. شما میتوانید بهای کالا و خدمات خود را در واحد بیت کوین اعلام کنید و کاربران شما نیز میتوانند به بیت کوین صورت حساب خود را پرداخت کنند.
اضافه کردن یک روش پرداخت جدید کار خاصی نیست، اما اگر ارز مورد نظر بیت کوین باشد، مزیتهایی دارد که در ادامه به برخی از آنها اشاره میکنیم.
راه اندازی درگاه پرداخت بیت کوینی بسیار ساده است، شما به هیچ سازمان یا شرکت دیگری وابسته نیستید. لازم نیست برای دریافت درگاه بیت کوین ابتدا برای ای-نماد و سپس برای درگاه بانکی، مدتها وقت بگذارید. تنها چیزی که لازم دارید یک آدرس کیف پول برای دریافت پول از مشتریان است.
اگر از نرم افزارهایی نظیر WordPress استفاده میکنید، به کد نویسی هم نیاز ندارید و تعدادی پلاگین بیت کوینی آماده برای شما وجود دارد.
بیت کوین یک ارز مجازی بدون نهاد مرکزی است، این ارز دیجیتال برای هیچ کشور یا نهادی نیست. از طرفی مقبولیت جهانی دارد.
بنابراین اگر خدمات شما میتوانند به خارج از کشور ارائه شوند، با بیت کوین به راحتی میتوانید به فکر مشتریان خارجی و درآمد بیت کوینی (بهتر از درآمد دلاری) باشید.
هویت مشتری زمانی که به بیت کوین پرداخت میکند، نا مشخص است. بنابراین ممکن است مشتریانی باشند که این موضوع برای آنها جذاب باشد. با قبول بیت کوین کسب و کار شما مشترین جدیدی پیدا خواهد کرد.
نمودار توالی UML نشان میدهد که چگونه مجموعهای از اشیاء در طول زمان در یک فرآیند تعامل دارند. این نمودار پیامهایی را که بین شرکت کنندگان و اشیاء موجود در سیستم تبادل میشود و ترتیب وقوع آنها را نشان میدهد.

در نمودار توالی فرآیند دستگاه ATM پیامهای رد و بدل شده میان کاربر و دستگاه از زمان ورود کارت به داخل دستگاه، تا زمان دریافت پیام تشکر از سمت دستگاه، نشان داده شده است.
برای ایجاد نمودار توالی، از قالب UML Sequence یا قالب Starter diagram استفاده کنید، این دو قالب شامل اشیاء مورد نیاز برای رسم نمودار توالی در شابلون ویزیو هستند. برای ایجاد نمودار باید این اشیاء را از شابلون به داخل کادر بکشید و نمودار خود را ایجاد کنید.
برای هریک از مشارکت کنندگان یک Actor lifeline و برای هر یک از اجزای سیستم یک Object lifeline اضافه کنید.

برای مشخص کردن پیامهای مبادله شده بین lifeline ها از شکل Message استفاده کنید.


آشنایی با حملات منع سرویس به عنوان تهدیدی برای موفقیت یک وبسایت، برای وبمسترها لازم است. حملات منع سرویس ممتد و طولانی میتواند باعث از دست دادن مشتریان شود. از سوی دیگر رقبای شما میتوانند با حملات کوچک و از دسترس خارج کردن وب سایت شما تنها برای 30 دقیقه در روز به مدت یک ماه، تمامی تلاش شما برای افزایش رنک در موتورهای جستجو را از بین ببرند و به سئوی شما لطمه جدی وارد کنند.
حملات منع سرویس (محروم سازی از سرویس – انگلیسی: Denial of Service – به اختصار: DoS) تلاش مخربی است که در دسترس بودن سرویس را هدف قرار میدهند و تلاش میکنند سرویس مورد نظر را مختل کنند. یک شبکهی کامپیوتری یا یک وبسایت خدمات رسانی میتوانند هدف حملات دیداس قرار گیرند.
معمولا حمله کننده تعداد زیادی درخواست یا پکت برای سیستم هدف ارسال میکند و ظرفیت آن را پر میکند. بنابراین سیستم هدف دیگر نمیتواند به سرویسدهی خود ادامه دهد.
در حالت حملات منع سرویس توزیع شده (انگلیسی: Distributed Denial of Service – به اختصار: DDoS) حمله کننده از چندین سیستم برای حمله استفاده میکند.
حمله میتواند در هر یک از لایههای Open Systems Interconnection (OSI) انجام شود. لایههایی که بیشتر مورد حمله قرار میگیرند عبارتند از شبکه (لایه 3), ترنسپورت (لایه 4), پرزنتیشن (Layer 6) و اپلیکیشن (لایه 7).
| # | لایه | کارکرد | مثال |
| 7 | اپلیکیشن | داده | HTTP floods, DNS query floods |
| 6 | پرزنتیشن | داده | SSL abuse |
| 5 | سشن | داده | N/A |
| 4 | ترنسپورت | سگمنت | SYN floods |
| 3 | شبکه | پکت | UDP reflection attacks |
| 2 | دیتا لینک | فریم | N/A |
| 1 | فیزیکی | بیت | N/A |
زمانی که به راههای مقابله با حملات منبع سرویس فکر میکنیم، میتوانیم این حملات را به دو نوع حمله به زیر ساخت (لایه 3 و 4) و حمله به اپلیکیشن (لایه 6 و 7) دستهبندی کنیم.
حملات به لایههای 3 و 4 به حملات مربوط به زیرساخت شناخته میشوند. این نوع حملات بیشتر انجام میشوند. حمله SYN flood و UDP flood انواعی از این نوع حملات هستند. در این حملات ظرفیت شبکه و سرور هدف قرار میگیرد. خوشبختانه نشانههای این نوع حملات واضح است و راه مقابله با آن نیز مشخص است.
این حملات کمتر انجام میشوند اما در صورتی که بخش سنگینی از اپلیکیشن را هدف قرار دهند، میتوانند به سرعت ظرفیت سرور را به خود مشغول کنند.
حمله HTTP flood به صفحاتی که از حافظه پنهان استفاده نمیکنند (مانند صفحه لاگین)، حمله به یک API سنگین برای جستجو یا حملات خاص تر مانند XML-RPC floods در نرم افزار وردپرس، نمونههایی از این حملات هستند.
در اولین گام بهتر است گزینههای در دسترس برای حمله را کاهش دهیم. پورتها، پوروتکلها یا حتی جاهایی که انتظار ندارید از آنجا مشتری داشته باشید را محدود کنید.
استفاده از CDN و Load balancer برای کاهش بار روی سرور اصلی و محدود کردن دسترسی به زیرساخت مانند Database server شروع خوبی است. همچنین استفاده از Firewall برای کنترل ترافیک ورودی لازم است.
یک راه حل عملیاتی قرار گرفتن پشت یک WAF و مخفی کردن IP است. برای اینکار میتوانید از Cloudflare استفاده کنید. دقت کنید که اگر IP شما در گذشته آشکار شده است، باید IP خود را تغییر دهید. اطلاعات تاریخچه DNS در اینترنت موجود است و هکر میتواند IP شما قبل از قرار گرفتن پشت WAF را پیدا کند. سپس با استفاده از Firewall همهی پورتها را ببندید و دسترسی HTTP را فقط برای Cloudflare باز کنید.
در صورت پیاده سازی معماری مقیاس پذیر برای سرویس، مطمئن میشوید سرویس شما تحت هیچ شرایطی از دسترس خارج نخواهد شد. در این حالت حمله هکرهای تنها باعث افزایش هزینههای شما خواهد شد، اما سرویس همچنان به فعالیت خود ادامه خواهد داد.
در صورت تشخیص منبع ترافیک میتوانید به راحتی سرویس دهی با آن را قطع کنید. به خاطر داشته باشید که هکر برای فرآهم کردن Botnet یا زامبی به منظور حمله به شما، هزینههایی پرداخت میکند. بنابراین با بستن منبع حمله هزینههای حمله را بالا میبرید. با اینکار میتوانید قدرت هکر برای حمله را کاهش دهید.