Программистке арналған пайдалы сайттар тізімі
https://github.com/sdmg15/Best-websites-a-programmer-should-visit
@it_bilimkz
@it_bilim_chat
instagram.com/it_bilim.kz
https://github.com/sdmg15/Best-websites-a-programmer-should-visit
@it_bilimkz
@it_bilim_chat
instagram.com/it_bilim.kz
GitHub
GitHub - sdmg15/Best-websites-a-programmer-should-visit: :link: Some useful websites for programmers.
:link: Some useful websites for programmers. Contribute to sdmg15/Best-websites-a-programmer-should-visit development by creating an account on GitHub.
IT маман Тимур ағаның жазбасын (сілтеме) көзім шалды. Жаңа іс бастауға түрткі болатындай әсер қалдырады.
Алдымен икигайды (өмірлік іс) анықтап алып, сол бағытта шыңдалып елге қызмет ету керек. Егер өмірлік миссияның IT саласымен байланысқан жері болса тіпті жақсы 🙂
Егерде мал керек болса, программалауды үйренбек керек. Мал жұтайды, Python мен Django жұтамайды. Алдау қоспай адал программалау - болашақтың әулиесі. (заманауи қара сөз)
@it_bilimkz
@it_bilim_code
instagram.com/it_bilim.kz
youtube.com/ITbilim
Алдымен икигайды (өмірлік іс) анықтап алып, сол бағытта шыңдалып елге қызмет ету керек. Егер өмірлік миссияның IT саласымен байланысқан жері болса тіпті жақсы 🙂
Егерде мал керек болса, программалауды үйренбек керек. Мал жұтайды, Python мен Django жұтамайды. Алдау қоспай адал программалау - болашақтың әулиесі. (заманауи қара сөз)
@it_bilimkz
@it_bilim_code
instagram.com/it_bilim.kz
youtube.com/ITbilim
Telegram
Тимурдан инфо
Қызық қой...
⠀
Кейде адамдар ойлайды, егер мен бай болсам, ақшам көп болса, әлемнің ең мықты мамандары менде жұмыс істесе, жапырып жіберер едім деп.
⠀
Ничего подобного.
⠀
Дәл қазір ARM-нан да, мейнстрим процессорлар нарығынан да қағылып жатқан, NVidia мен…
⠀
Кейде адамдар ойлайды, егер мен бай болсам, ақшам көп болса, әлемнің ең мықты мамандары менде жұмыс істесе, жапырып жіберер едім деп.
⠀
Ничего подобного.
⠀
Дәл қазір ARM-нан да, мейнстрим процессорлар нарығынан да қағылып жатқан, NVidia мен…
Консольды бағдарламалау
Неліктен қазіргі заманғы программисттерге консольді бағдарламалау дағдылары қажет?
Жұмыста ыңғайлылық. Серверде жобаны көтеру және оны басқарудың түрлі жолдары бар. Уақыт және ыңғайлылық жағынан ең тиімдісі терминал арқылы SSH немесе басқа әдіспен қосылу. Жұмыс барысында бірнеше сервермен жұмыс істер кезде консольді бағдарламалау таптырмас бір қабілет дер едім :)
Ұзақ мерзімді перспектива. Жоба тағдыры IDE-мен байланысты болмауы керек. Open source жобалардың көбісі белгілі бір IDE-ге, әсіресе меншікке тәуелді болмауға тырысады.
Open source жобалар. IDE-дің көмегінсіз жоба жасай алатындар open source проектті қолданарда қиындыққа тап болмайды. Бұндай қабілетті дамытпағандар форумдарға «жігіттер, маған көмектесіңдер, Kitap деген библиотеканы ProgramStudio-ға қалай импорт жасаймын?!» деп жазады.
Әлсіз комппен жұмыс істеу. Заманауи IDE-лер жоғары жад пен процессорды жейді, ыңғайлы жұмыс үшін үлкен мониторды қажет етеді. Ыңғайлы кеңседе, жұмсақ креслода үлкен және таза үстелдің басында отырсаңыз, бұл проблема емес. Бұл сіз шалғай жерге іссапармен жүргенде, жол талғамайтын көлікте немесе ұшақ салонында немесе тізеңізде 10 дюймдік ноутбукпен пойыз вагонында жұмыс істегенде қиындық тудырады.
Жоба бойынша қашықтықтан жұмыс жасау. Ия, мұнда балама нұсқалар бар: TeamViewer, TigerVNC. Әрине, өз проблемаларымен.
Психологиялық аспект. Өзіңе деген сенімділік артады, тінтуірдің(мышка) көмегінсіз көп шаруаны тындыра аласың. Хакер тәріздес :)
Программистердің басым көпшілігі Windows және Linux/Ubuntu ОС-пен жұмыс істейді. Консольді бағдарламалауға керекті командалар тізімі сілтемеде көрсетілген. Windows және Linux консоль командаларының сәйкестігі.
Неліктен қазіргі заманғы программисттерге консольді бағдарламалау дағдылары қажет?
Жұмыста ыңғайлылық. Серверде жобаны көтеру және оны басқарудың түрлі жолдары бар. Уақыт және ыңғайлылық жағынан ең тиімдісі терминал арқылы SSH немесе басқа әдіспен қосылу. Жұмыс барысында бірнеше сервермен жұмыс істер кезде консольді бағдарламалау таптырмас бір қабілет дер едім :)
Ұзақ мерзімді перспектива. Жоба тағдыры IDE-мен байланысты болмауы керек. Open source жобалардың көбісі белгілі бір IDE-ге, әсіресе меншікке тәуелді болмауға тырысады.
Open source жобалар. IDE-дің көмегінсіз жоба жасай алатындар open source проектті қолданарда қиындыққа тап болмайды. Бұндай қабілетті дамытпағандар форумдарға «жігіттер, маған көмектесіңдер, Kitap деген библиотеканы ProgramStudio-ға қалай импорт жасаймын?!» деп жазады.
Әлсіз комппен жұмыс істеу. Заманауи IDE-лер жоғары жад пен процессорды жейді, ыңғайлы жұмыс үшін үлкен мониторды қажет етеді. Ыңғайлы кеңседе, жұмсақ креслода үлкен және таза үстелдің басында отырсаңыз, бұл проблема емес. Бұл сіз шалғай жерге іссапармен жүргенде, жол талғамайтын көлікте немесе ұшақ салонында немесе тізеңізде 10 дюймдік ноутбукпен пойыз вагонында жұмыс істегенде қиындық тудырады.
Жоба бойынша қашықтықтан жұмыс жасау. Ия, мұнда балама нұсқалар бар: TeamViewer, TigerVNC. Әрине, өз проблемаларымен.
Психологиялық аспект. Өзіңе деген сенімділік артады, тінтуірдің(мышка) көмегінсіз көп шаруаны тындыра аласың. Хакер тәріздес :)
Программистердің басым көпшілігі Windows және Linux/Ubuntu ОС-пен жұмыс істейді. Консольді бағдарламалауға керекті командалар тізімі сілтемеде көрсетілген. Windows және Linux консоль командаларының сәйкестігі.
white55.ru
Соответствие консольных команд Windows и Linux.
Таблица соответствия основных команд командной строки операционных систем Linux и Windows.
REST API
Программистер арасында РЕСТ АПИ деген сөз көп қолданылады. Фронтенд, бэкенд және мобильді разраб-тар бір жобада жұмыс жасауында РЕСТ АПИдің ықпалы зор.
Бұл HTTP протоколын қолданатын сервермен мобильді қосымшаның / сайттың өзара байланысын ұйымдастыратын жалпы принциптер. REST-тің ерекшелігі - сервер сұраныстар арасындағы қолданушының күйін есте сақтамайды - әр сұраныста пайдаланушыны анықтайтын ақпарат болады (мысалы, OAuth авторизациясы арқылы алынған токен) және операцияны орындау үшін қажет барлық параметрлер.
Сервермен өзара байланыс жасауға негізгі 4 операция көмектеседі. (4 - бұл қажетті және жеткілікті минимум):
1. серверден деректерді алу (әдетте JSON немесе XML форматында)
2. серверге жаңа мәліметтер қосу
3. сервердегі бар мәліметтерді өзгерту
4. сервердегі деректерді жою
Деректерді алу әрекеті сервер күйін өзгерте алмайды.
Әрбір жұмыс түрі өзінің HTTP сұраныс (запрос) әдісін қолданады:
1. қабылдау - GET
2. қосу - POST
3. өзгерту - PUT
4. жою - DELETE
GET - запрос /api/users - барлық қолданушы туралы ақпарат алу
GET - запрос /api/users/8/ - id=8 болатын қолданушы туралы ақпарат алу
POST - запрос /api/users - жаңа қолданушыны қосу
PUT - запрос /api/users/8/ - id=8 болатын қолданушы туралы ақпаратты өзгерту
DELETE - запрос /api/users/8/ - id=8 болатын қолданушыны жою
Егер сіз микросервис жазып жүрген болсаңыз, стандарт REST API форматымен салыстырыңыз. https://reqres.in/
Программистер арасында РЕСТ АПИ деген сөз көп қолданылады. Фронтенд, бэкенд және мобильді разраб-тар бір жобада жұмыс жасауында РЕСТ АПИдің ықпалы зор.
Бұл HTTP протоколын қолданатын сервермен мобильді қосымшаның / сайттың өзара байланысын ұйымдастыратын жалпы принциптер. REST-тің ерекшелігі - сервер сұраныстар арасындағы қолданушының күйін есте сақтамайды - әр сұраныста пайдаланушыны анықтайтын ақпарат болады (мысалы, OAuth авторизациясы арқылы алынған токен) және операцияны орындау үшін қажет барлық параметрлер.
Сервермен өзара байланыс жасауға негізгі 4 операция көмектеседі. (4 - бұл қажетті және жеткілікті минимум):
1. серверден деректерді алу (әдетте JSON немесе XML форматында)
2. серверге жаңа мәліметтер қосу
3. сервердегі бар мәліметтерді өзгерту
4. сервердегі деректерді жою
Деректерді алу әрекеті сервер күйін өзгерте алмайды.
Әрбір жұмыс түрі өзінің HTTP сұраныс (запрос) әдісін қолданады:
1. қабылдау - GET
2. қосу - POST
3. өзгерту - PUT
4. жою - DELETE
GET - запрос /api/users - барлық қолданушы туралы ақпарат алу
GET - запрос /api/users/8/ - id=8 болатын қолданушы туралы ақпарат алу
POST - запрос /api/users - жаңа қолданушыны қосу
PUT - запрос /api/users/8/ - id=8 болатын қолданушы туралы ақпаратты өзгерту
DELETE - запрос /api/users/8/ - id=8 болатын қолданушыны жою
Егер сіз микросервис жазып жүрген болсаңыз, стандарт REST API форматымен салыстырыңыз. https://reqres.in/
Complexity - Күрделілік (гугл аударма)
Кейде алгоритмдік есептер шығарамын. Питон тілінде. Python-дағы деректер құрылымдары (data structures) үшін әр операцияның complexity-ын (күрделілігін) білу үшін пайдалы ресурс бар. Калифорния Университетінің CS мектебі дайындаған. https://www.ics.uci.edu/~pattis/ICS-33/lectures/complexitypython.txt
Кейде алгоритмдік есептер шығарамын. Питон тілінде. Python-дағы деректер құрылымдары (data structures) үшін әр операцияның complexity-ын (күрделілігін) білу үшін пайдалы ресурс бар. Калифорния Университетінің CS мектебі дайындаған. https://www.ics.uci.edu/~pattis/ICS-33/lectures/complexitypython.txt
Бағдарламалауды (Программирование) қай тілден бастап оқу керек?
HTML / JavaScript
Бұл тілдерді үйрену оңай. Бағдарламалаудың қолайлы екендігін сезінудің ең қарапайым тәсілі. Осы тілдерді білу кез-келген IT саласында пайдалы.
Python / PHP
Негізгі бөлімдерін меңгеру оңай. Junior-ға вакансиялары өте көп. Уақыт өте келе, осы тілдерді жетік білу арқылы бұдан да жоғары позицияны бағындырасыз. Сіз 2-3 жыл ішінде junior-дан middle/senior-ға дейін жоғары жалақы деңгейіне жетіп, мансап (карьера) жасай аласыз;
Java / C #
Егер сізге банкте немесе enterprise компанияда тұрақты жоғары жалақы төленетін жұмыс қажет болса, онда бұл тілдер сіз үшін ең жақсылары. Java соңғы 20 жыл ішінде өте танымал тіл болды. Мүмкін, алдағы 20 жыл ішінде де нарықтағы ең танымал тілдердің бірі болып қала береді.
P.S Бұл тек алғашқы қадам үшін. Кейін бағдарламалау негізгін меңгерген соң, қызыққан салаға терең үңілу керек. (С++, Object C, Kotlin, Gо, т.б.).
HTML / JavaScript
Бұл тілдерді үйрену оңай. Бағдарламалаудың қолайлы екендігін сезінудің ең қарапайым тәсілі. Осы тілдерді білу кез-келген IT саласында пайдалы.
Python / PHP
Негізгі бөлімдерін меңгеру оңай. Junior-ға вакансиялары өте көп. Уақыт өте келе, осы тілдерді жетік білу арқылы бұдан да жоғары позицияны бағындырасыз. Сіз 2-3 жыл ішінде junior-дан middle/senior-ға дейін жоғары жалақы деңгейіне жетіп, мансап (карьера) жасай аласыз;
Java / C #
Егер сізге банкте немесе enterprise компанияда тұрақты жоғары жалақы төленетін жұмыс қажет болса, онда бұл тілдер сіз үшін ең жақсылары. Java соңғы 20 жыл ішінде өте танымал тіл болды. Мүмкін, алдағы 20 жыл ішінде де нарықтағы ең танымал тілдердің бірі болып қала береді.
P.S Бұл тек алғашқы қадам үшін. Кейін бағдарламалау негізгін меңгерген соң, қызыққан салаға терең үңілу керек. (С++, Object C, Kotlin, Gо, т.б.).
Бағдарлама (Программа)
⠀
Біз код жазу арқылы бір бағдармаланы құрамыз. Бағдарлама бірнеше бөліктен тұрады.
1. Input
Деректерді пернетақтадан, файлдан немесе басқа құрылғыдан алу.
⠀
2. Process
Белгілі бір амалдарды орындап, деректерпен жұмыс жасау.
2.1 Math
Арифметикалық амалдарды орындау. (+,-,*,/,%)
⠀
2.2 Conditional execution
Шартты тексеріп, тиісті операторлар тізбегін орындау.(if, else)
⠀
2.3 Repetition
Әрекетті бірнеше рет орындау (цикл, вариация, for/while)
3. Output
Шешімді экранда көрсету, файлға немесе басқа құрылғыға жіберу
⠀
Біз код жазу арқылы бір бағдармаланы құрамыз. Бағдарлама бірнеше бөліктен тұрады.
1. Input
Деректерді пернетақтадан, файлдан немесе басқа құрылғыдан алу.
⠀
2. Process
Белгілі бір амалдарды орындап, деректерпен жұмыс жасау.
2.1 Math
Арифметикалық амалдарды орындау. (+,-,*,/,%)
⠀
2.2 Conditional execution
Шартты тексеріп, тиісті операторлар тізбегін орындау.(if, else)
⠀
2.3 Repetition
Әрекетті бірнеше рет орындау (цикл, вариация, for/while)
3. Output
Шешімді экранда көрсету, файлға немесе басқа құрылғыға жіберу