انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

اوبونتو ۲۶٫۰۴ «راکون ثابت‌قدم» با پشتیبانی بلند مدّت منتشر شد 🎊

آخرین ارسال‌ها

صفحه: 1 [2] 3 4 ... 10
11
معرفی نرم‌افزار / پاسخ : رسم دیاگرام منطق برنامه با Drawio
« آخرین ارسال توسط seyal 04 مهر 1405، 10:59 ق‌ظ »
باز هم یک روش بهتری برای جریان کاری پیدا کردم:

با توجه به اینکه mermaid ساختار بهتری برای رهگیری در گیت و کار با ابزارهای AI هست، از این روش استفاده کردم که فایل source of truth من به زبان mermaid باشه و نه فایل drawio.

یعنی به این صورت:

۱- شما با drawio ایده‌ها رو آزادانه‌تر ترسیم می‌کنید.
۲- اون قسمت‌هایی که فعلاً می‌خواهید روشون کار کنید رو با ابزاری که گفتیم تبدیل به mermaid می‌کنید.
۳- اون رو با AI به اشتراک می‌ذارید، نکته‌هاش رو تکمیل می‌کنید و از AI می‌خواید که به شما خروجی mermaid بده.
۴- این mermaid رو در ابزاری مثل mermaid code که یک ابزار بصری برای ویرایش و دیدن کدهای mermaid هست، جاگذاری می‌کنید. مزیتی که داره این هست که مستقیم می‌تونید فایل‌ها رو مثل یک text editor روی سیستم ذخیره کنید.
۵- ویرایش مستقیم mermaid از لحاظ بصری و ایده‌پردازی جالب نیست. اینجا اگر خواستید ایده جدیدی اضافه کنید، کافی هست که اون رو در drawio ترسیم کنید و دوباره مراحل ۱ تا ۳ رو انجام بدید.
۶- حالا دوباره این کدهای جدید mermaid که گرفتید رو به اون mermaid قبلی اضافه می‌کنید تا کامل‌تر بشه.

مزیتی که این روش داره این هست که شما فرایند طراحی و ایده‌پردازی رو از فرایند نگه‌داری ساختاریافته جدا کردید و ذهن خیلی بهتر می‌تونه کار خودش رو انجام بده.
12
معرفی نرم‌افزار / پاسخ : رسم دیاگرام منطق برنامه با Drawio
« آخرین ارسال توسط seyal 01 مهر 1405، 07:41 ب‌ظ »
نکته در مورد اشتراک این دیاگرام‌ها با ابزارهای AI :

برای اینکه بتونید این دیاگرامی که کشیدید رو با AI به اشتراک بزارید به این روش عمل کنید:
۱- ابتدا با نگه‌داشتن دکمه shift اون قسمت‌هایی که می‌خواهید در مورد منطقش با AI صحبت کنید رو از بالا به پایین انتخاب کنید.
۲- روی گزینه Export as xml در منو کلیک کنید و متن رو در حافظه کپی کنید.
۳-  با استفاده از ابزار یکی از این دو لینک زیر این قطعه کد xml رو به یک ساختار مرتب و تمیز دیاگرام mermaid تبدیل کنید که کمترین زوائد رو داشته باشه:
https://github.com/Salva5297/drawio2mermaid/tree/mainhttps://github.com/kornellewy/drawio_to_mermaidحتی می‌تونید خودتون یک ابزار بهتر هم بسازید اگر خواستید
۴- این ساختار mermaid حالا حجم حداقلی داره و می‌تونید به راحتی با AI اشتراک بزارید
۵- از AI بخواهید که خروجی که میده اون هم به فرمت mermaid باشه
۶- در اپ drawio می‌تونید کدهای mermaid رو در قسمت Arrange << Insert << Mermaid وارد کنید
۷- حالا به شکل گرافیکی دیاگرام اصلاح شده رو دارید می‌تونید اون قسمت‌هایی که مدنظرتون هست رو ببرید و در کد اصلی xml که داشتید جایگزین کنید.

