ټولو ته سلام! زه غواړم د خلاصې سرچینې کتابتون رامینځته کولو تجربه شریک کړم ، د پروسې په اړه وغږیږم ، او تاسو ته وهڅوم چې خپلې پروژې رامینځته کړئ.
په پسرلي کې، کله چې د یګور بوګینکو یو جریان لیدم - زه د خلاصې سرچینې پراختیا مفکورې څخه الهام اخلم. یګور تاکید وکړ چې که تاسو غواړئ د عادي پراختیا کونکي څخه هاخوا لاړشئ او ډیر په لټه کې او ځانګړي متخصص شئ ، نو تاسو اړتیا لرئ خپل یو څه رامینځته کړئ. که دا یو کتاب وي، یو بلاګ، یو کتابتون، یا حتی یو چوکاټ، دا ډول پروژې تاسو ته اجازه درکوي چې د ډیری نورو پراختیا کونکو په منځ کې ودریږي، په ځانګړې توګه د نن ورځې معلوماتي ټیکنالوژۍ بازار کې. دا نه یوازې ستاسو مسلکیتوب ښیي بلکه د ساحې په پراختیا کې ریښتیني ښکیلتیا هم ښیې.
دې ټولو ما فکر کولو ته اړ کړ: زه څنګه واقعیا د نورو پراختیا کونکو په مینځ کې ودریږم؟ په IT کې د کلونو کار کولو او په مختلفو پروژو کې د برخه اخیستنې سره سره، ما لا هم خپل ځان نه درلود - هغه څه چې کولی شي زما انفرادیت او مسلکیتوب ښکاره کړي.
ما په GitHub کې زما د پالتو پخوانیو پروژو بیاکتنه وکړه، مګر ژر تر ژره پوه شوم چې هیڅ یو یې واقعیا مهم ندي. نو، ما پریکړه وکړه چې له سکریچ څخه پیل وکړم او یو څه نوی جوړ کړم. د هڅونې او لیوالتیا څخه ډک، ما د هغه څه په اړه فکر کولو پیل وکړ چې زه یې لیکلی شم چې په تقاضا کې به وي، لږترلږه د کوچنیو لیدونکو په منځ کې، او دا به زما د مهارتونو سره سمون ولري.
د دوو یا دریو ورځو لپاره، ما زما د خلاصې سرچینې پروژې لپاره نظرونه تحلیل کړل. هرڅومره چې ما فکر کاوه ، نور داسې بریښي چې هرڅه دمخه لیکل شوي ، او هغه څه چې لا تر اوسه درک شوي دي یوازې ترلاسه کول به ناممکن وي. اجازه راکړئ سمدلاسه ووایم: دا یو غلط لید دی. اجازه مه ورکوئ چې ستاسو وړتیا له منځه یوسي. هو، لا دمخه ډیر څه رامینځته شوي، مګر دا هیڅ دلیل نه دی چې د خپل ځان د جوړولو مفکوره پریږدي او پریږدي.
اوس، زه به تشریح کړم چې ولې:
د نوي څه رامینځته کولو ترټولو مهم اړخ د اصلي ستونزې پیژندل او د حل وړاندیز کول دي. دا کیدی شي یوه نړیواله ننګونه وي یا یوه کوچنۍ مګر د پام وړ مسله وي چې پرمختګ ته اړتیا لري. دا مهمه ده چې پوه شئ چې نور پراختیا کونکي یا منظم کاروونکي له کومو ستونزو سره مخ دي او تاسو څنګه کولی شئ له دوی سره د دې ننګونو په لرې کولو کې مرسته وکړئ.
د نور انعکاس وروسته، ما د .NET ټولنې لپاره ګټور یو څه رامینځته کولو لیوالتیا احساس کړه - یو کوچنی کتابتون چې کولی شي د پروژې پراختیا اسانه کړي. څرنګه چې زما لومړنی تمرکز .NET دی، ما پریکړه وکړه چې په هغه څه تمرکز وکړم چې زه دمخه پوهیږم او ښه کار کوم. یو نظر چې ذهن ته راغی د کیبورډ او ماوس څخه د ان پټ پیښو تعقیب لپاره یو کتابتون رامینځته کول وو.
له هغې یوه میاشت دمخه، د وینډوز لپاره په ډیسټاپ غوښتنلیک کې کار کولو په وخت کې، زه د ځینې کړنو ترسره کولو لپاره په کیبورډ کې د کلیدي فشارونو تعقیب دنده سره مخ وم. اصلي اهمیت دا و چې دا کار کولو ته اړتیا لري پرته لدې چې زموږ غوښتنلیک فعال و. څرنګه چې په هغه وخت کې هیڅ چمتو شوي حلونه شتون نلري، ما د اصلي P/Invoke زنګونو څخه کار واخیست او په بریالیتوب سره یې مطلوب پایله ترلاسه کړه. په دې شیبه کې، ما فکر نه کاوه چې نور پراختیا کونکي ممکن د دې مسلې سره مخ شي او دا چې یو کوچنی کتابتون چې دا ستونزه حل کوي خورا ګټور وي.
هو، دا کتابتون نه دی چې د هر چا ژوند به بدل کړي، مګر دا زما د خپل ځان د جوړولو په لور لومړی ګام دی. دا یو فرصت دی چې ارزښتناکه تجربه ترلاسه کړئ او په هغه څه کې ښکیلتیا کې وخت تیر کړئ چې زه واقعیا په زړه پوری یم، له همدې امله ما پریکړه وکړه چې ګام پورته کړم.
لومړی ګام د هغه فعالیت لپاره چې زما کتابتون به ولري د نظرونو مغز کول و. ما غوښتل د دې وړتیاوې د امکان تر حده پراخه وي پداسې حال کې چې د لاسرسي وړ او د کاروونکي دوستانه پاتې کیدل. زما هدف د کارونکي لپاره و چې په ډیری سناریوګانو کې د 3-5 لینونو څخه ډیر کوډ ونه لیکي.
د مغز د پروسې په جریان کې، زه د دې نظر سره راغلم چې دا به نه یوازې د ان پټ تعقیب لپاره بلکې د کنټرول لپاره هم ممکن وي. د مثال په توګه، د کوډ سره، یو څوک کولی شي د تڼۍ فشارونه یا کلیدي ترکیبونه سمبال کړي، د موږک کرسر حرکت وکړي، ځینې کیلي غیر فعال کړي ترڅو سیسټم د دوی فشارونو ته ځواب ورنکړي، یا حتی د کلیدي بندیزونه بدل کړي. دا ټول ځانګړتیاوې په تدریجي ډول د تازه معلوماتو له لارې پلي شوي.
هرڅومره ژر چې ما د ځانګړتیاوو ټولګه نهایی کړه، ما په لیوالتیا سره پراختیا پیل کړه. د کوډ لیکل په ځانګړي ډول ننګونه نه وه، مګر ما د هغې په جوړښت او پاکوالي تمرکز وکړ ترڅو نور پراختیا کونکي په اسانۍ پوه شي چې څه شوي او ولې. د پرمختیایي پروسې په جریان کې، ما څو ځله نړیوال ریفیکټر کول ترسره کړل، د سازمان او نومونو بدلول، او همدارنګه د کوډ برخې په جلا ټولګیو کې استخراج کول. ما د پلیټ فارم انحصار کوډ جلا کولو ته ځانګړې پاملرنه کړې (لکه څنګه چې ما په راتلونکي کې د کراس پلیټ فارم حل رامینځته کولو پلان درلود) پخپله د کتابتون کوډ څخه. دا به د بشپړ کوډبیس بیا لیکلو اړتیا مخه ونیسي کله چې د P/Invoke څخه لیرې کیږي. ما د XML نظرونو اضافه کولو لپاره وخت هم واخیست ترڅو د کتابتون کاروونکي پوه شي چې هر میتود یا ټولګي څه کوي.
د کتابتون د لومړۍ نسخې بشپړولو وروسته، ما دا NuGet ته پورته کړه (د .NET پلیټ فارم لپاره د بسته بندي مدیریت سیسټم، د npm یا pip سره ورته). ما غوښتل یو څه فیډبیک ترلاسه کړم ترڅو پوه شم چې ایا څوک پدې پروژه کې لیوالتیا لري او کوم لوري ته باید لاړ شم. زما د کتابتون ته وده ورکولو دمخه، ما پریکړه وکړه چې د GitHub ذخیره کې د README فایل جوړ کړم، په شمول د کتابتون د اهدافو په اړه معلومات او د دې کارولو څرنګوالي په اړه یو لنډ لارښود.
ما پریکړه وکړه چې په Reddit کې زما د لومړي کاروونکو لټون وکړم. د څو مناسبو ټولنو موندلو وروسته، ما یو لنډ پوسټ لیکلی و چې سرلیک یې " په وینډوز UI ایپس کې د کیبورډ / ماوس پیښو اداره کولو لپاره خلاص سرچینه C# کتابتون " یو څه فشار درلود، او په صادقانه توګه، ما د پام وړ پایلو تمه نه درلوده. په هرصورت، په حیرانتیا سره، دا پیسې ورکړې. یوې پوستې شاوخوا 14,000 نظرونه او نږدې 30 نظرونه د مثبت نظر سره ترلاسه کړل. دا یو په زړه پوری احساس و چې کاش هرڅوک یې تجربه کولی شي: دا احساس چې په پروژه کې مصرف شوي وخت بې ګټې نه و. که څه هم ما د پام وړ څه نه دي رامینځته کړي، زه پوهیدم چې داسې خلک شتون لري چې دا واقعیا ګټور بولي او څوک غواړي چې زما د هڅو ملاتړ وکړي.
د ټولو نظرونو راټولولو وروسته، ما پریکړه وکړه چې پراختیا ته دوام ورکړم او د خورا لیوالتیا کاروونکو سره په اړیکه کې پاتې شم چې نظرونه یې پریښودل. ما په فعاله توګه له دوی سره اړیکه ونیوله او د فعالیت لپاره یې د دوی غوښتنې اوریدلې چې دوی یې لیدل غواړي. په راتلونکې میاشت کې، ما څو کوچني تازه معلومات خپاره کړل او بیا یې د کاروونکو په جذبولو تمرکز وکړ.
په GitHub کې، د "غوره" په نوم یو ځانګړی ډول ذخیره شتون لري - دا د لینکونو او سرچینو ټولګه ده چې په ځانګړو موضوعاتو کې راټول شوي، د بیلګې په توګه، awesome-dotnet . زما موخه دا وه چې زما کتابتون په دې هر یوه ذخیره کې وده ومومي. که څه هم دا یو اسانه کار نه و - په GitHub کې د 10-15 ستورو سره یو کتابتون ډیره علاقه نه راجلبوي - ما لاهم اداره کړې چې ډیری یې ته ورسیږم. دا د پام وړ د کاروونکي ټرافيک زیات کړی او زما پروژې ته یې پام اړولی.
د نور پرمختګ په جریان کې، زه د ډیرو کوچنیو کارونو سره مخ شوم چې ځینې وختونه ما د بشپړولو لپاره لیوالتیا او انرژي نه درلوده. نو، ما پریکړه وکړه چې د خلاصې سرچینې پراختیا له ګټو څخه ګټه واخلم - د لیوالتیا جذب کول چې د دې دندو سره مرسته کولو ته لیواله دي. د دې کولو لپاره، ما د Up-for-grabs خدمت ته مخه کړه، کوم چې د هغو کسانو لپاره د فعال مسلو سره د خلاصې سرچینې ذخیره کولو لیست چمتو کوي چې غواړي ونډه واخلي. زما د ذخیره کولو او ډیری مسلو رامینځته کولو وروسته ، ما سمدلاسه د مرستې غوښتنې ترلاسه کړې.
وروسته له هغه چې زما کتابتون له زرو څخه ډیر ځله ډاونلوډ شو، ما پریکړه وکړه چې په فعاله توګه په اسنادو کار وکړم. د لومړي تازه کولو راهیسې ، د کتابتون فعالیت د پام وړ وده کړې ، او د README فایل کې مثالونه نور کافي ندي. د ټولو ممکنه اختیارونو څخه، ما ترټولو ساده او خورا د لاسرسي وړ انتخاب کړ: ما یو جلا مارک ډاون فایل جوړ کړ او د کتابتون لخوا وړاندیز شوي ټول ټولګي یې توضیح کړل. ما هم پریکړه وکړه چې د پرمختللو کاروونکو لپاره یو کوچنی لارښود ولیکم چې غواړي د کتابتون له وړتیاوو څخه پوره ګټه پورته کړي. زما د حیرانتیا لپاره، یو سړی چې د تخنیکي اسنادو په لیکلو کې تخصص لري ما ته ورسید او د مرستې وړاندیز یې وکړ. هغه ما سره د موادو په سمه توګه جوړښت او د ټولو توضیحاتو په دقیق ډول بیانولو کې مرسته وکړه. د هغه په مرسته، موږ دا کار په چټکۍ سره بشپړ کړ.
د خلاصې سرچینې پراختیا د نورو برنامو سره ستاسو د شبکې د لیدو او پراختیا لپاره عالي فرصت دی. تر اوسه د امريکا، اسټراليا، ارجنټاين، کاناډا، جرمني، پولنډ او نورو په ګډون له بېلابېلو هېوادونو نهو کسانو له دغه کتابتون سره مرسته کړې ده. دوی د لیکلو فعالیت، واحد ازموینې، او اسنادو کې مرسته کړې. برسېره پردې، دا د تجربې او په زړه پورې اړیکو یوه ښه تبادله وه. شاید د ځینو مرسته کونکو سره، موږ په ګډه یوه نوې پروژه پیل کړو.
د دندې او نورو ژمنو سره سره، زه غواړم پرمختګ ته دوام ورکړم او د ځانګړتیاوو سره یوه بشپړه نسخه خپره کړم چې زما په اند باید په کتابتون کې شامل شي. زما راتلونکي پلانونه د دې کراس پلیټ فارم جوړول او د ځانګړي UI چوکاټونو څخه یې جلا کول شامل دي.
په پایله کې، زه غواړم ټول هغه څه لنډیز کړم چې ما ویلي دي. هیڅکله د یو څه نوي هڅه کولو څخه مه ویره مه کوئ او چپ مه ځئ. که تاسو واقعیا د برنامو سره مینه لرئ او غواړئ د پراختیا کونکي په توګه وده وکړئ ، هڅه وکړئ خپل یو څه رامینځته کړئ - که دا یو کوچنی کتابتون وي یا خدمت. تاسو هیڅکله نه پوهیږئ چې دا به چیرته رهبري کړي. د دې کتابتون د پراختیا په جریان کې، ما نه یوازې د پروګرام کولو، بلکې د خلکو سره د لیدلو او نوي اړیکو په جوړولو کې خوښي وموندله. زه پلان لرم چې د خلاصې سرچینې پراختیا کې ښکیلتیا ته دوام ورکړم، نه یوازې زما د خپلو پروژو د پرمختګ له لارې بلکې د ټولنې کتابتونونو کې د مرستې له لارې - دا هم یوه ښه تجربه ده.
د هغو کسانو لپاره چې غواړي د خلاصې سرچینې پراختیا کې ښکیلتیا پیل کړي ، زه دا لارښود وړاندیز کوم!
که تاسو د دې پوسټ څخه خوند اخلئ ، زه به مننه وکړم که تاسو کولی شئ په GitHub کې د ستوري سره د کتابتون ملاتړ وکړئ!