payamvha/North_RAG huggingface dataset:
هماهنگ و یکپارچه شوند تا یک سیستم در حال اجرا تولید شود. هر مشارکت‌کننده در فرآیند توسعه یک زبان خاص برای حل مشکلات مربوط به دیدگاه خود در سیستم دارد. چالش در یکپارچه‌سازی این دیدگاه‌های مختلف و اجتناب از کافوفونی احتمالی زبان‌های مختلف، مشکل هماهنگی است. مدل‌سازی چندوجهی خاص دامنه زمانی امیدوارکننده است که با پارادایم‌های توسعه سنتی مانند برنامه‌نویسی با یک زبان واحد و مدل‌سازی چندمنظوره مقایسه شود. برای بهره‌برداری از مزایای این پارادایم جدید، باید مشکل هماهنگی را حل کرد. این مشکل همچنین به‌عنوان مشکل
هماهنگی را حل کرد. این مشکل همچنین به‌عنوان مشکل پراکندگی در زمینه مدیریت مدل‌های جهانی شناخته می‌شود. یک پیشنهاد برای حل این مشکل، روش هماهنگی است. این یک روش سه مرحله‌ای است که برای غلبه بر موانع یکپارچه‌سازی دیدگاه‌های مختلف و هماهنگی زبان‌های مختلف ارائه شده است. این روش نحوه (1) شناسایی و (2) مشخص کردن ارجاعات میان مرزهای زبان‌ها، یعنی همپوشانی‌های بین زبان‌های مختلف را تجویز می‌کند. در نهایت، این روش پیشنهاد های مشخصی برای (3) اعمال این دانش در توسعه واقعی در قالب انطباق، ناوبری و راهنمایی ارائه
واقعی در قالب انطباق، ناوبری و راهنمایی ارائه می‌دهد. مثال تشویقی سیستم‌های سازمانی مبتنی بر زبان‌های خاص دامنه متعدد بسیار رایج هستند. زبان‌هایی که متامدل آن‌ها در زبان نشانه‌گذاری قابل گسترش (XML) تعریف شده است، به‌ویژه در حال گسترش هستند. برای نشان دادن توسعه با زبان‌های متعدد، از یک مطالعه موردی استفاده می‌کنیم: سیستم Apache Open For Business (OFBiz). به طور خلاصه، OFBiz یک سیستم برنامه‌ریزی منابع سازمانی است که شامل اجزای استاندارد مانند موجودی، حسابداری، تجارت الکترونیک و غیره است. این اجزا با ترکیبی
تجارت الکترونیک و غیره است. این اجزا با ترکیبی از زبان‌های مبتنی بر XML و کدهای جاوا معمولی پیاده‌سازی شده‌اند. به عنوان یک مثال، ما بر روی بخش مدیریت محتوا تمرکز می‌کنیم، به‌ویژه یک مورد استفاده که در آن کاربر مدیریتی یک نظرسنجی آنلاین ایجاد می‌کند، همانطور که در اسکرین‌شات زیر نشان داده شده است. این مثال را "مثال ایجاد نظرسنجی" می‌نامیم. شکل یک اسکرین‌شات از رابط کاربری مدیریتی برنامه مدیریت محتوا در یک نمونه OFBiz در حال اجرا را نشان می‌دهد. برای ایجاد یک نظرسنجی، کاربر فیلدهای فرم ورودی را پر کرده و
یک نظرسنجی، کاربر فیلدهای فرم ورودی را پر کرده و دکمه به‌روزرسانی را فشار می‌دهد. این عمل یک نظرسنجی جدید ایجاد می‌کند که می‌توان آن را ویرایش کرده و در نهایت در وب‌سایت جلویی OFBiz منتشر کرد. در پشت صحنه، این مورد استفاده شامل چندین آثار نوشته شده در زبان‌های مختلف است. در این مثال، ما تنها به سه زبان از این زبان‌ها تمرکز می‌کنیم: زبان Entity، زبان Service و زبان Form. این سه زبان به طور تقریبی به ترتیب به مدل ساختاری، رفتار برنامه و نگرانی رابط کاربری در OFBiz اشاره دارند. زبان Entity برای توصیف مدل داده
اشاره دارند. زبان Entity برای توصیف مدل داده زیربنایی استفاده می‌شود و در نتیجه نحوه ذخیره‌سازی نظرسنجی ایجاد شده را تعیین می‌کند. زبان Service برای توصیف رابط سرویسی که وقتی کاربر دکمه به‌روزرسانی را فشار می‌دهد، فراخوانی می‌شود، استفاده می‌شود. در نهایت، زبان Form برای توصیف ظاهر بصری فرم استفاده می‌شود. اگرچه این سه زبان برای چیزهای مختلف طراحی شده‌اند، اما نمی‌توان آن‌ها را به‌طور کامل از هم جدا کرد. رابط کاربری منطق خاصی از برنامه را فراخوانی می‌کند و این منطق برنامه داده‌های برنامه را دستکاری می‌کند.
منطق برنامه داده‌های برنامه را دستکاری می‌کند. این مثال از نگرانی‌های غیر اورتوگونال است. زبان‌ها همپوشانی دارند زیرا نگرانی‌هایی که نمایندگی می‌کنند نمی‌توانند به طور کامل از هم جدا شوند. اکنون این سه زبان را به صورت پایین به بالا بررسی کرده و همپوشانی‌های آن‌ها را توضیح می‌دهیم. Entity DSL زبان Entity DSL ساختار داده‌ها را در OFBiz تعریف می‌کند. فهرست زیر تعریف موجودیت Survey را نشان می‌دهد که شیء تجاری است که نمایانگر مفهوم یک نظرسنجی است. کد در فهرست به وضوح قابل فهم است: موجودیتی به نام Survey با 10
وضوح قابل فهم است: موجودیتی به نام Survey با 10 فیلد تعریف شده است. هر فیلد یک نام و نوع دارد. فیلد surveyId به عنوان کلید اصلی استفاده می‌شود. این تعریف توسط یک مؤلفه مرکزی در OFBiz به نام entity engine بارگذاری می‌شود. entity engine یک شیء تجاری متناظر را نمونه‌سازی می‌کند. هدف entity engine مدیریت ویژگی‌های تراکنشی تمام اشیاء تجاری و تعامل با مکانیزم‌های مختلف پایداری مانند Java Database Connectivity، Enterprise JavaBeans یا حتی برخی از سیستم‌های قدیمی است. Service DSL زبان Service DSL رابط خدمات در
است. Service DSL زبان Service DSL رابط خدمات در OFBiz را مشخص می‌کند. هر سرویس بخشی از منطق برنامه سیستم را در بر می‌گیرد. هدف این زبان داشتن یک انتزاع یکنواخت از مکانیزم‌های مختلف پیاده‌سازی است. سرویس‌های فردی می‌توانند به زبان جاوا، یک زبان اسکریپتی یا با استفاده از یک موتور قواعد پیاده‌سازی شوند. فهرست زیر رابط سرویس createSurvey را نشان می‌دهد. علاوه بر نام، عنصر سرویس مکان و دستور فراخوانی پیاده‌سازی این سرویس را مشخص می‌کند. ویژگی default-entity-name مشخص می‌کند که این سرویس به موجودیت Survey اشاره
مشخص می‌کند که این سرویس به موجودیت Survey اشاره دارد که در فهرست قبلی تعریف شده است. این یک همپوشانی بین دو زبان است، به‌ویژه آنچه به نام ارجاع نرم گفته می‌شود. یک مدل در Service DSL به یک مدل در Entity DSL اشاره دارد. این ارجاع در دو عنصر auto-attributes زیر استفاده می‌شود که ورودی و خروجی سرویس را به صورت ویژگی‌های تایپ‌شده مشخص می‌کنند. به عنوان ورودی، سرویس ویژگی‌هایی را می‌پذیرد که مربوط به تمام فیلدهای غیرکلید اصلی (nonpk) موجودیت Survey هستند و این ویژگی‌ها اختیاری هستند. به عنوان خروجی، سرویس
این ویژگی‌ها اختیاری هستند. به عنوان خروجی، سرویس ویژگی‌هایی را که مربوط به فیلدهای کلید اصلی (pk) موجودیت Survey هستند، یعنی در این مورد فیلد surveyId، باز می‌گرداند و این ویژگی‌ها اجباری هستند. هدف ارجاع میان زبان‌ها در اینجا کاهش تکرار است. ویژگی‌های سرویس createSurvey به فیلدهای موجودیت Survey مربوط می‌شوند و بنابراین تنها لازم است یک بار آن‌ها را مشخص کنیم. Form DSL زبان Form DSL برای توصیف چیدمان و ظاهر بصری فرم‌های ورودی در رابط کاربری استفاده می‌شود. این زبان از مفاهیم دامنه‌ای مانند Form و Field
این زبان از مفاهیم دامنه‌ای مانند Form و Field تشکیل شده است. فهرست زیر پیاده‌سازی فرم EditSurvey را نشان می‌دهد. این بار زبان Form DSL با زبان Service DSL همپوشانی دارد. ویژگی target فرم و عناصر alt-target مشخص می‌کنند که ورودی از ارسال این فرم باید به سرویس‌های updateSurvey یا createSurvey هدایت شود. عنصر auto-fields-service مشخص می‌کند که فرم باید شامل فیلدی باشد که به هر یک از ویژگی‌های سرویس updateSurvey (که مشابه ویژگی‌های سرویس createSurvey هستند) مربوط باشد. این اثر مشابهی از وارد کردن تعاریف از یک
باشد. این اثر مشابهی از وارد کردن تعاریف از یک مدل دیگر را تولید می‌کند، همانطور که در مورد عناصر auto-attributes در فهرست قبلی ذکر شد. در پایین‌تر، می‌بینیم که می‌توان ظاهر این فیلدهای وارد شده مانند isAnonymous را سفارشی کرد. در نهایت، یک submitButton با عنوان محلی‌سازی شده اضافه می‌شود تا کاربر بتواند داده‌های خود را به سرویس ارجاع‌شده ارسال کند. مثال ایجاد نظرسنجی که در اینجا توصیف شده است با استفاده از مدل‌هایی در سه زبان مختلف پیاده‌سازی شده است. پیاده‌سازی کامل در واقع شامل زبان‌های بیشتری مانند
کامل در واقع شامل زبان‌های بیشتری مانند Screen DSL برای مشخص کردن چیدمان صفحه‌ای است که فرم در آن قرار می‌گیرد و Minilang DSL که یک زبان دستکاری داده‌ها است که برای پیاده‌سازی سرویس استفاده می‌شود. با این حال، این سه زبان ایده اصلی ساختن هر نگرانی به صورت ملموس را نشان می‌دهند. این مثال همچنین یک روش ساده برای کاهش تکرار با اجازه دادن به همپوشانی جزئی زبان‌ها را نشان می‌دهد. Multi-level customization زبان‌های خاص دامنه‌ای مانند زبان‌های توصیف‌شده در بالا، بیان‌گری محدودی دارند. اغلب لازم است که قطعه‌کدهایی
محدودی دارند. اغلب لازم است که قطعه‌کدهایی به زبان‌های عمومی مانند جاوا اضافه شوند تا عملکردهای خاصی که فراتر از دامنه زبان‌ها هستند پیاده‌سازی شوند. این روش را سفارشی‌سازی چندسطحی می‌نامند. از آنجا که این روش در تنظیمات با زبان‌های متعدد به‌طور رایج استفاده می‌شود، آن را با ادامه مثال توضیح خواهیم داد. بیایید این مثال را "مثال ساخت PDF" بنامیم. فرض کنید می‌خواهیم یک فایل PDF برای هر پاسخ نظرسنجی به نظرسنجی‌های آنلاین که کاربران ایجاد می‌کنند بسازیم. ساخت فایل PDF خارج از دامنه زبان‌های ما است، بنابراین
فایل PDF خارج از دامنه زبان‌های ما است، بنابراین باید کد جاوا بنویسیم که بتواند یک کتابخانه PDF شخص ثالث را فراخوانی کند تا این عملکرد خاص را انجام دهد. دو اثر لازم است: اولاً، یک مدل سرویس اضافی که در زیر آمده است، در Service DSL که رابط سرویس خاص را تعریف می‌کند تا بتوان آن را در سطح مدل دسترسی کرد. مدل سرویس مکان پیاده‌سازی و ویژگی‌های ورودی و خروجی را توصیف می‌کند. ثانیاً، به یک قطعه‌کد نیاز داریم که در زیر آمده است، که شامل پیاده‌سازی واقعی این سرویس است. یک سرویس می‌تواند ورودی‌ها و خروجی‌های متعددی
یک سرویس می‌تواند ورودی‌ها و خروجی‌های متعددی داشته باشد، بنابراین ورودی به متد جاوا یک نقشه است، که به آن context می‌گویند، از نام‌های آرگومان به مقادیر آرگومان و خروجی را به صورت یک نقشه دیگر به نام results برمی‌گرداند. این روش سفارشی‌سازی چندسطحی از ارجاعات نرم مشابه مثال ایجاد نظرسنجی استفاده می‌کند. تفاوت اصلی این است که ارجاع در اینجا بین مدل و کد است نه بین مدل‌ها. مزیت در این مورد این است که می‌توان از یک کتابخانه جاوای شخص ثالث برای ساخت PDF بهره برد. یک کاربرد معمول دیگر این است که از قطعه‌کدهای
یک کاربرد معمول دیگر این است که از قطعه‌کدهای جاوا برای فراخوانی وب‌سرویس‌های خارجی استفاده شده و نتایج را در قالب مناسب وارد کنیم. مشکل هماهنگی این مثال برخی از مزایای استفاده از زبان‌های مختلف در توسعه را نشان می‌دهد. با این حال، مشکلاتی نیز با این نوع توسعه همراه است. این مشکلات ناشی از این است که هرچه تعداد بیشتری از مصنوعات را وارد فرآیند خود کنیم، نیاز به هماهنگی بیشتر بین تلاش‌های توسعه‌دهنده داریم. ما این مشکلات را به‌عنوان مشکل هماهنگی ارجاع خواهیم داد. مشکل هماهنگی جنبه مفهومی و فنی دارد. از نظر
داد. مشکل هماهنگی جنبه مفهومی و فنی دارد. از نظر مفهومی، مشکل اصلی این است که زبان‌های مختلف و تعامل آنها را درک کنیم. برای طراحی و هماهنگی صحیح مدل‌ها در زبان‌های مختلف، توسعه‌دهندگان باید درک کافی از نحوه تعامل زبان‌ها داشته باشند. از نظر فنی، مشکل اصلی این است که انطباق را اعمال کنیم. ابزارها باید برای شناسایی ناسازگاری‌ها در زمان مدل‌سازی و کمک به توسعه‌دهندگان برای حل این ناسازگاری‌ها فراهم شوند. در ادامه، این دو جنبه را با جزئیات بیشتری بررسی خواهیم کرد. هماهنگی به‌عنوان یک چالش مفهومی اولین مشکلی که
هماهنگی به‌عنوان یک چالش مفهومی اولین مشکلی که توسعه‌دهندگان هنگام شروع به توسعه با زبان‌های مختلف با آن روبه‌رو می‌شوند، کافوفونی زبان‌ها است. یادگیری زبان‌های مختلف و درک تعامل آنها برای درک ترکیب پیچیده مصنوعات ضروری است. به‌عنوان مثال، فریم‌ورک OFBiz هفده زبان مختلف دارد و بیش از 200,000 خط کد زبان خاص دامنه، بنابراین پیچیدگی می‌تواند بسیار زیاد باشد! در حال حاضر هیچ روش شناخته‌شده‌ای برای مشخص کردن زبان‌های مختلف وجود ندارد که توسعه‌دهندگان بتوانند به سرعت به درک عملیاتی دست یابند. ابزارها در اینجا
سرعت به درک عملیاتی دست یابند. ابزارها در اینجا به‌عنوان یک مکانیزم خودجوش برای یادگیری و کاوش اهمیت دارند زیرا توسعه‌دهندگان معمولاً از ابزارها برای یادگیری از طریق آزمایش‌ها استفاده می‌کنند. به‌ویژه سه زمینه وجود دارد که ابزارها برای مدل‌های خاص دامنه مفید هستند: 1. درک یک زبان 2. درک تعامل زبان‌ها 3. درک نحوه استفاده از زبان‌ها اولاً، درک یک زبان می‌تواند دشوار باشد و در مورد زبان‌های خاص دامنه مبتنی بر XML، یک اعتراض رایج و شهودی این است که «نحو اهمیت دارد». این استدلال می‌تواند به‌صورت زیر بیان شود:
دارد». این استدلال می‌تواند به‌صورت زیر بیان شود: «زبان‌های مختلف سخت به‌فهم هستند و تنها باعث سردرگمی می‌شوند زیرا نحو مبتنی بر XML آن‌ها به‌ویژه پرجزئیات و غیرقابل‌فهم است. استفاده از یک زبان عمومی مانند جاوا بهتر خواهد بود زیرا در آن صورت توسعه‌دهندگان می‌توانند از نحو‌ای که قبلاً می‌شناسند استفاده کنند». در حالی که این اعتراض قطعاً مهم است، اما نکته مرکزی را از دست می‌دهد. XML یا یک فرمت مشابه ممکن است نحوی نباشد که توسعه‌دهندگان در واقع با آن کار می‌کنند. یکی از مزایای استفاده از زبان‌های خاص دامنه
یکی از مزایای استفاده از زبان‌های خاص دامنه مبتنی بر XML این است که می‌توانیم ویرایشگرهای خاص دامنه ارائه دهیم. شکل زیر نشان می‌دهد که یک ویرایشگر فرضی برای Entity DSL چگونه ممکن است به نظر برسد. این ویرایشگر دامنه را به‌صورت ساده و جذاب بصری ارائه می‌دهد اما ممکن است از نمایش XML (و شاید یک پیکربندی طراحی) در پشت‌صحنه استفاده کند. دقیقاً همان‌طور که ممکن است شکایت کنیم که XML انتخاب بدی است، می‌توانیم اعتراض کنیم که زبان عمومی مانند جاوا برای برخی از وظایف انتخاب بدی است. علاوه بر این، توسعه‌دهندگان ممکن
انتخاب بدی است. علاوه بر این، توسعه‌دهندگان ممکن است کمتر از ویرایشگر در شکل نسبت به کد XML یا جاوا ترس داشته باشند. اگر قبول کنیم که نحو اهمیت دارد، استفاده از زبان‌های مختلف با ویرایشگرهای اختصاصی یک استراتژی منطقی می‌شود. سادگی ویرایشگر باعث می‌شود که زبان آسان‌تر درک شود و بنابراین راحت‌تر استفاده شود. به عبارت دیگر، اعتراض به اهمیت نحو ممکن است دقیقاً دلیلی باشد که ما به‌دنبال کاوش در زمینه زبان‌های خاص دامنه هستیم. ثانیاً، تعاملات زبان‌ها روابط بین زبان‌ها را آشکار می‌کند. توسعه‌دهندگان باید قادر
زبان‌ها را آشکار می‌کند. توسعه‌دهندگان باید قادر باشند بین عناصر مرتبط در مصنوعات مختلف جابجا شوند. سهولت ناوبری بین مصنوعات مختلف نرم‌افزاری یک معیار مهم برای ابزارها در محیط‌های توسعه سنتی است. اگرچه در این زمینه مطالعات تجربی انجام نداده‌ایم، اما فرض می‌کنیم که تسهیلات ناوبری مناسب بهره‌وری را افزایش می‌دهد. این ادعا با مشاهده‌ای که در حال حاضر تمام محیط‌های توسعه اصلی امکانات ناوبری پیشرفته‌ای مانند مرورگر سلسله‌مراتب نوع یا توانایی جستجو و پرش به ارجاعات به تعریف یک متد را ارائه می‌دهند، پشتیبانی
به تعریف یک متد را ارائه می‌دهند، پشتیبانی می‌شود. محیط‌های توسعه می‌توانند این امکانات ناوبری را فراهم کنند زیرا آن‌ها یک مدل به‌روز از فایل‌های منبع را به‌صورت درخت نحو انتزاعی نگهداری می‌کنند. در یک محیط توسعه با چندین زبان، ناوبری بسیار دشوارتر است. محیط‌های موجود برای تجزیه و نمایش مدل‌های DSL به‌صورت درخت نحو انتزاعی برای زبان‌های دلخواه و شاید حتی زبان‌های خاص‌برنامه مانند زبان‌های مثال قبلی طراحی نشده‌اند. علاوه بر این، بدون این نمایش داخلی، محیط‌های موجود نمی‌توانند ارجاعات درون‌زبان یا بین‌زبان
موجود نمی‌توانند ارجاعات درون‌زبان یا بین‌زبان را برای چنین زبان‌هایی حل کنند و بنابراین نمی‌توانند ناوبری مفیدی را فراهم کنند. این بدان معناست که توسعه‌دهندگان باید یک مدل مفهومی از نحوه ارتباط بخش‌های سیستم خود نگه دارند. از طرف دیگر، ابزارهای جدید با تسهیلات ناوبری که برای چندین زبان طراحی شده‌اند، در درک روابط بین زبان‌ها بسیار مفید خواهند بود. به‌عنوان مثال، این ابزارها باید روابط بین سه زبان را با استفاده از ارجاعات نرم به‌عنوان نقاط ناوبری نمایش دهند. سومین مورد، برای درک استفاده از زبان‌ها باید
سومین مورد، برای درک استفاده از زبان‌ها باید قادر باشیم عملیات ویرایش صحیح را از عملیات نادرست در محیط توسعه خود تمایز دهیم. محیط‌های توسعه سنتی مدت‌هاست که راهنمایی‌هایی در حین نوشتن برنامه ارائه داده‌اند. کامپایلر تدریجی به محیط اجازه می‌دهد تا پیشنهادات دقیقی به توسعه‌دهنده بدهد مانند اینکه چگونه یک عبارت را تکمیل کند. انواع دیگر راهنمایی‌های مداخله‌گر نیز وجود دارد مانند ویرایشگرهای مبتنی بر نحو که تنها ورودی‌هایی که با گرامر سازگار هستند را می‌توان وارد کرد. ویرایشگرهای متنی عمومی که می‌توانند با
وارد کرد. ویرایشگرهای متنی عمومی که می‌توانند با گرامر یک زبان پارامتریک شوند، مدت‌هاست که وجود دارند. ویرایشگرهای موجود هنگام ارائه راهنمایی، روابط سازگاری بین‌زبان‌ها را در نظر نمی‌گیرند. در مثال قبلی، یک ویرایشگر ایده‌آل باید برای مثال قادر باشد سرویس createSurvey را به‌عنوان یک مقدار معتبر هنگام ویرایش ویژگی target در تعریف فرم پیشنهاد کند. محیطی که می‌تواند درباره مصنوعات از زبان‌های مختلف استدلال کند، همچنین قادر خواهد بود به توسعه‌دهنده کمک کند تا وضعیت‌های برنامه‌ای را شناسایی کند که در آن تطابق
وضعیت‌های برنامه‌ای را شناسایی کند که در آن تطابق محلی وجود دارد اما تطابق جهانی نه. چنین وضعیتی زمانی ایجاد می‌شود که یک مدل به‌خوبی شکل‌گرفته است و بنابراین محلی سازگار است، اما در عین حال یک قید بین‌زبان را نقض می‌کند. راهنمایی یا کمک هوشمندانه به‌صورت پیشنهادهایی درباره نحوه تکمیل مدل برای محیط‌های با زبان‌های متعدد و محدودیت‌های پیچیده انطباق مفید خواهد بود. عملیات ویرایشی که توسط ابزارها پیشنهاد می‌شود، می‌تواند فرآیند یادگیری نحوه استفاده از زبان‌ها را برای توسعه‌دهنده آسان‌تر کند.
آسیاب چکشی ، فورج چکشی یا چکش کارگاهی در دوران پیش از صنعت بود که معمولاً برای تولید محصولات نیمه تمام، فرفورژه آهن یا گاهی اوقات ابزار تمام شده کشاورزی یا معدنی یا سلاح‌های نظامی استفاده می‌شد. ویژگی‌ای که نام خود را به این کارگاه‌ها داد، چکش سفری آب محور یا مجموعه‌ای از چکش‌ها بود که در این فرآیند استفاده می‌شد. شفت، یا "غلاف" چکش در وسط چرخانده می‌شود و سر چکش با عمل بادامک‌هایی که روی یک میل بادامک چرخان قرار می‌گیرد، بلند می‌شود که به‌طور دوره‌ای انتهای میل را فشار می‌دهد. با بالا و پایین رفتن، سر چکش
میل را فشار می‌دهد. با بالا و پایین رفتن، سر چکش یک قوس را توصیف کرد. رویه چکش برای دوام از آهن ساخته شده بود. آسیاب چکشی. این آسیاب‌ها که در اصل توسط چرخ‌های آب به حرکت در می‌آمدند، اما بعداً با نیروی بخار نیز به کار می‌رفتند، زیرا ابزارها با گذشت زمان سنگین‌تر شدند و در نتیجه ساخت دستی دشوارتر شد. آسیاب های چکشی سنگ آهن را با استفاده از زغال سنگ ذوب می کردند که اصطلاحاً بلومری می شد. در این کوره‌های ذوب، که مجهز به دم‌هایی بودند که توسط نیروی آب نیز هدایت می‌شد، سنگ معدن به صورت توده‌ای درخشان از آهن
می‌شد، سنگ معدن به صورت توده‌ای درخشان از آهن نرم، خام، سرباره سیال و بقایای زغال سنگ ذوب می‌شد. آهن مانند یک کوره بلند مدرن سیال نبود، اما عمدتاً به دلیل وجود سرباره مایع، یک توده خمیری و متخلخل باقی ماند. این توده‌های آهن اسفنجی که از نظر تاریخی به عنوان "شکوفه" شناخته می‌شوند، در ابتدا با دست و با استفاده از یک پتک فشرده می‌شوند. پس از آن، آنها را چندین بار، معمولاً با چکش سفر یا با پتک، جعل می‌کردند تا زمانی که سرباره و زغال آن از بین برود. برای آن، آهن را در کوره آهنگری یا کوره آهنگری دیگر گرم می
آهن را در کوره آهنگری یا کوره آهنگری دیگر گرم می کردند. سپس آهن می تواند مستقیماً به عنوان آهن نرم استفاده شود. نیازی به فرآیند بهبود بیشتر، مانند جریمه کاری که در عملیات کوره بلند استفاده می شود، نبود. سپس آهن میله‌ای درشت به‌دست‌آمده به‌صورت خارجی به‌عنوان مثال در کارهای مخصوص و کوچک چکش ( "Zainhammer" ) به میله‌های آهنی نازک (مثلاً سیم ضخیم)، به اصطلاح آهن میله‌ای ( "Zaineisen" )، که توسط میخ‌سازان برای تولید میخ مورد نیاز بود، کار می‌کرد. پردازش بیشتر به آهن تصفیه شده یا فولاد "الاستیک" برای مثال برای
آهن تصفیه شده یا فولاد "الاستیک" برای مثال برای تیغه های شمشیر ، توسط آهنگرهای تخصصی چکش آهن تصفیه شده یا آهنگران در محل انجام شد. توزیع. از نظر جغرافیایی، آسیاب های چکشی به در دسترس بودن نیروی آب وابسته بودند. در همان زمان، برای تولید مقادیر زیادی زغال چوب باید جنگل‌هایی در این نزدیکی وجود داشت. علاوه بر این، برای اطمینان از اینکه تنها فاصله کوتاهی برای انتقال سنگ معدن آهن به کارخانه‌های ذوب وجود دارد، باید ذخایر سنگ آهن در مجاورت وجود داشته باشد. در نهایت، زمین کشاورزی برای تغذیه بسیاری از صنعتگران درگیر
زمین کشاورزی برای تغذیه بسیاری از صنعتگران درگیر مورد نیاز بود. آلمان. آسیاب های چکشی از اواخر قرون وسطی در مناطق زیر رواج داشت: در این مناطق ذخایر سنگ آهن وجود داشت که با وسایل موجود در آن زمان قابل استخراج بود. تراکم بالاتری در Wupperviereck وجود داشت، جایی که چند صد سایت وجود داشت. پالاتینات علیا یکی از مراکز ذوب آهن اروپا بود و آسیاب های چکشی متعدد آن باعث شد تا لقب آن به " روهرگبیت قرون وسطی" داده شود. نام مکان هایی با پسوند "- چکش" در این منطقه بسیار رایج است. خانه ارباب مسئول آسیاب چکشی به طور کلی
رایج است. خانه ارباب مسئول آسیاب چکشی به طور کلی به عنوان "قلعه چکشی" یا "کاخ چکشی" ( "Hammerschloss" ) شناخته می شد. این "اسلوس" معمولاً نامشخص که به عنوان مقر خانواده "ارباب چکش" عمل می کرد، عموماً در مجاورت آسیاب قرار داشت. قلعه های چکشی مهمی را می توان در امتداد مسیر آهن باواریا مشاهده کرد، به عنوان مثال در Theuern ، Dietldorf و شمیدموهلن اتریش. در اتریش آسیاب های چکشی عمدتاً در Iron Roots ( "Eisenwurzen" ) در امتداد مسیر آهن اتریش در اطراف سه نقطه ایالت های اتریش سفلی ، اشتایر و اتریش علیا یافت شدند
های اتریش سفلی ، اشتایر و اتریش علیا یافت شدند (مانند. g. Ybbsitz ) و در دره های استایری فوقانی مور و مورز و دره های جانبی آنها. صندلی‌های لردهای چکش ("شماره‌های سیاه") به عنوان "Hammerherrenhäuser" ("عمارت ارباب چکش") شناخته می‌شدند. فرانسه. کارگران فولاد در Thiers ، فرانسه تا اواسط قرن نوزدهم از آسیاب های چکشی، با انرژی رودخانه Durolle در Vallée des Rouets ، برای تولید چاقو و سایر کارد و چنگال استفاده می کردند. انگلستان. آسیاب های چکشی در انگلستان گسترده نبودند، اما نمونه هایی مانند نمونه ای در ابینگر
نبودند، اما نمونه هایی مانند نمونه ای در ابینگر همر در ساری وجود دارد که نام روستا از آن گرفته شده است. محصولات. محصولات معمولی آسیاب های چکشی عبارت بودند از: این محصولات معمولاً به‌عنوان محصولات نیمه‌تمام تولید می‌شدند، اما گاهی اوقات به محصولات نهایی مانند داس ، داس ، بیل ، اسلحه یا ابزار معدنکاری تبدیل می‌شدند. آسیاب های چکشی معروف. بسیاری از آسیاب های ذکر شده در اینجا باقی مانده اند و برای عموم باز هستند. آلمان. کوه های سنگ معدن مسیر آهن باواریا مسیر آهن باواریا ( "Bayerische Eisenstraße" ) یک مسیر
آهن باواریا ( "Bayerische Eisenstraße" ) یک مسیر تعطیلات مهم در جنوب آلمان است که دارای تاریخ غنی است. 120 کیلومتر طول دارد و مکان‌های صنعتی تاریخی متعددی را که نشان‌دهنده چندین قرن هستند، با آثار فرهنگی و طبیعی پیوند می‌دهد. مسیر آهن باواریا در امتداد مسیرهای حمل و نقل قدیمی از منطقه نورنبرگ در نزدیکی پگنیتز به سمت جنوب به رگنسبورگ می گذرد و مراکز آهن سابق بایرن شرقی، یعنی مناطق معدنی پگنیتز، آئورباخ ، ادلسفلد ، سولزباخ-روزنبرگ و آمبرگ را به هم متصل می کند. از آنجا به یک آبراه تبدیل می شود، حدود 60
می کند. از آنجا به یک آبراه تبدیل می شود، حدود 60 کیلومتر طول، بر روی رودخانه‌های Vils و Naab تا زمانی که در نزدیکی Regensburg به دانوب تخلیه می‌شوند. فرانکونیا لوزاسیا سفلی بایرن علیا سرزمین برگیشز بالا فلات بالا روهرگبیت Sauerland ژورای سوابی جنگل سیاه Spessart جنگل تورینگن تورینگن اتریش. Waldviertel ، اتریش سفلی ; مسیر آهن اتریش فرهنگ. در ادبیات، آسیاب های چکشی در تصنیف فریدریش شیلر ، "Der Gang nach dem Eisenhammer" (1797) جاودانه شدند، که برنهارد آنسلم وبر آن را برای بازیگر، آگوست ویلهلم ایفلند ، به
وبر آن را برای بازیگر، آگوست ویلهلم ایفلند ، به عنوان یک ملودرام ارکسترال عالی موسیقی ساخت، و بعداً توسط کارل لو به عنوان یک تصنیف ساخته شده از طریق آهنگسازی.
فوزی القاوُقجی (۱۹ ژانویه ۱۸۹۰ – ۵ ژوئن ۱۹۷۷) نظامی عثمانی-لبنانی بود. در طرابلس زاده شد، به عنوان افسر در ارتش عثمانی خدمت کرد. او پیش از وقوع انقلاب بزرگ سوری با رهبری آن مرتبط بود. او تدبیری اندیشید و شخصی را فرستاد تا موافقت سلطان الاطرش و عبدالرحمن شاهبندر را جلب کند. فرانسه او را به اعدام محکوم کرد. پس از شکست انقلاب، او سوریه را به مقصد بغداد ترک کرد و در آنجا وارد دانشکدهٔ نظامی شد. او در انقلاب فلسطین ۱۹۳۶ در رأس گروه‌های داوطلب شرکت کرد. پس از امضای پیش نویس معاهدهٔ سوریه و فرانسه، به او عفو عمومی
پیش نویس معاهدهٔ سوریه و فرانسه، به او عفو عمومی اعطا شد، بنابراین به سوریه بازگشت. وقتی کودتای رشید علی الکیلانی در سال ۱۹۴۱ برخاست، او برای شرکت در آن شتافت و پس از شکست این جنبش، هواپیماهای بریتانیایی او را تا مرز سوریه تعقیب کردند. او و برخی از رفقایش کشته شدند، اما او فرار کرد و به برلین پناه برد، جایی که تا فروپاشی حکومت نازی‌ها در آنجا ماند.شوروی‌ها او را در ۲۹ مه ۱۹۴۶ دستگیر کردند و یک ماه بعد، وقتی متوجه شدند که همکاری او با آلمانی‌های نازی به دلیل وطن‌دوستی و نفرتش از بریتانیایی‌ها بوده است که بر
وطن‌دوستی و نفرتش از بریتانیایی‌ها بوده است که بر فلسطین قیمومت می‌کردند، او را آزاد کردند. پس از پایان جنگ جهانی دوم به سوریه بازگشت. در سال ۱۹۴۷، اتحادیهٔ عرب او را به عنوان فرماندهٔ ارتش نجات، متشکل از داوطلبانی از کشورهای مختلف عربی، برای حمایت از فلسطین منصوب کرد. او در جنگ اول عرب‌ها و اسرائیل در ۱۹۴۸ فعالانه شرکت داشت. پس از شکست فلسطین، بسیاری از افسران او در چندین کودتای نظامی در سوریه شرکت کردند. فوزی القاوقجی پس از آن از امور نظامی کناره‌گیری کرد و در دمشق و سپس در بیروت، جایی که درگذشت، به
کرد و در دمشق و سپس در بیروت، جایی که درگذشت، به گوشه‌نشینی رفت. خاطراتی بر جای گذاشت که درسال ۱۹۷۵ منتشر شد. زندگی و پیشه. سال‌های اولیه. فوزی عبدالمجید القاوُقجی در ۱۹ ژانویه ۱۸۹۰ در طرابلس، سنجق طرابلس، ولایت بیروت، امپراتوری عثمانی متولد شد و در کودکی برای تحصیل به استانبول رفت. او به پیشرفت خود در مدارس ترکی ادامه داد تا به مدرسهٔ نظامی رسید، جایی که آغاز آگاهی سیاسی عربی او شروع به شکوفا شدن کرد. او در سال ۱۹۱۲ به عنوان افسر سواره نظام عثمانی فارغ‌التحصیل شد. او ابتدا در موصل مشغول به کار شد، جایی که
شد. او ابتدا در موصل مشغول به کار شد، جایی که توانایی‌هایش آشکار گشت. خیلی زود پس از آن، مربی سوارکاری کل گُردان شد. با آشکار شدن ضعف ترکان عثمانی، احساسات عرب‌گرایی او در او قوی‌تر شد. وقتی جنگ جهانی اول شروع شد، برخی از سیاستمداران عرب با او تماس گرفتند تا انقلاب را در میان قبایل بادیه‌نشین که او آنها را خوب می‌شناخت، ترویج دهند. او در جنگ علیه بریتانیایی‌هایی که بصره را اشغال کرده بودند، شرکت داشت. در سال ۱۹۱۴، او در نبرد قرنه مجروح شد و برای درمان در بیمارستان بستری شد. سپس به دستور برخی از رهبران
بیمارستان بستری شد. سپس به دستور برخی از رهبران احزاب عرب، مخفیانه بیمارستان را ترک کرد تا با تعدادی از رهبران جنبش‌های عربی در سوریه و لبنان تماس بگیرد، اما متوجه شد که آنها را به زندان‌ها و چوبه‌های دار برده‌اند. در ماه مه ۱۹۱۶، او به لشکر سوم سواره نظام عثمانی که در خط دفاعی بئر سبع-غزه علیه نیروهای بریتانیایی مستقر بود، منصوب شد. روزهای اقامتش در بئر سبع به او تجربه گسترده‌ای در اصول شناسایی و کمین داد. او به خاطر شجاعتش شهرت گسترده‌ای کسب کرد، تعدادی مدال دریافت کرد و رابطه‌اش را با فرماندهان آلمانی