یک نکته ریز هم برای ورک‌فلوی بهتر:
برای اینکه زیاد صفحه شلوع نشه می‌تونید از container ها استفاده کنید. مثلا به این لینک نگاه کنید توضیح داده که چطور باید از اونها استفاده کنید و چه مزیتی دارند:
https://www.drawio.com/docs/manual/shapes/container-shapes
13
معرفی نرم‌افزار / پاسخ : رسم دیاگرام منطق برنامه با Drawio
« آخرین ارسال توسط seyal 01 مهر 1405، 07:29 ب‌ظ »
خوب، از اونجایی که دوست نداشتم فایل‌ها مدام در فضای مرورگر ذخیره بشن و به اون وابسته باشند، از این روش نصب که بهتر و انعطاف‌پذیرتره استفاده می‌کنیم.

البته خود Draw.io فایل‌ها رو در فضای ذخیره‌سازی مرورگر نگه می‌داره، ولی مزیت این روش اینه که نصب برنامه، تنظیمات و اجرای اون کاملاً مستقل از مرورگر انجام می‌شه و هر زمان هم که بخوایم می‌تونیم فایل‌های ذخیره‌شده رو از فضای مرورگر استخراج کنیم.

۱- این پوشه رو جایی که دوست دارید بسازید:
mkdir drawio
cd drawio

۲- ساخت فایل docker compose :
nano docker-compose.yml
قرار دادن این محتویات و ذخیره فایل:

services:

drawio:
image: jgraph/drawio:latest
container_name: drawio
restart: unless-stopped
ports:
- "127.0.0.1:8181:8080"
environment:
DRAWIO_CONFIG: ${DRAWIO_CONFIG}
DRAWIO_USE_HTTP: "true"

۳- ساخت فایل متغیرها :
nano .env
قرار دادن این محتویات:

# Draw.io App Configurations
DRAWIO_CONFIG={"foldingIconSize":18,"ui":"light"}

این قسمت برای تعیین تنظیمات ظاهری Draw.io هست. مثلاً در اینجا تم برنامه رو روی حالت روشن گذاشتیم و اندازه‌ی آیکون‌های Collapse/Expand رو هم تعیین کردیم.

اگر بعداً خواستید تنظیمات دیگه‌ای رو تغییر بدید، کافی هست همین مقدار رو تغییر بدید و کانتینر رو دوباره اجرا کنید.

۴- اجرای Draw.io :

حالا در محیط همین پوشه این دستور رو اجرا کنید:

docker compose up -d
اینجا کار تموم هست.

حالا Draw.io از این آدرس در دسترس هست:

http://127.0.0.1:8181


استخراج فایل‌های Draw.io از فضای مرورگر

یک موردی که هست Draw.io فایل‌هایی که داخل خودش ایجاد یا ذخیره می‌کنیم رو در فضای ذخیره‌سازی مرورگر نگه می‌داره. بنابراین اگر مرورگر یا پروفایل مرورگر رو حذف کنیم، ممکنه این فایل‌ها هم از بین برن. البته خود drawio قابلیت دانلود تکی این فایلها رو به شما می‌ده.

برای اینکه فایل‌های واقعی .drawio رو مستقل از مرورگر داشته باشیم، می‌تونیم اون‌ها رو مستقیماً از فضای ذخیره‌سازی Draw.io استخراج کنیم.

درحالیکه در صفحه Draw.io هستید ابتدا F12 و سپس وارد قسمت Console بشید و این قطعه کد رو جایگذاری کنید:

(async () => {
if (!window.JSZip) {
await new Promise((resolve, reject) => {
const s = document.createElement("script");
s.src = "https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js";
s.onload = resolve;
s.onerror = reject;
document.head.appendChild(s);
});
}

const db = await new Promise((resolve, reject) => {
const r = indexedDB.open("database");
r.onsuccess = () => resolve(r.result);
r.onerror = () => reject(r.error);
});

const tx = db.transaction("files", "readonly");

const records = await new Promise((resolve, reject) => {
const r = tx.objectStore("files").getAll();
r.onsuccess = () => resolve(r.result);
r.onerror = () => reject(r.error);
});

db.close();

const files = records.filter(
x => x.title?.toLowerCase().endsWith(".drawio") && x.data
);

if (!files.length) {
console.log("No .drawio files found.");
return;
}

const zip = new JSZip();

for (const file of files) {
zip.file(file.title, file.data);
console.log("Added:", file.title);
}

const blob = await zip.generateAsync({
type: "blob",
compression: "DEFLATE"
});

const url = URL.createObjectURL(blob);
const a = document.createElement("a");

a.href = url;
a.download = "drawio-export.zip";
a.click();

setTimeout(() => URL.revokeObjectURL(url), 1000);

console.log(`✓ Exported ${files.length} Draw.io files`);
})();

