5-жылы программалык камсыздоону иштеп чыгуунун 2020 мыкты тажрыйбасы

Эй Хабр! Сиздердин назарыңыздарга макаланын котормосун сунуштайм “Коддоону үйрөнүү боюнча 5 кеңеш – программисттер үчүн жалпы кеңеш” kristencarter7519 тарабынан.

2020-жылга саналуу гана күн калгандай көрүнгөнү менен, бул күндөр программалык камсыздоону иштеп чыгуу жаатында да маанилүү. Бул макалада биз келе жаткан 2020-жыл программалык камсыздоону иштеп чыгуучулардын жашоосун кандайча өзгөртөөрүн көрөбүз.

5-жылы программалык камсыздоону иштеп чыгуунун 2020 мыкты тажрыйбасы

Программалык камсыздоону өнүктүрүүнүн келечеги ушул жерде!

Салттуу программалык камсыздоону иштеп чыгуу – бул кээ бир белгиленген эрежелерди сактоо менен код жазуу аркылуу программалык камсыздоону иштеп чыгуу. Бирок заманбап программалык камсыздоону иштеп чыгуу жасалма интеллект, машина үйрөнүү жана терең үйрөнүү жаатындагы жетишкендиктер менен парадигмалардын өзгөрүшүнө күбө болду. Бул үч технологияны интеграциялоо менен, иштеп чыгуучулар көрсөтмөлөрдөн үйрөнгөн программалык чечимдерди түзө алышат жана керектүү натыйжаны алуу үчүн керектүү маалыматтарга кошумча функцияларды жана үлгүлөрдү кошо алышат.

Келгиле, код менен аракет кылып көрөлү

Убакыттын өтүшү менен нейрондук тармактык программалык камсыздоону иштеп чыгуу системалары интеграция, ошондой эле функционалдуулук жана интерфейстердин деңгээли жагынан татаалыраак болуп калды. Иштеп чыгуучулар, мисалы, Python 3.6 менен абдан жөнөкөй нейрон тармагын кура алышат. Бул жерде 1s же 0s менен бинардык классификацияны жасаган мисал программасы.

Албетте, биз нейрондук тармак классын түзүү менен баштасак болот:

NumPy NP катары импорттоо

X=np.array([[0,1,1,0],[0,1,1,1],[1,0,0,1]])
y=np.array([[0],[1],[1]])

Сигмоиддик функцияны колдонуу:

def sigmoid ():
   return 1/(1 + np.exp(-x))
def derivatives_sigmoid ():
   return x * (1-x)

Баштапкы салмактары менен моделди окутуу:

epoch=10000
lr=0.1
inputlayer_neurons = X.shape[1]
hiddenlayer_neurons = 3
output_neurons = 1

wh=np.random.uniform(size=(inputlayer_neurons,hiddenlayer_neurons))
bh=np.random.uniform(size=(1,hiddenlayer_neurons))
wout=np.random.uniform(size=(hiddenlayer_neurons,output_neurons))
bout=np.random.uniform(size=(1,output_neurons))

Жаңы баштагандар үчүн, эгер сизге нейрон тармактары боюнча жардам керек болсо, сиз интернеттен программалык камсыздоону иштеп чыгуучу мыкты компаниялардын веб-сайттарын издесеңиз болот же долбооруңузда иштөө үчүн AI/ML иштеп чыгуучуларын жалдай аласыз.

Чыгуу катмарынын нейронунун жардамы менен кодду өзгөртүү

hidden_layer_input1=np.dot(X,wh)
hidden_layer_input=hidden_layer_input1 + bh
hiddenlayer_activations = sigmoid(hidden_layer_input)
output_layer_input1=np.dot(hiddenlayer_activations,wout)
output_layer_input= output_layer_input1+ bout
output = sigmoid(output_layer_input)

Жашыруун код катмары үчүн эсептөө катасы

E = y-output
slope_output_layer = derivatives_sigmoid(output)
slope_hidden_layer = derivatives_sigmoid(hiddenlayer_activations)
d_output = E * slope_output_layer
Error_at_hidden_layer = d_output.dot(wout.T)
d_hiddenlayer = Error_at_hidden_layer * slope_hidden_layer
wout += hiddenlayer_activations.T.dot(d_output) *lr
bout += np.sum(d_output, axis=0,keepdims=True) *lr
wh += X.T.dot(d_hiddenlayer) *lr
bh += np.sum(d_hiddenlayer, axis=0,keepdims=True) *lr

чыгуу

print (output)

