Փոքր ծրագրավորման հնարքներ. ինչու են գիտելիքի մանր կտորտանքները օգտակար ամեն օր
Ուիլ Քելեհերը պնդում է, որ ինժեների ամենօրյա արտադրողականության զգալի մասը գալիս է գիտելիքի փոքրիկ, ինքնուրույն կտորտանքներից՝ git pickaxe որոնումներից մինչև լոգարիթմական մետրիկներ։
Ինչու է փոքր գիտելիքը կարևոր
Ուիլ Քելեհերը նոր բլոգային գրառման մեջ պնդում է, որ ամենօրյա ինժեներական արտադրողականության զարմանալիորեն մեծ մասը գալիս է գիտելիքի փոքրիկ կտորտանքներից. իմանալ, որ լեզվում կա որոշակի հնարավորություն, հասկանալ, որ չբացատրված TCP-ի ուշացումը հավանաբար կապված է Nagle-ի ալգորիթմի հետ, հիշել ճիշտ git հրամանը դժվար իրավիճակից դուրս գալու համար կամ իմանալ ֆայլը վերաշարադրելու հնարք։
Տերմինալում և Git-ում
Նրա օրինակները սկսվում են տերմինալից։ Ctrl+R-ը որոնում է հրամանների պատմության մեջ, իսկ fzf-ի տեղադրումը այդ որոնումը դարձնում է մշուշոտ (fuzzy)։ atuin-ը պատմությունը փոխարինում է որոնելի SQLite բազայով, իսկ per-directory-history-ն թույլ է տալիս հերթով որոնել միայն ընթացիկ թղթապանակում գործարկված հրամանները կամ բոլոր նախորդ հրամանները։ Git-ում git log -S pattern-ը՝ այսպես կոչված pickaxe-ը, թվարկում է բոլոր commit-ները, որոնք ավելացրել կամ ջնջել են տրված տողը. հեղինակի խոսքով՝ սա չափազանց օգտակար է հին կոդային բազաներում։ git log -G-ն նման է, սակայն ցույց է տալիս նաև, երբ տողը տեղափոխվել է։ Իսկ git checkout -ը վերադարձնում է նախորդ HEAD-ին, ինչպես cd -ը՝ նախորդ թղթապանակին։
Նա նաև պնդում է, որ find, ամենայն հավանականությամբ, ձեզ պետք չէ. find-ի բազմաթիվ հրամաններ փոխարինվում են **/*.md նման գլոբերով, որոնք shell-ների մեծ մասը սատարում է առանց կարգավորման, իսկ bash-ին նախ անհրաժեշտ է shopt -s globstar։ zsh-ի ընդլայնված ավտոլրացումը, նրա նշումով, լռելյայն միացված չէ և ակտիվանում է մի քանի տողով։
Տվյալների բազաներ, մետրիկներ և JavaScript
Հնարքների մի մասը ավելի արագ պատասխան ստանալու մասին է։ SELECT-ը առանց FROM-ի աշխատում է SQL-ում և արագ եղանակ է ստուգելու, թե ինչպես է իրեն պահում ֆունկցիան կամ հիշելու, թե ինչ է վերադարձնում SELECT TRUE <> NULL-ը։ Թե՛ PostgreSQL-ը, թե՛ MySQL-ը սատարում են explain analyze-ը, որը փաստացի կատարում է հարցումը և տալիս շատ ավելի շատ տեղեկատվություն դրա աշխատանքի մասին, քան սովորական explain-ը։ Մետրիկների դեպքում էլ լոգարիթմական դույլի գրանցումը, օրինակ Math.floor(Math.log10(count)), պատկերացում է տալիս արժեքների բաշխվածության մասին, ոչ միայն միջինի։
JavaScript-ի կողմից նա նշում է Array.flatMap-ը, Object.entries-ը և Promise.withResolvers-ը որպես իմանալու արժանի ժամանակակից հնարավորություններ, ինչպես նաև Node.js-ի մի հնարք՝ անհամաչափ մեծ ազդեցությամբ. https.Agent ստեղծելը և այն fetch կանչերին փոխանցելը բաց է պահում արտաքին ռեսուրսի հետ կապը, ինչը կարող է կտրուկ ազդել ուշացման վրա։
Ընկերության գիտելիքը նույն նյութից է
Ընկերության ներսում, նշում է Քելեհերը, էլ ավելի շատ գիտելիք այս ձևն է ընդունում. որ տվյալների աղբյուրն օգտագործել կոնկրետ խնդիրը վերլուծելիս, ով լավ է տիրապետում որևէ ոլորտին և ուրախ կօգնի, որտեղ է լավ փաստաթղթավորումը, որ ազդանշանն է նշանակում, որ ծառայությունը պետք է ձեռքով մասշտաբավորել, ինչպիսին է փուլային վերագործարկման հրամանը, որ գործիքն է ձանձրալի խնդիրը սկրիպտավորելի դարձնում։ Նախորդ ընկերությունում նա ամեն օր մեկ հնարք էր կիսում ինժեներական թիմի հետ Slack-ում՝ և՛ տեխնիկական, և՛ ընկերությանը հատուկ։
SiTech — AI-ով հզորացված վեբ մշակում
Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։