این کد فایل‌های .drawio موجود در فضای ذخیره‌سازی Draw.io رو پیدا می‌کنه و همه رو داخل یک فایل به نام drawio-export.zip قرار می‌ده.

مثلاً اگر سه فایل داشته باشید:

SyncScript.drawio
Untitled Diagram.drawio
MyProject.drawio

خروجی به این شکل خواهد بود:

drawio-export.zip
├── SyncScript.drawio
├── Untitled Diagram.drawio
└── MyProject.drawio

بعد می‌تونید فایل ZIP رو در پوشه‌ای که برای فایل‌های Draw.io در نظر گرفتید Extract کنید.

یا اینکه حتی می‌تونید این عملکرد رو به شکل یک بوکمارک قابل کلیک در بیارید. کافیه که یک بوکمارک جدید تشکیل بدید و این کد زیر رو در قسمت URL جاگذاری کنید:
javascript:(async()=>{const d=await new Promise((r,j)=>{const x=indexedDB.open("database");x.onsuccess=()=>r(x.result);x.onerror=()=>j(x.error)}),f=await new Promise((r,j)=>{const x=d.transaction("files","readonly").objectStore("files").getAll();x.onsuccess=()=>r(x.result);x.onerror=()=>j(x.error)});d.close();const a=f.filter(x=>x.title?.toLowerCase().endsWith(".drawio")&&x.data);if(!a.length)return console.log("No Draw.io files found");const E=new TextEncoder,T=new Uint32Array(256);for(let n=0;n<256;n++){let c=n;for(let k=0;k<8;k++)c=c&1?0xedb88320^c>>>1:c>>>1;T[n]=c>>>0}const C=b=>{let c=0xffffffff;for(const x of b)c=T[(c^x)&255]^c>>>8;return(c^0xffffffff)>>>0},U=n=>new Uint8Array([n&255,n>>>8&255,n>>>16&255,n>>>24&255]),S=n=>new Uint8Array([n&255,n>>>8&255]),Q=(...x)=>{let r=new Uint8Array(x.reduce((s,a)=>s+a.length,0)),p=0;for(const a of x)r.set(a,p),p+=a.length;return r};let L=[],H=[],o=0;for(const x of a){const n=E.encode(x.title),b=E.encode(x.data),c=C(b),h=Q(U(0x04034b50),S(20),S(0x800),S(0),S(0),S(0),U(c),U(b.length),U(b.length),S(n.length),S(0),n);L.push(h,b);H.push(Q(U(0x02014b50),S(20),S(20),S(0x800),S(0),S(0),S(0),U(c),U(b.length),U(b.length),S(n.length),S(0),S(0),S(0),S(0),U(0),U(o),n));o+=h.length+b.length}const cd=Q(...H),z=Q(U(0x06054b50),S(0),S(0),S(a.length),S(a.length),U(cd.length),U(o),S(0)),u=URL.createObjectURL(new Blob([Q(...L),cd,z],{type:"application/zip"})),e=document.createElement("a");e.href=u;e.download="drawio-export.zip";e.click();setTimeout(()=>URL.revokeObjectURL(u),1e3);console.log(`%E2%9C%93 Exported ${a.length} Draw.io files`)})()

فقط یک نکته: این کد فقط فایل‌هایی که اسمشون با .drawio تموم می‌شه رو استخراج می‌کنه.
14
برنامه تقویم StarCalendar / StarCalendar 3.2.6
« آخرین ارسال توسط سعید رسولی 31 شهریور 1405، 10:20 ق‌ظ »
سلام به همه
نسخه دیگری از استارکل منتشر شد

لینک‌های دانلود و نکات انتشار انگلیسی
https://github.com/ilius/starcal/releases/tag/3.2.6

نکات انتشار فارسی
https://github.com/ilius/starcal/blob/main/doc/release/3.2.6-fa.md


15
معرفی نرم‌افزار / پاسخ : proofreading متون با Languagetool
« آخرین ارسال توسط seyal 31 شهریور 1405، 03:00 ق‌ظ »
جریان کاری من برای تولید محتوای متنی، صوتی و ویدیویی

