એકમ 12 / 12

સીમાઓ: સુરક્ષા, ગોપનીયતા, લાઇસન્સ અને નીતિશાસ્ત્ર

નફો:

  • ઓળખવાની અને ચકાસવાની ક્ષમતા કે AI બોગસ API, અસુરક્ષિત કોડ અને કૉપિરાઇટ કરેલી સામગ્રી ઉત્પન્ન કરી શકે છે
  • સ્ત્રોત કોડ ગોપનીયતા, વ્યક્તિગત ડેટા અને કોર્પોરેટ નીતિની મર્યાદામાં AI ઉપયોગનું સંચાલન કરવાની ક્ષમતા
  • એ સમજવું કે લાઇસન્સ પાલન, સુરક્ષા અને નીતિશાસ્ત્રની અંતિમ જવાબદારી એન્જિનિયરની રહે છે.

મોડ્યુલ પરીક્ષા

1. કોમ્પ્યુટર એન્જીનિયર તરીકે, જ્યારે AI કોડ જનરેશન ટૂલ સાથે કામ કરી રહ્યા હોય, ત્યારે નીચેનામાંથી કયા માટેની અંતિમ જવાબદારી હંમેશા માનવીની રહેવી જોઈએ?

  • A) ઉત્પાદનમાં મૂકવામાં આવેલ કોડની ચોકસાઈ, સુરક્ષા અને સમીક્ષા અને પરીક્ષણની અંતિમ મંજૂરી ✔
  • બી) ફંક્શન માટે પ્રથમ કોડ હાડપિંજર બનાવવું
  • C) ચલ નામો માટે સૂચનોની યાદી તૈયાર કરવી
  • ડી) કોડ ટિપ્પણીઓ માટે ડ્રાફ્ટ ટેક્સ્ટ તૈયાર કરી રહ્યા છીએ

વર્ણન: AI; તે કોડ સ્કેલેટન, ટેસ્ટ ડ્રાફ્ટ અને દસ્તાવેજીકરણ જેવા કાર્યોને ઝડપી બનાવી શકે છે. જો કે, તે સાચો, સલામત અને આવશ્યકતાઓનું પાલન કરે છે તેની ખાતરી કરવા માટે જનરેટ કરેલ કોડની સમીક્ષા, પરીક્ષણ અને મંજૂર કરવાની અને તેને ઉત્પાદનમાં મૂકવાની જવાબદારી એન્જિનિયરની છે; સ્વતંત્ર ચકાસણી વિના આ AI ને સોંપી શકાય નહીં.

2. AI એ તમારા માટે એક કાર્ય તૈયાર કર્યું છે અને તે સુખી માર્ગમાં કામ કરી રહ્યું હોય તેવું લાગે છે. ઉત્પાદનમાં મૂકતા પહેલા શ્રેષ્ઠ પગલું કયું છે?

  • A) ફંક્શન કામ કરતું હોય તેવું લાગે છે, તેને સીધા ઉત્પાદનમાં મૂકો
  • B) નાના એકમ પરીક્ષણો લખીને અને ચલાવીને વર્તણૂકને ચકાસો જેમાં એજ કેસનો સમાવેશ થાય છે ✔
  • C) ફંક્શનની રેખાઓની સંખ્યા જોઈને
  • ડી) ફંક્શનના નામને વધુ વર્ણનાત્મક બનાવવું

સમજૂતી: કામમાં દેખાવાનો અર્થ એ નથી કે યોગ્ય હોવું. ખાલી ઇનપુટ, શૂન્ય, નકારાત્મક, ખૂબ મોટી કિંમત અને મિસમેચ જેવા કિસ્સાઓને આવરી લેતા નાના એકમ પરીક્ષણો લખવા અને ચલાવવાથી ફંક્શનને જીવંત વાતાવરણમાં ખસેડ્યા વિના તેની વાસ્તવિક વર્તણૂક ચકાસવામાં આવે છે.

3. AI એ 'array.sortStable()' નામની પદ્ધતિ સૂચવી જે તમારી ભાષામાં અસ્તિત્વમાં નથી અને તેને સ્પષ્ટ રીતે સમજાવ્યું. લેવા માટે પ્રથમ યોગ્ય પગલાં શું છે?

  • A) પદ્ધતિનો સીધો ઉપયોગ કરવો કારણ કે AI આત્મવિશ્વાસપૂર્ણ લાગે છે
  • બી) પદ્ધતિને જાતે વ્યાખ્યાયિત કરો અને તેના નામનો બરાબર ઉપયોગ કરો
  • C) ભાષા/લાઇબ્રેરીના અધિકૃત દસ્તાવેજોમાંથી પદ્ધતિના અસ્તિત્વની ચકાસણી ✔
  • ડી) કમ્પાઇલર ચેતવણી બંધ કરો અને ચાલુ રાખો