[[0.03391414]
[0.97065091]
[0.9895072 ]]

Ар дайым эң акыркы программалоо тилдери жана коддоо ыкмалары менен кабардар болуп туруу керек, ошондой эле программисттер жаңы колдонуучулар үчүн колдонмолорун ылайыктуу кылган көптөгөн жаңы куралдарды да билиши керек.

2020-жылы программалык камсыздоону иштеп чыгуучулар кайсы программалоо тилин колдонбосун, бул 5 программалык камсыздоону иштеп чыгуу куралдарын өз өнүмдөрүнө киргизүүнү ойлонушу керек:

1. Табигый тилди иштетүү (NLP)

Кардарларды тейлөөнү оңдогон чатбот менен NLP заманбап программалык камсыздоону иштеп чыгуу боюнча иштеген программисттердин көңүлүн буруп жатат. Алар NLPди чатботторго, санарип жардамчыларына жана санарип продуктыларына тез киргизүү үчүн Python NLTK сыяктуу NLTK инструменттерин колдонушат. 2020-жылдын орто ченинде же жакынкы келечекте NLP чекене бизнестен баштап, автономдуу унааларга жана үй жана кеңсе үчүн түзмөктөргө чейин маанилүү болуп жатканын көрөсүз.

Жакшыраак программалык камсыздоону иштеп чыгуу куралдары жана технологиялары менен алдыга жылып, сиз программалык камсыздоону иштеп чыгуучулардан NLPди ар кандай жолдор менен, үнгө негизделген колдонуучу интерфейстеринен бир топ жеңилирээк меню навигациясына, сезимдерди талдоого, контекстти идентификациялоого, эмоцияга жана маалыматтардын жеткиликтүүлүгүнө чейин күтө аласыз. Мунун баары колдонуучулардын көпчүлүгүнө жеткиликтүү болот жана компаниялар 430-жылга чейин өндүрүмдүүлүктүн 2020 миллиард долларга чейин өсүшүнө жетише алышат (IDC маалыматы боюнча, Deloitte келтирген).

2. REST Apis алмаштыруучу GraphQL

Оффшордук программалык камсыздоону иштеп чыгуучу фирмамдын иштеп чыгуучуларынын айтымында, REST API бир нече URL даректеринен жекече аткарылышы керек болгон маалыматтарды жай жүктөөдөн улам колдонмо ааламындагы үстөмдүгүн жоготуп жатат.

GraphQL – бул жаңы тенденция жана REST негизиндеги архитектурага жакшы альтернатива, ал бир суроону колдонуу менен бир нече сайттан бардык тиешелүү маалыматтарды алат. Бул кардар менен сервердин өз ара аракеттенүүсүн жакшыртат жана күтүү убактысын азайтат, бул колдонмону колдонуучу үчүн кыйла жооп берет.

Сиз программалык камсыздоону иштеп чыгуу үчүн GraphQLди колдонгонуңузда программалык камсыздоону иштеп чыгуу жөндөмүңүздү өркүндөтө аласыз. Кошумчалай кетсек, ал REST Apiге караганда азыраак кодду талап кылат жана бир нече жөнөкөй саптарда татаал сурамдарды жасоого мүмкүндүк берет. Ал ошондой эле ар кандай программалоо тилдеринде, анын ичинде Python, Node.js, C++ жана Java тилдеринде программалык камсыздоону иштеп чыгуучуларга колдонууну жеңилдеткен бир катар Backand as a Service (BaaS) функциялары менен жабдылышы мүмкүн.

3. Төмөн коддоо деңгээли/код жок (төмөн код)

Бардык төмөн коддуу программалык камсыздоону иштеп чыгуу куралдары көптөгөн артыкчылыктарды берет. Ал нөлдөн баштап көптөгөн программаларды жазууда мүмкүн болушунча натыйжалуу болушу керек. Төмөн код алдын ала конфигурацияланган код менен камсыз кылат, аны чоңураак программаларга киргизүүгө болот. Бул программист эместерге да татаал өнүмдөрдү тез жана оңой түзүүгө жана заманбап өнүгүү экосистемасын тездетүүгө мүмкүндүк берет.