خوب علاوه بر LanguageTool برای داشتن یک جریان کاری بهتر اومدم از گلدن‌دیکت و یک ابزار اصلاح متن با AI هم استفاده کردم.

به این روش عمل می‌کنیم:

۱- استفاده از واژه‌نامه:
با استفاده از گلدن‌دیکت و لینک داخل این پست که معرفی کرده بودم واژه‌نامه‌های فارسی به انگلیسی مثل آریان‌پور و انگلیسی به انگلیسی مثل Wornnet برای یافتن synonym ها رو نصب می‌کنیم
البته این مرحله بیشتر در اوایل کار همراه هست و هرچه جلوتر می‌ریم وابستگی ما به این مرحله هم کمتر می‌شه.
اینجا سعی می‌کنیم جمله‌ای که تو ذهنمون داریم رو با یافتن واژه‌های مناسب از این واژه‌نامه ها درست کنیم حتی اگر ساختار گرامری کاملا ابتدایی و بعضا غلط داشته باشه چون هدف این هست که ذهن آزادانه بتونه لحن خودش رو بیان کنه.

۲- ابزار تصحیح گرامر:
اینجا می‌ریم سراغ تصحیح گرامر به صورت تعاملی که نقش ابزار LanguageTool که بالا توضیح دادیم مشخص می‌شه.
پس از چندبار غلط‌گیری متن و بازخورد گرفتن خیلی نکات ریز دستمون میاد.

۳- استفاده از LLM ها:
برای راحتی بیشتر در این مرحله، اینجا یک ابزار دیگه رو هم معرفی می‌کنم به اسم Reply Better AI
لینک افزونه فایرفاکس
واقعا ابزار فوق‌العاده‌ای هست. به شما این امکان می‌ده که از مدل‌های هوش‌مصنوعی که دارید(حالا یا local مثل Ollama یا و یا اشتراکی مثل Openrouter) که دارید برای تصحیح متن و پیشنهاد جملات Refine شده استفاده کنید.
می تونید چند پرامپت  آماده تعریف کنید و به صورت گرافیکی آیکون با هایلایت کردن متن نمایش داده می‌شه و این سرعت فرایند و بهینگی تجربه کاربری رو چندبرابر می‌کنه.
با کلیک روی اون عنوانی که تعریف کردید، مدل هوش‌مصنوعی برای شما طبق پرامپت تعریف شده، متن رو بازنویسی می‌کنه و می‌تونید از اون ایده بگیرید و ساختار جمله رو اصلاح کنید.


یک نکته: برای اینکه خروجی با کیفیت داشته باشید باید ورودی باکیفیت هم بگیرید. پس سعی کنید در کنار تقویت این مهارت، از وبسایت‌های انگلیسی مثل Medium یا Substack یا ویدیوهای YouTube و پادکست‌های SoundCloud هم مقالات و پادکست با کیفیت گوش بدید تا ذهنتون با ساختار طبیعی زبان مقصد خو بگیره و بتونه استانداردها رو بهتر تشخیص بده.(یا وبسایت‌های آزادی که در ادامه دوستان معرفی می‌کنند).

ادامه مراحل برای رسیدن به ضبط ویدیو باکیفیت:

۱- تقویت speaking :
برای تقویت speaking ابتدا از همین متن مقاله‌ها و تکست‌هایی که نوشتیم شروع می‌کنیم و سعی می‌کنیم ابتدا این توانایی رو به دست بیاریم که بتونیم اونها رو به ویس تبدیل کنیم. وقتی این مهارت speaking در ما تا حد قابل قبولی تقویت شد می‌تونیم از اون در تولید ویدیو استفاده کنیم.
به این روش عمل می‌کنیم که سعی کنید الان این متنی رو که خودتون نوشتید و تصحیح کردید، بدون روخوانی از روی اون و در حالت فی‌البداهه، به صورت قطعه قطعه به یک ویس‌مسیج یا پادکست تبدیل کنید. اینجا برنامه Audacity خیلی می‌تونه برای تولید صوت‌های با کیفیت و مدیریت و تنظیم overlapping به شما کمک کنه.
این کار علاوه بر تقویت هر دو مهارت باعث می‌شه که مخاطبین بیشتری هم بتونید جذب کنید چون بعضیا بیشتر میل به نسخه صوتی و ارتباط‌گیری با لحن گوینده دارند و پس از انجام چندباره این کار ضبط ویدیو بسیار برای شما آسان‌تر خواهد شد.