સમજૂતી: ભાષાના નમૂનાઓ વાસ્તવમાં અસ્તિત્વમાં ન હોય તેવા પુસ્તકાલય, પેકેજ અથવા પદ્ધતિના નામો બનાવી શકે છે (આભાસ). દરેક પ્રસ્તાવિત API ભાષા અથવા લાઇબ્રેરીના સત્તાવાર અને વર્તમાન દસ્તાવેજો સામે શબ્દશઃ ચકાસાયેલ હોવું જોઈએ; જો તે દસ્તાવેજમાં શામેલ નથી, તો તેનો ઉપયોગ થવો જોઈએ નહીં.

4. તમે તમારી કંપનીના ગોપનીય સ્ત્રોત કોડ અને એમ્બેડેડ API કીને સાર્વજનિક AI ટૂલમાં પેસ્ટ કરવા માંગો છો અને મદદ માટે પૂછો છો. સૌથી સાચો અભિગમ કયો છે?

  • A) ઝડપ માટે API કી સાથે કોડ પેસ્ટ કરવો
  • બી) તે ફક્ત કંપનીનું નામ કાઢી નાખવા અને બાકીનું બધું શેર કરવા માટે પૂરતું છે
  • C) કોડ શેર કરવો અને પછી AI ને તેને કાઢી નાખવાનું કહેવું
  • ડી) રહસ્યો અને છુપાયેલા તર્કને દૂર કરવા અને સમસ્યાને પ્રતિનિધિ ઉદાહરણ તરીકે અથવા સંસ્થાકીય સાધનનો ઉપયોગ કરીને ઘટાડવી ✔

વર્ણન: ગુપ્ત સ્ત્રોત કોડ અને ઓળખપત્ર (API કી, પાસવર્ડ, કનેક્શન સ્ટ્રિંગ); કંપની સિક્રેટ અને સુરક્ષાની દ્રષ્ટિએ તે જોખમી છે. રહસ્યો અને છુપાયેલા વ્યવસાયના તર્કને બહાર કાઢવું ​​​​અને સમસ્યાને અનામી/પ્રતિનિધિ ઉદાહરણ સુધી ઘટાડવા અથવા એન્ટરપ્રાઇઝ/બિન-ડેટા શેરિંગ ટૂલનો ઉપયોગ કરવો જરૂરી છે.

5. AI એ જણાવ્યું કે તેમણે લખેલા શોધ કાર્યની જટિલતા O(n); પરંતુ કોડમાં બે નેસ્ટેડ લૂપ્સ છે. યોગ્ય એન્જિનિયરિંગ વર્તન શું છે?

  • A) કોડનું જાતે જ વિશ્લેષણ કરો અને જટિલતા જાતે કાઢો અને જો જરૂરી હોય તો તેને માપો ✔
  • B) O(n) સ્વીકારો અને ચાલુ રાખો કારણ કે AI એ કહ્યું
  • C) ચક્રની સંખ્યા ધારી લેવાનો પ્રભાવ સાથે કોઈ સંબંધ નથી
  • ડી) ફંક્શનનું નામ બદલો

સમજૂતી: સમયની જટિલતા (Big-O) બતાવે છે કે કેવી રીતે ઇનપુટ વધે તેમ કામગીરીની સંખ્યા વધે છે. બે નેસ્ટેડ લૂપનો સામાન્ય રીતે અર્થ O(n^2) થાય છે. AI ના જટિલતાના દાવાને મેન્યુઅલી કોડનું પૃથ્થકરણ કરીને અને જો જરૂરી હોય તો વધતા ઈનપુટ્સ સાથે માપન કરીને ચકાસવું જોઈએ; દાવા પર આધાર રાખવાથી કામગીરીની ખોટી ધારણા ઉત્પન્ન થાય છે.

6. AI જનરેટેડ કોડ કે જે ટેક્સ્ટને એકીકૃત કરીને એસક્યુએલ ક્વેરી માં વપરાશકર્તા ઈનપુટને સીધો દાખલ કરે છે. અહીં મુખ્ય સમસ્યા અને યોગ્ય ઉકેલ શું છે?

  • એ) કોઈ સમસ્યા નથી; ટેક્સ્ટ મર્જ એ સૌથી ઝડપી પદ્ધતિ છે
  • બી) એસક્યુએલ ઇન્જેક્શનનું જોખમ છે; ઇનપુટને અલગ કરતી પેરામીટરાઇઝ્ડ ક્વેરી (તૈયાર સ્ટેટમેન્ટ) નો ઉપયોગ કરવો જોઈએ ✔
  • સી) ફક્ત ક્વેરીને અપરકેસમાં રૂપાંતરિત કરવું પૂરતું છે
  • ડી) ક્વેરી ટૂંકી લખવાથી સમસ્યા હલ થશે

