Ինչպես են սովորում ծրագրավորել | Բար Քեմփ Երևան 2016

Ահագին ժամանակ առաջ այսպիսի մի հետազոտություն էի նախաձեռնել։ Այս բարքեմփը դարձավ պատճառ, որ հետազոտության մեջ ինչ որ մի արդյունքի գամ ու ներկայացնեմ հետաքրքիր կետերը։

Ֆունկցիաները ծրագրավորում ուսուցանելիս

Մի դիտարկում եմ արել՝ երբ երեխաները (և ոչ միայն) սովորում են ծրագրավորման հիմունքները, ամենադժվար ընկալվող բանը ֆունկցիաներն են։ Ոչ թե ստանդարտ գրադարաններում գտնվող ֆունկցիաները, այլ այն ֆունկցիաները, որոնք իրենք պիտի ստեղծեն որևէ խնդիր ավելի էֆեկտիվ լուծելու համար։ Կուզեմ այս գաղափարի հաստատում կամ մերժում ստանալ ընթերցողից, ով դասավանդման փորձ ունի ․․․ Իմ զինանոցում մի քանի մեթոդ և մետաֆոր կա, որոնք ես օգտագործում եմ երբ փորձում եմ ֆունկցիաների գաղափարը, օգտագործումը և օգտակարությունը ցույց տալ։ 1․ Ֆունկցիաները որպես պրոցեդուրաներ կամ մոդուլներ Այս մոտեցումը ցուցադրելու համար նախ լուծում եմ որևէ խնդիր առանց ֆունկցնարի օգտագործման, իհարկե երկար է ստացվում ․․․ ապա ցույց  եմ տալիս նույն խնդրի լուծումը ամբողջական ծրագրային կոդը տրոհելու միջոցով և դրա տարբեր մասերից ֆունկցիաներ սարքելու եղանակով։ Հույս ունենալով, որ ավելի կարճ ծրագիրը գրավիչ կլինի։ Զուգահեռ պատմում եմ, որ ինչպես քաղաքականության մեջ, այնպես էլ ծրագրավորման ժամանակ աշխատում է «բաժանիր և տիրիր» սկզբունքը։ Այստեղ կարելի է նաև մոդուլյարության մասին խոսել։ 2․ Թույլատրում եմ գնալ երկար

[Վորդպրես] Ինչպես պայմանականորեն աշխատեցնել փլագինները

Վորդպրեսում հաճախ արագագործությունը օպտիմալացնելիս հարկ է լինում որոշակի ոճաթերթեր և սքրիփթներ անջատել այն էջերում, որտեղ դրանք պետք չէն։ Խնդիրը նրանում է, որ բազմաթիվ փլագիններ իրենց ոճաթերթերը և սքրիփթները խցուկմ են որտեղ պատահի, անկախ նրանից, տվյալ էջում դրանք անհրաժեշտ են , թե ոչ։ Օրինակ SyntaxHighlighter փլագինը ավելացնում է  3 հատ ոճաթերթ և 3 հատ սքրիփթային ֆայլ, մի բան էլ հենց html-ի մեջ գրում է որոշակի քանակությամբ javascript: Իհարկե կարելի է wp_dequeue_style և wp_dequeue_script ֆունկցիաների միջոցով կառավարել թե որ էջում ինչ ոճեր և սքրիփթներ բեռնվեն, սակայն դա ավելի երկար աշխատանք է, քան միանգամից  այդ էջերում փլագինի անջատումը ։ Դա կարելի է անել մոտավորապես այսպես։ add_filter( 'option_active_plugins', 'disable_syntax_plugin' ); function disable_syntax_plugin($plugins){ if(!is_admin()) { if(այստեղ գրել անջատելու պայմանը) { $key = array_search( 'wp-syntaxhighlighter/wp-syntaxhighlighter.php' , $plugins ); if ( false !== $key ) { unset( $plugins[$key] ); } } } return $plugins; }   պայմանը կարելի է կազմակերպել տարբեր եղանակներով,  էջի համարով, որևէ custom field-ով կամ բաժնի համարով ․․․

Վորդպրես․ Փլագինների ավտո֊ինսթալլեր փլագին