۲- ضبط ویدیو:
توصیه‌ام برای ویدیو این هست که یکبار بدون pause کل ویدیو رو ضبط کنید. مثلا شاید حتی بشه سه ساعت. حالا با برنامه kdenlive اون تکه‌های اضافی مثل loading صفحه وب و .. رو حذف کنید به یک ویدیو حدودا ۲۰ دقیقه‌ای می‌رسید.
حالا با الگوگیری از ویس طبیعی ویدیو قبلی که خودتون گفته بودید، و به روش تقویت speaking که مرحله قبل گفتیم با برنامه audacity قطعه به قطعه برای این ۲۰ دقیقه ویس ضبط کنید و جاگذاری کنید.
برای زیباتر کردن ویدیو و افزودن جلوه‌های تصویری دوبعدی ساده هم می‌تونید از نرم‌افزار Natron استفاده کنید و وقتی اون قطعه‌ها رو ساختید(مثل نمایش لوگو روی تصویرزمینه و ...) با kdenlive اونها رو به هم بچسبونید و افکت صوتی بزارید و به یک خروجی حرفه‌ای و زیبا برسید.


شما چه تجربه‌ای دارید؟
16
معرفی نرم‌افزار / proofreading متون با Languagetool
« آخرین ارسال توسط seyal 30 شهریور 1405، 08:12 ق‌ظ »
معرفی LanguageTool ابزاری برای تصحیح گرامری بدون اتصال به اینترنت

می‌خواستم ویدیو به انگلیسی بگیرم اما دیدم که من اصلا هنوز به سبک درستی قواعد گرامری رو رعایت نمی‌کنم و اول باید نوشتار خودم رو درست کنم و این قاعده‌ها رو کم‌کم تو ناخودآگاه خودم جا بندازم و بعد از چند تمرین حرف‌زدن با رعایت این قواعد، به سمت ویدیو برم که کیفیت قابل قبولی داشته باشه. بنابراین نیاز به ابزاری داشتم که کار proofreading یا تصحیح املایی و گرامری رو برای من انجام بده.

مشکلی که مدل‌های هوش‌مصنوعی داشتند این بود که:
۱- دیگه لحن و قلم خودم رو نداشتم(یعنی فقدان Personal branding)
۲- وابستگی شدیدی ایجاد می‌کرد و مثل این بود که مدام از حل‌المسائل برای حل سوالات استفاده کنی.(البته به مدل استفاده ما از هوش‌مصنوعی هم بستگی داره اما خوب اکثرا ذهن ما پیش‌فرض از این روش استفاده می‌کنه وقتی مرحله به مرحله پیش نریم)

این رویکرد که ابتدا متن رو بنویسم و صرفا جاهایی که حس می‌کنم نامفهوم هست رو با LLM ها بررسی کنم رویکرد بسیار بهتر از این بود که کلا هرچی ورودی دارم مستقیم به AI بدم تا برام تصحیح کنه. بخوام مثال بهتری بزنم این ابزار مثل یک IDE برای زبان‌های برنامه‌نویسی باید برای من عمل می‌کرد که خطاهای منطقی و نوشتاری کدی که می‌نویسیم رو هایلایت می‌کنه به جای اینکه کلا کد رو تغییر بده. بیشتر به یک همراهی نیاز داشتم که مثل یک معلم اشتباهات گرامری و تایپی رو به من گوشزد کنه به جای اینکه کلا متن رو بکوبه و از نو بسازه.

وبسایت‌های آنلاین متعددی مثل Grammarly, Quilbot و … هستند که می‌تونید از اونها استفاده کنید اما مشکلی که داشتند:
۱- باید حتما به اینترنت وصل باشیم
۲- نمی‌خواستم هرچه می‌نویسم رو آنلاین به اشتراک بزارم.
۳- رابط کاربری سنگینی اکثرا داشتند و کار با اونها روان نبود.
۴- به خوبی نمی‌تونستم اونها رو تو برنامه‌های دیگه ادغام کنم.