વર્ણન: ક્વેરી ટેક્સ્ટમાં સીધા વપરાશકર્તા ઇનપુટ ઉમેરવાથી SQL ઇન્જેક્શન નબળાઈ બનાવે છે; હુમલાખોર ઇનપુટ વડે ક્વેરી સુધારી શકે છે. સાચો ઉકેલ એ પેરામીટરાઇઝ્ડ ક્વેરી (તૈયાર સ્ટેટમેન્ટ) નો ઉપયોગ કરવાનો છે જે ઇનપુટને ક્વેરી ટેક્સ્ટથી અલગ કરે છે. AI કોડમાં આ સૌથી સામાન્ય રીતે ચૂકી ગયેલી સુરક્ષા ભૂલોમાંની એક છે.

7. AI દ્વારા ઉત્પાદિત કોડના ભાગની સમીક્ષા કરતી વખતે તમારી પાસે મર્યાદિત સમય છે. કયા મુદ્દાઓને પ્રાધાન્ય આપવા માટે શ્રેષ્ઠ છે?

  • A) માત્ર ફોર્મેટ વિગતો જેમ કે ઇન્ડેન્ટેશન અને સ્પેસિંગ
  • બી) ચલ નામોની માત્ર લંબાઈ
  • સી) તાર્કિક શુદ્ધતા, નબળાઈઓ અને ધાર કેસ વર્તન ✔
  • ડી) ફક્ત ફાઇલની કુલ રેખાઓની સંખ્યા

વર્ણન: કોડ સમીક્ષામાં સૌથી વધુ જોખમ; આ એવા મુદ્દાઓ છે જે ગંભીર નુકસાન પહોંચાડે છે, જેમ કે તાર્કિક ભૂલો, સુરક્ષા નબળાઈઓ અને ગોપનીય માહિતી લીક. સ્વચાલિત ટૂલ્સ સાથે ફોર્મેટ અને શૈલીની સમસ્યાઓ ઠીક કરવામાં આવે છે; મુખ્ય માનવ ધ્યાન ચોકસાઈ, સુરક્ષા અને ધાર કેસ વર્તન માટે સમર્પિત હોવું જોઈએ.

8. તમે AI બગ ઉકેલવા માંગો છો. કયું ઇનપુટ એઆઈને મૂળ કારણ શોધવામાં શ્રેષ્ઠ મદદ કરશે?

  • A) ફક્ત 'કોડ કામ કરતું નથી, તેને ઠીક કરો' એમ કહેવું
  • બી) ફક્ત ફાઇલનું નામ આપો
  • સી) માત્ર અપેક્ષિત પરિણામ કહીને, ભૂલ લખાણ વગર
  • ડી) સંપૂર્ણ ભૂલ સંદેશ, સ્ટેક ટ્રેસ, સંબંધિત કોડ અને લઘુત્તમ પ્રજનન ઉદાહરણ પ્રદાન કરો ✔

સમજૂતી: અસરકારક ડિબગીંગ માટે, AI ને સંપૂર્ણ ભૂલ સંદેશ, સ્ટેક ટ્રેસ, સંબંધિત કોડ સ્નિપેટ અને સૌથી નાનું પુનઃઉત્પાદન કરી શકાય તેવું નમૂના આપવું જરૂરી છે જે ભૂલ પેદા કરે છે. અસ્પષ્ટ નિવેદન 'કામ કરતું નથી' એઆઈને અનુમાન કરવા અને બ્લેન્કેટ ભલામણો કરવા દબાણ કરે છે.

9. AI દ્વારા ઉત્પાદિત તમામ એકમ પરીક્ષણો પ્રથમ રન પર પાસ થાય છે. આ સ્થિતિમાં કયા જોખમને અવગણવું જોઈએ નહીં?

  • A) પરીક્ષણો કોડની વર્તમાન સ્થિતિની પુષ્ટિ કરી શકે છે પરંતુ વાસ્તવિક/અપેક્ષિત વર્તન નહીં ✔
  • બી) કોડ સંપૂર્ણપણે ભૂલ મુક્ત છે કારણ કે તમામ પરીક્ષણો પાસ થયા છે
  • C) જો પરીક્ષણોની સંખ્યા મોટી હોય તો ગુણવત્તાની ખાતરી આપવામાં આવે છે
  • ડી) પરીક્ષણ પાસ કરવું એ સાબિત કરે છે કે કવરેજ પૂર્ણ છે