Ամեն անգամ, երբ wordpress-ով նոր նախագիծ եմ սկսում, անհրաժեշտ է լինում տեղադրել մի քանի փլագիններ, որոնք ծրագրավորման և տեստավորման ընթացքում ինձ անհրաժեշտ են։ Կարծում եմ, որ սա բավականին տարածված խնդիր է, շատերը այդ խնդրին հանդիպում են։ Փորձեցի ավտոմատացնել, նայեցի պատրաստ լուծումներ, կար սենց մի փլագին ` Multi Plugin Installer, որը անում է իմ ուզածը, սակայն մի քանի հատ ավել շարժում է պահանջում, իսկ ինձ պետք է մեկ հպումով տեղադրել և ակտիվացնել մի շարք փլագիններ։  Այդ փլագինը ֆորք եմ արել ու ձևափոխել, հիմա այն մեկ հպումով տեղադրում է հետևյալ փլագինները։ WP Lipsum Easy Featured Images P3 (Plugin Performance Profiler) Theme Check Duplicate Post WP Example Content Disable Comments Regenerate Thumbnails WP Limit Login Attempts WordPress File Monitor Plus Maintenance WP Lipsum Ընթացքում գուցե ցանկը փոխվի, ավելանան կամ պակասեն փլագիններ, սակայն հիմա ավելի արագ եմ սեթափ անում wordpress-ը։ Փլագինը կարելի է գտնել հետևյալ հասցեով https://github.com/hanumanum/hanuman_developer_plugins_installer   Դբա Լավը ։)

Վորդպրես֊ում FS_METHOD direct

Եթե փլագինները լոկալ մեքենայի վրա չեն տեղադրվում , ու առաջարկում է ftp-ի տվյալներ տալ, ապա կարելի է ֆայլերի բեռնումնման կարգավորումը փոխել, wp-config.php ֆայլում։ define('FS_METHOD','direct'); wp-config.php ֆայլի մասին կարող եք ավելին տեսնել այս հղումով։ Դբա Լավը ։)

Ծրագրավորում․ Ինչ ծրագրավորման լեզու սովորել առաջինը

Բարի լույս․ Շատերը ուզում են ծրագրավորում սովորել։ Դա նորմալ աշխատանքի հնարավորություն  է, շատ հետաքրքիր ու լավ վարձատրվող։ Սակայն որքան էլ շատ են ուսումնական կենտրոնները, առցանց ռեսուրսները ու գրքերը, սկսնակները դժվարանում են ընտել առաջին ծրագրավորման լեզուն։ Իրականում առաջին լեզվի և տեխնոլոգիական ուղղության ընտրությունը որոշվում է որևէ կոմպետենտ մարդու կողմից տրված խորհրդով։ Հիմա ես ուզում եմ իմ փայ խորհուրդը տալ, թե իմ կարծիքով (ու ոչ միայն իմ), որ լեզուն արժե սովորել որպես առաջին լեզու։ Իհարկե պետք է հասկանալ, որ միայն ծրագրավորման լեզվի իմացությունը մարդուն դեռ ծրագրավորղ չի դարձնում, այլ բաներ էլ է պետք իմանալ, տենց computer science-ոտ բաներ։ Տվյալների տիպեր և կառուցվածքներ, ալգորիթմներ, նախագծման կաղապարներ, մաթեմատիկա և այլն, սակայն այս բոլորը ուսումնասիրելու համար գոնե մեկ ծրագրավորման լեզու նախապես իմանալը շատ օգտակար է, որոշ դեպքերում նաև պարտադիր է։ Մարդիկ այսպիսի ուղեցույց են ստեղծել, որը օգնում է կողմնորոշվել լեզվի ընտրության մեջ։ Սեղմեք պատկերին ավելի մեծ տարբերակը տեսնելու համար։ Նայեք, հետո չմոռանաք հետ գալ ։) Իհարկե

«Ան֊Մուկ» համակարգչի ստեղնաշարային կառավարման ինքուսույց

Բարի լույս, Երկար ժամանակ ուզում էի մի ինքուսույց ստեղծել, որը կսովորեցնի hotkey-ներով աշխատել, քիչ քիչ, օրը մի 30 րոպեով, մի երկու ամսում մի ինչ որ օգտագործելի վիճակի հասցրեցի։ «Ան֊մուկը» կրթական նախագծի փորձ է, նոր սերնդի ինտերակտիվ ինքուսույց ստեղծելու փորձ։ Նախ և առաջ նախատեսված է դպրոցական տարիքի երեխաների համար, սակայն կարծում եմ մեծահասակներին նույնպես օգտակար կարող է լինել։ Այսօր դպրոցում երեխաների հետ տեստ արեցինք, որոշ բագեր գտանք, ուղղեցինք։ Հիմա փաբլիք beta վիճակում է, այսօր հրապարակեցի ու տարածեցի։ Բայց մի միտք է անընդհատ վերադառնում, որ էլի բաներ կարելի էր անել,կամ որոշ հարցերում այլ կերպ անել, սակայն զգում եմ, որ երևակայությունս չի աշխատում։ Հույս ունեմ, որ հանրայնացնելուց հետո ինձ նոր֊նոր գաղափարներ կտաք։ Այս պահին ինքուսույցը ապրում է http://ablog.gratun.am/unmuk/ հասցեով, կա նաև գիթհաբ ռեպո,  ցանկացողները կարող են ներդրում ունենալ։ Խնդում եմ չքաղաքականացնել, կամ էլ ընդհակառակը ՝ քաղաքականացնել ։) Նաև խրախուսում է տարածելը , հանուն ազգի, գրագիտության և անմկության ։) Դբա Լավը։)  

Ծրագրավորում․ Ուսումնական ՀՏՀ (FAQ)

Հ։ Ինչների՞ս են պետք բոլոր այս for-երը, if-երը function-նները և այլն, առանց սրանց կայք չէնք կարող պատրաստել Պ․  առանց դրանց կայք սարքող կդառնաք, բայց ծրագրավորող՝ ոչ Հ․ այսինչ բանը ո՞ր ֆունկցիայով անեմ Պ․ ինքդ գտիր այդպիսի ֆունկցիա, եթե չկա` ստեղծիր այն, ծրագրավորումը բոլոր հնարավոր ֆունկցիաների անգիր իմացությունը չի Հ․ իմ գրած կոդը ինչու՞ չի աշխատում Պ․ նայիր սխալներիդ, կոնսոլը (error reporting-ը միացրու ․․․) բաց պահիր, ի՞նչ սխալ կա Հ․ մի  բան է գրած է բայց չէմ հասկանում ինչ է Պ․ google translate կա դրա համար Հ․ հասկացա սխալը, բայց չէմ գտնում որտեղ է Պ․ կողքը գրում է թե որ տողում է Հ․ կոնսոլում սխալ չկա , բայց մեկ է, չի աշխատում 🙁 Պ․ հիմա արդեն տրամաբանական սխալ ունես, նայիր ինչ ես գրել Հ․ հիմարը չի անում այն ինչ ինձ պետք է Պ․ համակարգիչը հիմար է, մարդիկ, հատկապես ծրագրավորողներն են այն խելոք դարձում, եթե կոդդ հիմարություն է անում, ապա ո՞վ է իրական հիմարը ։) 😀 Հ․ բայց