پس از جستجو برای یافتن یک ابزار محلی، به languagetool رسیدم.
البته این ابزار وبسایت آماده هم مثل موارد بالا که اشاره کردیم داره , برای امتحان کردن و آشنایی با قابلیت‌های languagetool می‌تونید از وبسایت خودش هم استفاده کنید.
لینک گیتهاب - لینک وبسایت


اما برای نصب محلی:

اگر یک نسخه مینیمال کارتون رو راه می‌ندازه می‌تونید از Flathub برنامه Eloquent رو نصب کنید:
لینک فلت‌هاب
خودش به صورت built-in این ابزار رو اجرا می‌کنه اما با این روش انعطاف کمی دارید و صرفا به قابلیت‌های همین برنامه متکی هستید و برای ادغام در لیبره‌آفیس و افزونه فایرفاکس نصب languagetool server رو پیشنهاد می‌کنم که برای نصب و راه‌اندازی اون طبق این مراحل عمل می‌کنیم:

مرحله اول: نصب با داکر
برای نصب الگوگیری من از این وبسایت بود اما با مشکل اجرا می‌شد و یک‌سری تغییرات ریزی رو اعمال کردم:
لینک https://fariszr.com/host-language-tool-with-docker/

۱- این پوشه رو ایجاد کنید و وارد بشید:
mkdir languagetool
cd languagetool
این پوشه رو می‌تونید هرجا خواستید تشکیل بدید.

۲- با یک دانلود منیجر این دو تا فایل رو دانلود کنید(اولی حجمش کمی بالاست):
فایل N-gram :
https://languagetool.org/download/ngram-data/ngrams-en-20150817.zipفایل Fasttext :
https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.bin
۳- دو تا فایلی که از مرحله قبل دانلود کرده بودیم:
فایل N-gram: در همین پوشه unzip کنید
فایل Fasttext: مستقیم در همین پوشه قرار بدید و اسم فایل رو به fasttext-model.bin تغییر بدید
یعنی  باید ساختار پوشه تا به اینجا چنین چیزی بشه:
❯ tree -L 2
.
├── fasttext-model.bin
└── ngrams
    └── en

۳- یک فایل Dockerfile به این صورت تشکیل بدید:
nano Dockerfileو سپس این محتویات رو جاگذاری و ذخیره کنید:
FROM erikvl87/languagetool:latest
USER root
RUN apk add fasttext
USER languagetool

۴- فایل docker compose رو به این صورت ایجاد می‌کنیم:
nano docker-compose.ymlو این محتویات رو قرار می‌دیم:
services:
  languagetool:
    build: .
    container_name: languagetool
    restart: always
    tmpfs:
      - /tmp:exec
    cap_drop:
      - ALL
    cap_add:
      - CAP_SETUID
      - CAP_SETGID
      - CAP_CHOWN
    security_opt:
      - no-new-privileges
    ports:
      - 8010:8010
    environment:
      - langtool_languageModel=/ngrams
      - Java_Xms=512m
      - Java_Xmx=3g
      # Remove these lines:
      # - langtool_fasttextBinary=/usr/bin/fasttext
      # - langtool_fasttextModel=/fasttext-model.bin
    volumes:
      - ./ngrams:/ngrams
      # You can also remove this if you're using the auto-downloaded model:
      # - ./fasttext-model.bin:/fasttext-model.bin

۴- تا این مرحله باید به چنین ساختاری رسیده باشید:
❯ tree -L 2
.
├── docker-compose.yml
├── Dockerfile
├── fasttext-model.bin
└── ngrams
    └── en

اینجا دیگه تقریبا کار اصلی تمومه. این دستور رو اجرا کنید و پس از دانلودشدن موفقیت آمیز ایمیج‌های اولیه، سرویس راه‌اندازی می‌شه.
docker compose up -d --build
۵- می‌تونید با اجرای دستور زیر در ترمینال از درست کردن برنامه اطلاع پیدا کنید:
curl -s -d "language=en-US" -d "text=I will go to there house." http://localhost:8010/v2/check | jqبرای اینکه بتونیم به طور گرافیکی از قابلیت‌های این ابزار استفاده کنیم باشیم سری مرحله بعد رو دنبال کنید.


مرحله دوم: دسترسی به API محلی از طریق افزونه

۱- ابتدا افزونه مرورگر اون رو از این لینک نصب می‌کنیم:
لینک افزونه فایرفاکس