સમજૂતી: પરીક્ષણો કોડની વર્તમાન (કદાચ બગડેલ) વર્તણૂકને માન્ય કરી શકે છે, તેના હેતુવાળા વર્તનને નહીં; અથવા તેમાં કોઈ અર્થપૂર્ણ નિવેદન ન હોઈ શકે અને હંમેશા પસાર થાય છે. તે જોવા માટે કે પરીક્ષણો વાસ્તવિક અપેક્ષાને ચકાસી રહ્યા છે, તે સભાનપણે કોડને તોડવો અને પુષ્ટિ કરવી જરૂરી છે કે પરીક્ષણ લાલ થઈ ગયું છે.

10. AI એ તમને સમસ્યા માટે કોડનો તૈયાર બ્લોક બનાવ્યો છે. તમને શંકા છે કે ઓપન સોર્સ પ્રોજેક્ટમાંથી કોડ શબ્દશઃ કોપી કરવામાં આવ્યો હોઈ શકે છે. યોગ્ય અભિગમ કયો છે?

  • A) વિચાર્યા વિના લાયસન્સનો ઉપયોગ કરવો કારણ કે કોડ કામ કરે છે
  • બી) કોડના સ્ત્રોત/લાયસન્સ તપાસવું, જો જરૂરી હોય તો ફરીથી લખવું અને કોર્પોરેટ નીતિનું પાલન કરવું ✔
  • C) ફક્ત ચલ નામો બદલો અને સમસ્યા હલ થઈ છે તે ધ્યાનમાં લો
  • ડી) ધારી રહ્યા છીએ કે લાઇસન્સ માત્ર મોટી કંપનીઓને જ સંબંધિત છે

વર્ણન: AI પ્રશિક્ષણ ડેટામાં કોપીરાઈટ/લાઈસન્સવાળા કોડનું પુનઃઉત્પાદન કરી શકે છે. વ્યાપારી ઉત્પાદનમાં લાઇસન્સનું ઉલ્લંઘન ગંભીર કાનૂની જોખમો બનાવે છે. કોડના સ્ત્રોત અને લાયસન્સની તપાસ કરવી જરૂરી છે, જો જરૂરી હોય તો તેને તમારા પોતાના શબ્દોમાં ફરીથી લખો અને સંસ્થાની લાઇસન્સિંગ નીતિનું પાલન કરો.

11. AI એ સૂચન કર્યું કે તમે તમારા પ્રોજેક્ટ માટે તરત જ માઇક્રોસર્વિસિસ આર્કિટેક્ચર પર સ્વિચ કરો. આ દરખાસ્તનું મૂલ્યાંકન કરતી વખતે સૌથી યોગ્ય ઇજનેરી અભિગમ શું છે?

  • A) તરત જ સમગ્ર સિસ્ટમને માઇક્રોસર્વિસિસમાં વિભાજીત કરો કારણ કે AI સૂચવે છે
  • બી) માની લઈએ કે માઇક્રોસર્વિસ હંમેશા શ્રેષ્ઠ પસંદગી છે
  • સી) વાસ્તવિક જરૂરિયાત, લોડ, ટીમ સ્ટ્રક્ચર અને પ્લસ-માઈનસ બેલેન્સ અનુસાર દરખાસ્તનું મૂલ્યાંકન કરો ✔
  • ડી) ફક્ત આર્કિટેક્ચરની લોકપ્રિયતાના આધારે નિર્ણય લેવો

સમજૂતી: આર્કિટેક્ચરલ નિર્ણયો સંદર્ભ પર આધાર રાખે છે; માઇક્રોસર્વિસિસ સ્કેલ અને ટીમ વિભાજન જેવી જરૂરિયાતોમાં મૂલ્ય ઉમેરે છે, પરંતુ ઓપરેશનલ જટિલતા, વિતરિત ડિબગીંગ અને ખર્ચ જેવા ખર્ચ સાથે આવે છે. વાસ્તવિક જરૂરિયાત, ભાર, ટીમનું માળખું અને ગુણદોષ સંતુલન અનુસાર દરખાસ્તનું મૂલ્યાંકન કરો; સામાન્ય સલાહને આંધળી રીતે અનુસરવી જોઈએ નહીં.

