Defiant เป็นกรอบการทำงานของเว็บแอป Node.js ที่มีวัตถุประสงค์เพื่ออำนวยความสะดวกในการสร้างเทคโนโลยีก่อกวน
Defiant ได้รับการตั้งชื่ออย่างมากเนื่องจากผู้สร้างมีความคิดเห็นที่แข็งแกร่งเกี่ยวกับวิธีการที่ระบบเช่นนี้ควรได้รับการออกแบบรวมถึงศักยภาพในการใช้งาน (มันถูกเรียกว่า "defiant" เพราะดูเหมือนว่ากรอบที่มีอยู่มากมายนั้นเป็นโคลนซึ่งกันและกันและเราต้องการทำสิ่งที่แตกต่างอย่างสิ้นเชิง)
Defiant ไม่ใช่ โครงการที่เสร็จสิ้น อย่างไรก็ตามมันเป็นงานที่กำลังดำเนินอยู่และเรายินดีต้อนรับข้อมูลของคุณ ตรวจสอบแผนงานเพื่อดูว่าคุณสามารถกระโดดได้ที่ไหน!
ในขณะนี้มีเพียงไม่กี่คนที่มองหา Defiant หากคุณต้องการคุยกับเรา แต่ก็เข้าร่วมกับเราที่ Slack ที่นี่! การมีส่วนร่วมของคุณมีค่าสำหรับเรา!
ลองใช้อีเมลเป็นตัวอย่าง หากคุณต้องการที่อยู่อีเมลของคุณเอง (เช่น @yourname.com) คุณมีหนึ่งในสองตัวเลือก: ตั้งค่าเซิร์ฟเวอร์อีเมลของคุณเองหรือมีใครบางคน (เช่น Google, Zoho ฯลฯ ) โฮสต์ให้คุณอาจเป็นค่าธรรมเนียมรายเดือน/รายปี การจัดการด้วยตนเองนั้นซับซ้อนมาก (การตั้งค่าไฟร์วอลล์, การเข้าถึง IMAP/POP3/SMTP, ส่วนหน้าบนเว็บ, บันทึก DNS ที่มีบันทึก DKIM และ SPF ที่ถูกต้อง, ใบรับรอง SSL, การกรองสแปม, แอนติไวรัส, การจัดการผู้ใช้ ฯลฯ ) และหากคุณเข้าใจผิดผลลัพธ์อาจเป็นหายนะ อย่างไรก็ตามการจ่ายเงินให้คนอื่นเพื่อจัดการมันอาจมีราคาแพงเมื่อคุณต้องการบัญชีผู้ใช้หลายบัญชีอนุญาตให้มีการปรับแต่งเพียงเล็กน้อยและคุณมักจะอยู่ในความเมตตาของบุคคลที่สาม (และพวกเขาอาจตัดสินใจสอดแนมคุณ)
สิ่งนี้เกี่ยวข้องกับการท้าทาย? เฟรมเวิร์กของ Defiant สามารถจัดหาชิ้นส่วนทั้งหมดที่กล่าวถึงข้างต้นห่อไว้ในแพ็คเกจง่ายๆ (จากมุมมองของผู้ใช้) ในแง่หนึ่งความตั้งใจของเฟรมเวิร์กคือการออกแบบท่าเต้นการโต้ตอบของระบบแต่ละระบบที่แตกต่างกันทั้งหมดเหล่านี้และทำให้พวกเขาเป็นรูปแบบที่เรา "มนุษย์เพียงมนุษย์" สามารถนำไปใช้อย่างปลอดภัย Defiant ต้องการให้คุณสามารถเป็นเจ้าของและจัดการเทคโนโลยีเหล่านี้ (และโดยพร็อกซีข้อมูลของคุณเอง) จากความเป็นส่วนตัวของเซิร์ฟเวอร์ของเราเอง
ระบบประเภทใด ที่สามารถ สร้างขึ้นได้โดยใช้ Defiant?
ระบบเหล่านี้ยังไม่มีอยู่ แต่พวกเขาแสดงความตั้งใจที่อยู่เบื้องหลัง Defiant เราต้องการมีกรอบที่ปลอดภัยใช้งานง่ายและยืดหยุ่นในการสร้างระบบที่กล่าวถึงข้างต้น เราต้องการที่จะนำอินเทอร์เน็ตกลับมาจาก บริษัท ขนาดใหญ่และนำเทคโนโลยีที่ทรงพลังกลับมาอยู่ในมือของคนปกติของเรา
โดยวิธีการที่เราต้องการความช่วยเหลือของคุณในการทำ โปรดพิจารณาช่วยให้เราพัฒนาความท้าทายและนำอินเทอร์เน็ตกลับมา ท้าทาย!
Defiant เชื่อมั่นอย่างแน่วแน่ว่าคุณในฐานะนักพัฒนาควรจะสามารถใช้เฟรมเวิร์กนี้และเพิ่มหรือแก้ไขการทำงานของมันโดยไม่ต้องแฮ็คไฟล์หลัก ในทำนองเดียวกันหากคุณใช้ปลั๊กอินของบุคคลที่สามสำหรับเฟรมเวิร์กนี้และต้องการเพิ่มหรือปรับเปลี่ยนฟังก์ชั่นของปลั๊กอินคุณควรทำเช่นนั้นโดยไม่ต้องแฮ็คปลั๊กอินเอง หากสถาปัตยกรรมไม่สนับสนุนความยืดหยุ่นนี้ควรตีความว่าเป็นข้อผิดพลาดและควรรายงานเช่นนี้ ในระยะสั้นทุกอย่างควรจะเกินจริง
DEFIANT ไม่เป็นไปตามกรอบ MVC ที่เข้มงวดเพราะนั่นไม่ยืดหยุ่นเพียงพอสำหรับสิ่งที่เรามีอยู่ในใจ
ทุกกรอบมีความคิดเห็นเกี่ยวกับบางสิ่งบางอย่าง บางคนสนใจว่าไฟล์ของคุณถูกวางไว้ที่ไหนและบางคนต้องการบังคับใช้กระบวนทัศน์เฉพาะ ความคิดเห็นของ Defiant เกี่ยวกับวิธีที่ชิ้นส่วนที่แตกต่างกันควรมีปฏิสัมพันธ์ ภาษา JavaScript และแพลตฟอร์ม Node.js มีชุดเครื่องมือที่ไม่เหมือนใครและทรงพลังในการจัดการกับปัญหาที่แตกต่างกันมากมายและใช้กรณีภายใต้สถาปัตยกรรมแบบครบวงจร
เราเชื่อว่าโอเพ่นซอร์สควรเป็นเช่นนั้น: เปิดอย่างสมบูรณ์ โดยทั่วไปเราไม่เห็นด้วยกับบทบัญญัติบางอย่างของ GPL ซึ่งเป็นที่ต้องการในโครงการอื่น ๆ และได้รับอนุญาตโครงการนี้ภายใต้ใบอนุญาต MIT
ในโลกอุดมคติลิขสิทธิ์จะเป็นสิ่งที่เราสามารถเพิกเฉยต่อสิ่งที่ดีกว่า น่าเสียดายที่นักกฎหมายนักการเมืองและความโลภขององค์กรมีสิ่งที่ซับซ้อนดังนั้นเราต้องดำเนินการภายใต้ภาระที่พวกเขาสร้างขึ้น เช่นนี้ผู้ถือลิขสิทธิ์สำหรับโครงการ Defiant คือ Corey Pennycuff ผู้มีส่วนร่วมในโครงการใด ๆ โดยอาศัยการมีส่วนร่วมโดยเจตนาของพวกเขาขอตกลงที่จะกำหนดลิขสิทธิ์ของการมีส่วนร่วมให้กับ Corey Pennycuff และยืนยันว่าพวกเขามีอำนาจทางกฎหมายที่จะทำเช่นนั้น ข้อยกเว้นสำหรับบทบัญญัตินี้ได้รับอนุญาตในกรณีของการรวมห้องสมุดบุคคลที่สามซึ่งจะต้องมีอยู่ทั้งหมดภายในไดเรกทอรีย่อยของตัวเองและมีข้อมูลการเป็นเจ้าของลิขสิทธิ์ที่เหมาะสม
แถลงการณ์ที่ท้าทายอธิบายปรัชญาของโครงการที่ท้าทาย พวกเขาคือ:
อ่านแถลงการณ์ (สั้น) เพื่อทำความเข้าใจว่าเราใช้แนวคิดเหล่านี้อย่างไร
จนถึงตอนนี้ฉันได้ทดสอบสิ่งนี้บน Linux (โดยเฉพาะ Debian) และระบบย่อย Windows สำหรับ Linus (WSL) ใน Windows 10
อย่างน้อยที่สุดคุณต้องติดตั้งแพ็คเกจ python และ sqlite3 คุณอาจต้องมี build-essential
apt-get install python sqlite3สิ่งเหล่านี้จำเป็นสำหรับการติดตั้งโมดูลที่ Defiant ขึ้นอยู่กับ ไม่ใช่การพึ่งพาโดยตรงของฐานรหัส
จะใช้เวลาสักครู่ ...
npm install โดยค่าเริ่มต้น Defiant พยายามจัดเก็บข้อมูลในไดเรกทอรี /var/defiant สิ่งนี้จะสามารถกำหนดค่าได้ในอนาคต สำหรับตอนนี้สร้างไดเรกทอรีและตรวจสอบให้แน่ใจว่าคุณได้เขียนสิทธิ์ในไดเรกทอรี
const Defiant = require ( 'defiant' ) ;
new Defiant . Engine ( )
// Add Plugins.
// The Example Plugin is included with Defiant, and, of course, should not
// be included in production code.
. addPlugin ( Defiant . Plugin . Example )
// Explicitly set a directory where Defiant should look for the settings
// files. If no files exist, then appropriate defaults will be generated.
// This directory should be separate from your application code, and
// preferably under version control.
. defineBootstrapDirectory ( '/var/defiant/settings' )
// Initialize the Engine and its components.
// init() is the last call that should be made, as Defiant will now begin
// listening for connections.
. init ( ) ; Defiant เริ่มต้นทำงานบนพอร์ต 8888 (ซึ่งจะสามารถกำหนดค่าได้ในอนาคต) ดังนั้นคุณควรจะไปที่ http://localhost:8888 เพื่อดูเว็บไซต์ที่ทำงาน ดูเอาต์พุตคอนโซลสำหรับชื่อผู้ใช้และรหัสผ่านของผู้ดูแลระบบ
Defiant ไม่ได้ทำอะไรมากในขณะนี้และยังไม่พร้อมสำหรับการทำงานที่จริงจังเลย ทำไม เพราะมันยังคงถูกสร้างขึ้นแน่นอน! บางส่วนของมันมีอยู่ในใจและการสนทนาของนักพัฒนาเท่านั้น หากคุณต้องการความช่วยเหลือจากนั้นส่งข้อความถึงเราและค้นหาว่าแผนงานปัจจุบันคืออะไร
ดูแผนงานเพื่อดูว่าอะไรทำงานและสิ่งที่อยู่ในเรดาร์ของเราทันที ยังดีกว่าติดต่อฉันและค้นหาว่าคุณสามารถกระโดดเข้ามาและช่วยในการพัฒนาได้อย่างไร!
เราทำซ้ำ: รหัสนี้ยังไม่ได้มีไว้สำหรับงานการผลิตใด ๆ
เอกสารสามารถพบได้ที่นี่
ไม่มีอะไรใน API ที่ตั้งอยู่ในหินและมีเอกสารอย่างเป็นทางการน้อยมาก (แม้ว่าเราจะพยายามแสดงความคิดเห็นรหัสอย่างรับผิดชอบ) นอกจากนี้นี่เป็นร่างแรกและยังไม่สมบูรณ์ เมื่อคุณดูรหัสโปรดจำไว้ว่า: มีแฮ็กและโทดอสกระจัดกระจายไปทั่วระบบ บางครั้งการแฮ็คเป็นเพียงการทำงานบางอย่างเพื่อให้ส่วนกึ่งอื่น ๆ ที่เกี่ยวข้องกับบางส่วนสามารถออกมาได้และมีความตั้งใจที่จะทบทวนรหัสในภายหลัง บางครั้งสิ่งที่ต้องทำเป็นเพียงต้นขั้วที่แสดงถึงความคิดหรือระบุว่ามีบางสิ่งที่จำเป็นต้องเชื่อมต่อกับระบบในภายหลัง บางครั้งคุณลักษณะนี้มีอยู่ในใจของผู้เขียนเท่านั้น ESP จะเป็นประโยชน์ที่นี่ ...
เหนือสิ่งอื่นใดเราขอแนะนำให้คุณสร้างแนวโน้มและภูมิปัญญาของมวลชนเพื่อหวังว่าจะได้รับประสบการณ์การเขียนโค้ดที่สดใหม่และฟรี หากสิ่งนั้นล้มเหลวคุณก็อาจบ้าๆบอ ๆ เช่นกัน ไม่ว่าคุณจะเป็นอะไรก็ตาม ... จะท้าทาย!