۲- با راست‌کلیک کردن روی آیکون افزونه و انتخاب گزینه manage extension و سپس در صفحه جدید بازشده با کلیک روی سه نقطه و سپس گزینه preference وارد تنظیمات افزونه می‌شیم.


۳- به انتهای صفحه برید و  قسمت Advanced settings رو به این صورت تنظیم و ذخیره کنید:


۴- حالا اگر تنظیمات پیش‌فرض افزونه رو تغییر نداده باشید الان هرجا اقدام به تایپ کردن کنید(حتی در آدرس‌های local) این افزونه اشتباهات گرامری رو به شما به همراه جایگزین صحیح نشون میده و با یک کلیک اون اشتباه رو درست می‌کنه.



البته اگر از قابلیت فعال شدن سراسری خوشتون نمیاد می‌تونید غیرفعال کنید و صرفا طوری تنظیم کنید که وقتی منوی افزونه رو باز کردید از اونجا اشکالات متن رو تشخیص بده. همچنین پس از تصحیح اولیه با مدل لوکال و حفظ بیان خودتون، می‌تونید به خود وبسایت languagetool برید و اونجا به صورت پیشرفته‌تر حتی لحن متن و سایر ویژگی‌ها رو هم با LLM آماده اون تغییر بدید(البته این مورد نیاز به اشتراک داره اما خوب می‌تونید از مدل‌های هوش‌مصنوعی دیگه‌ای که دارید استفاده کنید).
البته اگر اون رو هم خواستید کنترل داشته باشید این پروژه جالبی هست:
https://github.com/pluja/llm-language-tool
17
کافه اوبونتو / منتقل شده: غافل شدن از برنامه‌های docker !
« آخرین ارسال توسط esmaeelE 30 شهریور 1405، 12:06 ق‌ظ »
18
شبکه و سرویس‌ دهنده‌ها / پاسخ : تنظیم پروکسی برای carburetor
« آخرین ارسال توسط seyal 29 شهریور 1405، 09:29 ق‌ظ »
فکر کنم هربار از یک فایل موقتی استفاده می‌کنه:

tor -f /tmp/tmpi7n0kae3/tractorrc
شاید با خود tractor بهتر بشه مدیریت کرد.
19
شبکه و سرویس‌ دهنده‌ها / پاسخ : تنظیم پروکسی برای carburetor
« آخرین ارسال توسط Dragon- 28 شهریور 1405، 10:49 ب‌ظ »
خود تور این قابلیت را داره که از یه پروکسی http یا https استفاده کنه. با تنظیم HTTPProxy و HTTPSProxy توی فایل torrc میشه اینکار را انجام داد. می‌تونید برای اطلاعات بیشتر، یه نگاه به لینک بندازید.

نمی‌دونم کاربراتور اجازه تنظیم چنین چیزی را میده یا نه ولی ببینید جایی توی کاربراتور می‌تونید به طور دستی تنظیمات torrc اضافه کنید یا نه.

اگه بالایی ممکن نبود، این یکی را بررسی کنید:
اگه اشتباه نکنم، تور می‌تونه چندین فایل torrc را بخونه. پس اگه بشه دستوری که کاربراتور با اون تور را اجرا می‌کنه، ویرایش کرد، میشه فایل torrc خودتون که شامل تنظیمات HTTPSProxy یا HTTPProxy هست را به تور معرفی کنید.
برای مثال اگه کاربراتور، تور را به شکل زیر اجرا می‌کنه:
/usr/bin/tor -f /path/to/carburetor/torrc

می‌تونید به این شکل فایل torrc خودتون که شامل اون تنظیمات هست را به تور معرفی کنید:
/usr/bin/tor -f /path/to/carburetor/torrc -f /path/to/your/torrc

البته همه اینها به شرطی هست که کاربراتور اجازه ویرایش دستور اجرای تور را بده. این چیزی که بالا نوشتم، مفهوم و کلیت کاری هست که باید انجام بشه، جزئیات باید بسته به شرایط تنظیم بشن. (بیشتر منظورم مسیر فایل‌های torrc هست)
20
معرفی نرم‌افزار / مدیریت پست‌ها و نوشته‌ها با Leafwiki
« آخرین ارسال توسط seyal 28 شهریور 1405، 08:46 ب‌ظ »
به یک ابزاری نیاز داشتم که با اون بتونم متن رو برای شبکه‌های اجتماعی به شکل مارک‌داون بنویسم و سپس خروجی اون رو هم بتونم به صورت زنده ببینم.
یک چیزی مثل ویکی که اگر نوشته من طولانی شد بتونم بهش زیرعنوان اضافه کنم
و حتی اگر خواستم در بقیه دستگاه‌ها هم در دسترس باشه