12. AI એ તમારા કોડ માટે સુવ્યવસ્થિત README અને API દસ્તાવેજીકરણનું નિર્માણ કર્યું છે; પરંતુ કેટલાક અંતિમ બિંદુઓ અને પરિમાણો કોડમાં મેળ ખાતા નથી. યોગ્ય વર્તન શું છે?

  • A) દસ્તાવેજને જેમ છે તેમ પ્રકાશિત કરવું કારણ કે ટેક્સ્ટ અસ્ખલિત છે
  • બી) ફક્ત શીર્ષકને ઠીક કરો અને બાકીનાને જેમ છે તેમ છોડી દો
  • સી) દસ્તાવેજને વાંચ્યા વિના વેરહાઉસમાં ઉમેરવું
  • D) દરેક એન્ડપોઇન્ટ અને પેરામીટરની વાસ્તવિક કોડ સાથે સરખામણી કરો અને જે મેળ ન ખાતી હોય તેને ઠીક કરો ✔

વર્ણન: દસ્તાવેજીકરણ વાસ્તવિક કોડનું ચોક્કસ પ્રતિબિંબ હોવું જોઈએ; ખોટો દસ્તાવેજ તેને વાંચનારા વિકાસકર્તાઓને તેનો ખોટી રીતે ઉપયોગ કરવા દબાણ કરે છે. દરેક અંતિમ બિંદુ, પરિમાણ અને વળતર મૂલ્ય વાસ્તવિક કોડ સામે ચકાસાયેલ હોવું જોઈએ, અને કોઈપણ મેળ ખાતી નથી તે સુધારવી જોઈએ.

13. AI થી કોડની વિનંતી કરતી વખતે ઉચ્ચતમ ગુણવત્તાના આઉટપુટ માટે કયો ઇનપુટ અભિગમ યોગ્ય છે?

  • A) સ્પષ્ટપણે ભાષા/સંસ્કરણ, ઇનપુટ-આઉટપુટ કોન્ટ્રાક્ટ, અવરોધો અને ભૂલની પરિસ્થિતિઓ પ્રદાન કરવી ✔
  • B) ફક્ત 'મને અમુક વર્કિંગ કોડ લખો' એમ કહેવું
  • સી) કોઈપણ સંદર્ભ આપ્યા વિના ટૂંકી વિનંતી લખો
  • ડી) કોડની કેટલી લાઇન હશે તે ફક્ત સ્પષ્ટ કરવું

વર્ણન: શક્તિશાળી પ્રોમ્પ્ટ; તેમાં વપરાયેલી ભાષા અને સંસ્કરણ, ઇનપુટ-આઉટપુટ કોન્ટ્રાક્ટ, પ્રદર્શન અને શૈલીની મર્યાદાઓ, ભૂલની શરતો અને 'માત્ર વિનંતી કરેલ અવકાશમાં રહો' સૂચનાનો સમાવેશ થાય છે. સંદર્ભહીન 'મને એક ફંક્શન લખો' વિનંતી સામાન્ય છે અને ઘણીવાર અયોગ્ય કોડ બનાવે છે.

14. AI એ તમારી CI/CD (સતત એકીકરણ/ડિપ્લોયમેન્ટ) પાઇપલાઇન માટે રૂપરેખાંકન જનરેટ કર્યું છે અને તેમાં ડેટાબેઝ પાસવર્ડને સાદા ટેક્સ્ટમાં એમ્બેડ કર્યો છે. સાચો સુધારો કયો છે?

  • A) પાસવર્ડને સાદા ટેક્સ્ટ તરીકે છોડવો કારણ કે તે કામ કરે છે
  • બી) એન્વાયર્નમેન્ટ વેરીએબલ અથવા સિક્રેટ મેનેજમેન્ટ ટૂલ દ્વારા રહસ્યોને બહાર ખસેડવા, રીપોઝીટરીમાં સાદો લખાણ ન મૂકવું ✔
  • સી) પાસવર્ડને ફક્ત ટિપ્પણી લાઇન પર ખસેડો
  • ડી) ફાઇલનું નામ બદલવાથી સમસ્યા હલ થાય છે

સમજૂતી: રૂપરેખાંકન ફાઇલમાં સાદા ટેક્સ્ટમાં પાસવર્ડ્સ અને કી જેવા રહસ્યો લખવાથી સંસ્કરણ નિયંત્રણ અને અનધિકૃત ઍક્સેસ લીક થવાનું જોખમ રહેલું છે. રહસ્યો; તેને પર્યાવરણ વેરીએબલ્સ અથવા વિશિષ્ટ રહસ્યો મેનેજર દ્વારા બહાર રાખવું જોઈએ, અને સાદા ટેક્સ્ટમાં ક્યારેય રીપોઝીટરી દાખલ કરવી જોઈએ નહીં.