TechRepublic отчетуна ылайык, кодсуз/төмөн коддуу инструменттер веб-порталдарда, программалык камсыздоо тутумдарында, мобилдик тиркемелерде жана башка тармактарда колдонулууда. Төмөн коддуу куралдар рыногу 15-жылга чейин 2020 миллиард долларга чейин өсөт. Бул куралдар бардыгын, анын ичинде иш процессинин логикасын башкаруу, маалыматтарды чыпкалоо, импорттоо жана экспорттоо менен алектенет. Бул жерде 2020-жылдагы эң мыкты төмөнкү коддуу платформалар:

  • Microsoft PowerApps
  • Мендикс
  • Сырткы системалар
  • Zoho Creator
  • Salesforce App Cloud
  • Ыкчам база
  • Жазгы жүктөө

4. 5G толкуну

5G туташуусу мобилдик тиркемени жана программалык камсыздоону иштеп чыгууга, ошондой эле веб өнүктүрүүгө чоң таасирин тийгизет. Анткени, IoT сыяктуу технологиялар менен баары байланышкан. Ошентип, аппараттын программасы 5G менен жогорку ылдамдыктагы зымсыз тармактардын мүмкүнчүлүктөрүн максималдуу түрдө колдонот.

Жакында Digital Trends менен болгон маегинде Motorolaнын продукт боюнча вице-президенти Дэн Дери "жакынкы жылдарда 5G ылдамыраак маалыматтарды, жогорку өткөрүү жөндөмдүүлүгүн жеткирет жана телефондун программалык камсыздоосун учурдагы зымсыз технологияларга караганда 10 эсе тездетет" деди.

Бул жагынан алганда, программалык камсыздоо компаниялары 5Gди заманбап колдонмолорго киргизүү үчүн иштешет. Учурда 20дан ашык операторлор өз түйүндөрүн жаңылоону жарыялашты. Ошентип, иштеп чыгуучулар 5G артыкчылыктарын пайдалануу үчүн тиешелүү API'лерди колдонуунун үстүндө иштей башташат. Технология төмөндөгүлөрдү кыйла жакшыртат:

  • Тармактык программанын коопсуздугу, айрыкча Network Slicing үчүн.
  • Колдонуучунун идентификаторлорун башкаруунун жаңы жолдорун бериңиз.
  • Төмөнкү кечигүү менен колдонмолорго жаңы функцияларды кошууга мүмкүндүк берет.
  • AR/VR системасынын өнүгүшүнө таасир этет.

5. Жеңил аутентификация

Аутентификация барган сайын купуя маалыматтарды коргоонун эффективдүү процессине айланып баратат. Татаал технология программалык хакерлерге гана аялуу болбостон, жасалма интеллектти жана ал тургай кванттык эсептөөнү да колдойт. Бирок программалык камсыздоону иштеп чыгуу рыногу үн анализи, биометрика жана бетти таануу сыяктуу аутентификациянын көптөгөн жаңы түрлөрүн көрүп жатат.

Бул этапта хакерлер онлайн колдонуучу идентификаторлорун жана паролдорун жасалмалоонун ар кандай жолдорун табышат. Мобилдик колдонуучулар смартфондоруна манжа изи же бетти сканерлөө менен кирүүгө көнүп калгандыктан, аутентификация куралдарын колдонуп, аларга жаңы текшерүү мүмкүнчүлүктөрүнүн кереги жок, анткени кибер уурулук ыктымалдыгы азыраак болот. Бул жерде SSL шифрлөө менен бир нече көп факторлуу аутентификация куралдары бар.

  • Soft Tokens смартфондоруңузду ыңгайлуу көп факторлуу аутентификаторлорго айлантат.
  • EGrid үлгүлөрү колдонууга оңой жана тармактагы аутентификациянын популярдуу түрү.
  • Бизнес үчүн эң мыкты аутентификация программаларынын айрымдары RSA SecurID Access, OAuth, Ping Identity, Authx жана Aerobase болуп саналат.

Индияда жана АКШда аутентификация жана биометрика жаатында кеңири изилдөө жүргүзүп жаткан программалык камсыздоо компаниялары бар. Алар ошондой эле үн, идентификатор, жүрүм-турум жана биометрикалык аутентификация үчүн мыкты программалык камсыздоону түзүү үчүн AIны жайылтып жатышат. Эми сиз санариптик каналдарды коргоп, платформа мүмкүнчүлүктөрүн өркүндөтө аласыз.

жыйынтыктоо

2020-жылы программисттердин жашоосу кыйындай баштайт окшойт, анткени программалык камсыздоону иштеп чыгуу темпи тездейт. Жеткиликтүү куралдарды колдонуу оңой болот. Акыр-аягы, бул прогресс жаңы санариптик доорго кирген динамикалык дүйнөнү түзөт.

Source: www.habr.com

Комментарий кошуу