داشتم توی مخازن نرم‌افزاری داکر گشتی می‌زدم که با leafwiki مواجه شدم.
نرم‌افزاری به شدت عالی برای این موارد هست.

لینک گیتهاب - لینک دمو

و اما روش نصب اون با داکر هست چون خودم تو نصبش با چالش مواجه شدم اینجا روش نصب رو هم می‌زارم:(از docker compose استفاده می‌کنیم)

۱- ترمینال رو باز کنید و این پوشه رو بسازید:
mkdir -p /home/$USER/.local/opt/leafwiki
cd /home/$USER/.local/opt/leafwiki

۲- فایل docker-compose رو به این شکل در این مسیر درست کنید:
nano docker-compose.ymlو جایگذاری این محتویات:
services:
  leafwiki:
    image: ghcr.io/perber/leafwiki:latest
    container_name: leafwiki
    ports:
      - "2231:8080"
    environment:
      - LEAFWIKI_JWT_SECRET=CHANGE_THIS_TO_A_LONG_RANDOM_SECRET_KEY
      - LEAFWIKI_ADMIN_PASSWORD=12345678
      - LEAFWIKI_ALLOW_INSECURE=true
    volumes:
      - leafwiki-data:/app/data
    restart: unless-stopped

volumes:
  leafwiki-data:
دقت کنید فیلدها رو من برای سادگی hard code کردم، پسورد و نام کاربری و secret key رو حتما برای امنیت بیشتر تغییر بدید.

۳- اجرا کردن این دستور در همین مسیر:
docker compose up -dپس از اجرا شروع به دانلود ایمیج‌های مورد نیاز برای راه‌اندازی سرویس می‌کنه و کمی طول می‌کشه.

۴- پس از نصب موفقیت آمیز، با بازکردن مرورگر به این صورت می‌تونید به ویکی دسترسی داشته باشید:
http://localhost:2231اگر موارد بالا رو تغییر نداده باشید مقادیر رو باید به این صورت وارد کنید:
نام کاربری: admin
رمزعبور: 12345678

۵- الان می‌تونید از این ابزار فوق‌العاده روی دستگاه‌های مختلفی که دارید و به یک شبکه وصل هستند استفاده کنید.


یک نکته در مورد مدیریت پست‌ها و پروژه‌ها:
این که یک ابزاره و کاربردهای متنوعی داره اما در مورد مدیریت پست‌ها با استفاده از این ابزار و شبکه‌های اجتماعی، می‌تونید برای هر پروژه یک صفحه درست کنید، حالا به صورت تایم‌لاین از پیشرفتتون در اون پروژه و کارهایی که کردید و یا ویژگی‌ها به صورت story mode پست بزارید
برای پست‌های کوچک مثل ماستودون نیاز به تشکیل صفحه ندارید. اما اگر مثلا مقاله بلند بود یک زیر صفحه براش تشکیل می‌دید.
این‌طوری هروفت خواستید تو شبکه‌های اجتماعی‌تون در مورد پروژه حرف بزنید با یک نگاه به این story line می‌تونید بفهمید که الان چه چیزی رو باید پست کنید.
مثلا پست ماستودون می‌تونه این باشه:
* امروز در حال کار بر روی فلان ویژگی بودم که استفاده از فلان کتابخونه به دردم خورد. لینک ویدیوش رو ضبط کردم از اینجا{قراردادن لینک} می‌تونید تماشا کنید.
به این ترتیب کم کم پروژه‌تون تبلیغ هم می‌شه.
برای پروژه‌های مختلف هم می‌تونید صفحات مختلف تشکیل بدید.
اگر نیاز به یک ابزار جامع هم داشتید که خودکار پست‌ها رو در شبکه‌های اجتماعی که مشخص می‌کنید بفرسته می‌تونید از پروژه openpost بازدید کنید.
صفحه: 1 [2] 3 4 ... 10