Вводные: 25лвл, уже какое-то время занимаюсь самостоятельным обучением, вкатываюсь преимущественно во фронт (js/react), но иногда начинаю лезть в какие-то дерби не связанные со своим стеком, просто потому что интересно.
Что сделал сегодня и что знаю на данный момент:
- Читаю учебник по джавускрипту на learnjavascript, в данный момент в разделе о типах данных, идёт туго, так как чистая теория и суховато написано, но половину вроде понимаю и даже что-то остается.
- Пару часов сегодня разбирался с платформой shopify, с их языком liquid, наткнулся на это в какой-то случайной вакансии, в целом проебал время и особо ничего не узнал, разве что потыкался и их темах и стандартном коде. Попытался перенести в кастомный макет макет с фигмы, как описано в вакансии но получилось не очень
- Проходил курс на scrimba по реакту, который получил бесплатно из-за того что им написал и попросил. Сегодня смотрел про хук useContext, Субскраберы и провайдеры, как я понял это метод управление состоянием до редакса. Так и не понял легаси это и пользуется ли этим кто-то? Нужно будет еще покурить официальную доку реакта.
- Сделал простое резюме, где описал что я учу, и что умею на данный момент. Думал даже смотреть мой профиль не будут, а мне даже приглашения кидают, тестовые и просто напрямую спрашивают смогу ли что-то сделать на проекте. А говорили на джунов всем похер. Получил пару тестовых заданий по вещам, которые не знаю. Буду пытаться сделать, заодно научусь чему-то.
Пока как-то так. Не факт что буду писать каждый день, так как еще параллельно есть работа. Но постараюсь как можно чаще. Завел новый гитхаб, буду использовать его как свалку всего полезного, может так когда-нибудь появится проект, который не стыдно показать.
Красава, пчел. Я тоже сейчас вкат оформляю. По поводу джунов никого не слушай, а ебашь и все будет.
По поводу типов данных, да и вообще некоторых концепций JS рекомендую курс Дэна Абрамова "Просто JavaScript" https://cloud.mail.ru/public/NQKR/YMyrWoZQp. Для новичка это годнейшая годнота. Он на английском, но гугл переводчика достаточно в принципе.
Многие начинающие программисты, особенно обучающиеся в провинциальных вузах, часто не знают, в какую сторону им развиваться, и что они должны знать для того, чтобы эффективно работать по специальности. Удивительно, но каждый день используя продукты и технологии, созданные другими программистами, они даже не догадываются о том, как они устроены.
Построенные на теории массового обслуживания и стандарте GSM сети мобильной связи; PHP-скрипты, исполняющиеся на удаленных серверах и передающие свою выдачу через Ethernet по TCP/IP на компьютеры с NDIS-драйверами; процессоры, переупорядочивающие и спекулятивно исполняющие наборы инструкций для того, чтобы скомпенсировать вызванную ограничениями полупроводниковой электроники и скоростью света остановку роста тактовой частоты; рассчитанные на ЭВМ корпуса самолетов и автомобилей, лекарства и структуры ДНК; компьютерные игры, ради крохотного блика в которых пишутся мегабайты заполненных интегралами Френеля статей; электронные фильмы и книги; алгоритмы NLP и TreeNet, вызывающие нам из огромных баз данных поисковую выдачу — вот то, что окружает нас каждый день благодаря программистам, благодаря оригинальным подходам и фундаментальным знаниям, благодаря продуманной и отточенной десятилетиями методологии разработки и управления сложностью ПО.
Далее приведен теоретический минимум для программиста на основании наиболее ярких отраслей IT, вошедших даже в программы нормальных университетов, на основании собеседований и постоянно пригождающихся на практике знаний.
1. C++, стандарт, Comeau, 1TBS, Страустрап/D&E/Джосаттис/Вандервуд, Дьюхэрст/Мейерс/Саттер, RAII/copy-and-swap/exception-safety, правило пяти, Александреску/Абрахамс-Гуртовой, type erasure, CRTP, NVI, SFINAE, Koenig lookup, Duff's device, Boost, Сик-Ламсдейн/Карлссон, TR on C++ performance, тест Степанова, forwarding problem/move semantics, SPECS
2. Компиляторы, особенности реализации стандарта, ограничения реализации, интринсики, отличия стандартных библиотек (контейнеры, rand), ABI, реализация виртуальных функций, виртуального наследования, исключений, RTTI, switch, указателей на функции и методы; оптимизации, copy elision (RVO, NRVO), sizeof на различных платформах, дефайны компилятора и среды, __declspec, ключи компилятора, empty-base optimization, статическая и динамическая линковка, манглинг, распределенная компиляция, precompiled header, single compilation unit, (strict) aliasing/restrict, inline/_forceinline, volatile
3. Мультитредность, обедающие философы, deadlock/livelock/race condition/starvation, атомарность, lock инструкции процессора, memory model/barrier/ordering, CAS или LL/SC, wait/lock/obstruction-free, ABA problem, написание lock-free контейнеров, spin-lock, TLS/per-thread data, закон Амдала, OpenMP, MPI, map-reduce, critical section/mutex/semaphore/condition variable, WaitForSingleObject/WaitForMultipleObjects, green thread/coroutine, pthreads, future/deferred/promise, модель акторов
4. Язык ассемблера, Зубков/Хайд/Дреппер/Касперски/Фог/Абраш, x86, FPU/MMX/SSEn/AVX, AT&T и Intel-синтаксис, masm32, макросы, стек, куча/менеджеры кучи, соглашения вызова, hex-коды, машинное представление данных, IEEE754, little/big endian, SIMD, аппаратные исключения, прерывания, виртуальная память, реверсинг, срыв стека и кучи, return oriented programming, alphanumeric shellcode, L1/L2/RAM/page fault и их тайминг, язык ассемблера ARM
5. Аппаратное обеспечение, Хоровиц-Хилл/Титце-Шенк/От физики к Си от panchul, полупроводниковая электроника/спинтроника/фотоника, транзистор, триггер, схемотехника, микрокод, технология создания процессоров, logic synthesis, static timing analysis, FPGA, Verilog/VHDL/SystemC, SISAL, Arduino, устройства памяти (ROM → EEPROM, RAM, SSD, HDD, DVD), RISC/CISC, Flynn's taxonomy ([SM]I[SM]D), принстонский и гарвардский подход, архитектуры процессоров, архитектуры x86, VID/PID
6. Процессоры, конвейеризация, hyper-threading, out-of-order execution, спекулятивное исполнение, static/dynamic branch prediction, префетчинг, множественный ассоциативный кэш, кэш-линия/кэш-промах, такты, кольца защиты, память в мультипроцессорных системах (SMP/NUMA), тайминг памяти
7. Дискретная математика, K2, теорема Поста, схемы, конечные автоматы (ДКА и НДКА), автомат Калашникова, клеточные автоматы
8. Вычислимость, машина Тьюринга, нормальные алгоритмы Маркова, машина Поста, диофантовы уравнения Матиясевича, лямбда-функции Черча, частично рекурсивные функции Клини, комбинаторное программирование Шейнфинкеля, Brainfuck, эквивалентность тьюринговых трясин, проблема останова и самоприменимости, счетность множества вычислимых функций, RAM-машина, алгоритм Тарского, SAT/SMT-солверы, теория формальных систем
9. Языки программирования, грамматики, иерархия Хомского, теорема Майхилла-Нероуда, лемма о накачке и лемма Огдена, алгебра Клини, НДКА → ДКА, алгоритмически неразрешимые задачи в формальных языках, Драгонбук, Фридл, регекспы и их сложность, PCRE, БНФ, Boost.Spirit + Karma + Qi/Ragel, LL, LR/SLR/LALR/GLR, PEG/packrat, yacc/bison/flex/antlr, статический анализ кода, компиляция/декомпиляция/обфускация/деобфускация, Clang/LLVM/XMLVM/Emscripten, GCCXML, OpenC++, построение виртуальных машин, JiT/AoT/GC, DSL/DSEL
10. Алгоритмы и комбинаторная оптимизация, Кормен/Скиена/Седжвик/Кнут/Ахо-Хопкрофт-Ульман/Пападимитриу/Шрайвер-Голдберг/Препарата-Шеймос/e-maxx.ru, структуры данных, алгоритмы, сложность, символика Ландау, теорема Акра-Баззи, time-space tradeoff, классы сложности, NP-полные задачи, КМП, графы и деревья, потоки в сетях, матрица Кирхгофа, деревья поиска (особенно RB-дерево и B-дерево), occlusion detection, куча, хэш-таблицы и идеальный хэш, сети Петри, алгоритм русского крестьянина, метод Карацубы и матричное умножение Винограда-Штрассена, сортировки, жадные алгоритмы и матроиды, динамическое программирование, линейное программирование, diff-алгоритмы, рандомизированные алгоритмы и алгоритмы нечеткого поиска, псевдослучайные числа, нечеткая логика
11. Численные методы, дихотомия/метод Ньютона, интер- и экстраполяция, сплайны, метод Гаусса/Якоби/Зейделя, QR и LU-декомпозиция, SVD, МНК, методы Рунге-Кутты, метод Адамса, формулы Ньютона-Котеса, метод Ритца, метод Бубнова-Галеркина, метод конечных разностей/элементов, FFT/STFT, сходимость и устойчивость
12. Машинное обучение, Рассел-Норвиг/Bishop, подходы к моделированию AI, переобучение/кроссвалидация, байесовские сети, нейросети, сети Кохонена, Restricted Boltzmann machine, градиентный спуск/hill climbing, стохастическая оптимизация (метод Монте-Карло, метод отжига, генетические алгоритмы, муравьиные алгоритмы), SVM, gradient boosting, кластерный анализ, метод главных компонент, LSH, обучение с подкреплением, MDP, information retrieval/data mining/natural language processing, машинное зрение, Szeliski, OpenCV, image processing, OCR, фильтры Собеля, каскад Хаара, Viola-Jones framework, SURF, введение в психофизиологию зрения, IPython/pandas/scikit-learn
13. Теория информации, сжатие, Хаффман, RLE, BWT, LZ, коды коррекции ошибок, сжатие с потерями (изображения, аудио, видео), информационная энтропия, формула Шеннона, сложность Колмогорова
14. Криптография, Шнайер/Ященко, Принцип Керкгоффса, симметричная (DES, AES), асимметричная (RSA), качество ГПСЧ, алгоритм Диффи-Хеллмана, эллиптические кривые, хэширование (MD5, SHA, CRCn), DHT, криптостойкость, криптоатаки (атака гроссмейстера), WEP/WPA/WPA2 и атаки на них, цифровая подпись и сертификаты, PKI, HTTPS/SSL, доказательство с нулевым разглашением, пороговая схема
15. Математика, Кнут-Грэхем-Паташник/Зорич/Винберг, Spivak/Dummit-Foote, матан, линал, комплан, функан, диффгем, теория чисел, дифуры/интуры/урчпы/вариационное исчисление/оптимальное управление, производящие функции, ряды, комбинаторика, теорвер/матстат/слупы/теория массового обслуживания, цепи Маркова, интегральные преобразования (Фурье, Лаплас, вейвлет), NZQRCHOS, матпакеты (Mathematica, Maple)
16. Физика, правила Кирхгофа, закон Джоуля-Ленца, комплексное сопротивление, скорость и частота света, уравнения Максвелла, лагранжиан и гамильтониан
17. Химия, стехиометрия, химия кремния :)
18. Архитектура и стиль кода, Макконнелл/Фаулер/Лебланк/Гамма/Александреску-Саттер/Буч, защитное программирование, паттерны, SOLID/GRASP/KISS DRY SPOT/YAGNI, UML, OOP (Smalltalk), OOD/OOA, метрики кода
Многие начинающие программисты, особенно обучающиеся в провинциальных вузах, часто не знают, в какую сторону им развиваться, и что они должны знать для того, чтобы эффективно работать по специальности. Удивительно, но каждый день используя продукты и технологии, созданные другими программистами, они даже не догадываются о том, как они устроены.
Построенные на теории массового обслуживания и стандарте GSM сети мобильной связи; PHP-скрипты, исполняющиеся на удаленных серверах и передающие свою выдачу через Ethernet по TCP/IP на компьютеры с NDIS-драйверами; процессоры, переупорядочивающие и спекулятивно исполняющие наборы инструкций для того, чтобы скомпенсировать вызванную ограничениями полупроводниковой электроники и скоростью света остановку роста тактовой частоты; рассчитанные на ЭВМ корпуса самолетов и автомобилей, лекарства и структуры ДНК; компьютерные игры, ради крохотного блика в которых пишутся мегабайты заполненных интегралами Френеля статей; электронные фильмы и книги; алгоритмы NLP и TreeNet, вызывающие нам из огромных баз данных поисковую выдачу — вот то, что окружает нас каждый день благодаря программистам, благодаря оригинальным подходам и фундаментальным знаниям, благодаря продуманной и отточенной десятилетиями методологии разработки и управления сложностью ПО.
Далее приведен теоретический минимум для программиста на основании наиболее ярких отраслей IT, вошедших даже в программы нормальных университетов, на основании собеседований и постоянно пригождающихся на практике знаний.
1. C++, стандарт, Comeau, 1TBS, Страустрап/D&E/Джосаттис/Вандервуд, Дьюхэрст/Мейерс/Саттер, RAII/copy-and-swap/exception-safety, правило пяти, Александреску/Абрахамс-Гуртовой, type erasure, CRTP, NVI, SFINAE, Koenig lookup, Duff's device, Boost, Сик-Ламсдейн/Карлссон, TR on C++ performance, тест Степанова, forwarding problem/move semantics, SPECS
2. Компиляторы, особенности реализации стандарта, ограничения реализации, интринсики, отличия стандартных библиотек (контейнеры, rand), ABI, реализация виртуальных функций, виртуального наследования, исключений, RTTI, switch, указателей на функции и методы; оптимизации, copy elision (RVO, NRVO), sizeof на различных платформах, дефайны компилятора и среды, __declspec, ключи компилятора, empty-base optimization, статическая и динамическая линковка, манглинг, распределенная компиляция, precompiled header, single compilation unit, (strict) aliasing/restrict, inline/_forceinline, volatile
3. Мультитредность, обедающие философы, deadlock/livelock/race condition/starvation, атомарность, lock инструкции процессора, memory model/barrier/ordering, CAS или LL/SC, wait/lock/obstruction-free, ABA problem, написание lock-free контейнеров, spin-lock, TLS/per-thread data, закон Амдала, OpenMP, MPI, map-reduce, critical section/mutex/semaphore/condition variable, WaitForSingleObject/WaitForMultipleObjects, green thread/coroutine, pthreads, future/deferred/promise, модель акторов
4. Язык ассемблера, Зубков/Хайд/Дреппер/Касперски/Фог/Абраш, x86, FPU/MMX/SSEn/AVX, AT&T и Intel-синтаксис, masm32, макросы, стек, куча/менеджеры кучи, соглашения вызова, hex-коды, машинное представление данных, IEEE754, little/big endian, SIMD, аппаратные исключения, прерывания, виртуальная память, реверсинг, срыв стека и кучи, return oriented programming, alphanumeric shellcode, L1/L2/RAM/page fault и их тайминг, язык ассемблера ARM
5. Аппаратное обеспечение, Хоровиц-Хилл/Титце-Шенк/От физики к Си от panchul, полупроводниковая электроника/спинтроника/фотоника, транзистор, триггер, схемотехника, микрокод, технология создания процессоров, logic synthesis, static timing analysis, FPGA, Verilog/VHDL/SystemC, SISAL, Arduino, устройства памяти (ROM → EEPROM, RAM, SSD, HDD, DVD), RISC/CISC, Flynn's taxonomy ([SM]I[SM]D), принстонский и гарвардский подход, архитектуры процессоров, архитектуры x86, VID/PID
6. Процессоры, конвейеризация, hyper-threading, out-of-order execution, спекулятивное исполнение, static/dynamic branch prediction, префетчинг, множественный ассоциативный кэш, кэш-линия/кэш-промах, такты, кольца защиты, память в мультипроцессорных системах (SMP/NUMA), тайминг памяти
7. Дискретная математика, K2, теорема Поста, схемы, конечные автоматы (ДКА и НДКА), автомат Калашникова, клеточные автоматы
8. Вычислимость, машина Тьюринга, нормальные алгоритмы Маркова, машина Поста, диофантовы уравнения Матиясевича, лямбда-функции Черча, частично рекурсивные функции Клини, комбинаторное программирование Шейнфинкеля, Brainfuck, эквивалентность тьюринговых трясин, проблема останова и самоприменимости, счетность множества вычислимых функций, RAM-машина, алгоритм Тарского, SAT/SMT-солверы, теория формальных систем
9. Языки программирования, грамматики, иерархия Хомского, теорема Майхилла-Нероуда, лемма о накачке и лемма Огдена, алгебра Клини, НДКА → ДКА, алгоритмически неразрешимые задачи в формальных языках, Драгонбук, Фридл, регекспы и их сложность, PCRE, БНФ, Boost.Spirit + Karma + Qi/Ragel, LL, LR/SLR/LALR/GLR, PEG/packrat, yacc/bison/flex/antlr, статический анализ кода, компиляция/декомпиляция/обфускация/деобфускация, Clang/LLVM/XMLVM/Emscripten, GCCXML, OpenC++, построение виртуальных машин, JiT/AoT/GC, DSL/DSEL
10. Алгоритмы и комбинаторная оптимизация, Кормен/Скиена/Седжвик/Кнут/Ахо-Хопкрофт-Ульман/Пападимитриу/Шрайвер-Голдберг/Препарата-Шеймос/e-maxx.ru, структуры данных, алгоритмы, сложность, символика Ландау, теорема Акра-Баззи, time-space tradeoff, классы сложности, NP-полные задачи, КМП, графы и деревья, потоки в сетях, матрица Кирхгофа, деревья поиска (особенно RB-дерево и B-дерево), occlusion detection, куча, хэш-таблицы и идеальный хэш, сети Петри, алгоритм русского крестьянина, метод Карацубы и матричное умножение Винограда-Штрассена, сортировки, жадные алгоритмы и матроиды, динамическое программирование, линейное программирование, diff-алгоритмы, рандомизированные алгоритмы и алгоритмы нечеткого поиска, псевдослучайные числа, нечеткая логика
11. Численные методы, дихотомия/метод Ньютона, интер- и экстраполяция, сплайны, метод Гаусса/Якоби/Зейделя, QR и LU-декомпозиция, SVD, МНК, методы Рунге-Кутты, метод Адамса, формулы Ньютона-Котеса, метод Ритца, метод Бубнова-Галеркина, метод конечных разностей/элементов, FFT/STFT, сходимость и устойчивость
12. Машинное обучение, Рассел-Норвиг/Bishop, подходы к моделированию AI, переобучение/кроссвалидация, байесовские сети, нейросети, сети Кохонена, Restricted Boltzmann machine, градиентный спуск/hill climbing, стохастическая оптимизация (метод Монте-Карло, метод отжига, генетические алгоритмы, муравьиные алгоритмы), SVM, gradient boosting, кластерный анализ, метод главных компонент, LSH, обучение с подкреплением, MDP, information retrieval/data mining/natural language processing, машинное зрение, Szeliski, OpenCV, image processing, OCR, фильтры Собеля, каскад Хаара, Viola-Jones framework, SURF, введение в психофизиологию зрения, IPython/pandas/scikit-learn
13. Теория информации, сжатие, Хаффман, RLE, BWT, LZ, коды коррекции ошибок, сжатие с потерями (изображения, аудио, видео), информационная энтропия, формула Шеннона, сложность Колмогорова
14. Криптография, Шнайер/Ященко, Принцип Керкгоффса, симметричная (DES, AES), асимметричная (RSA), качество ГПСЧ, алгоритм Диффи-Хеллмана, эллиптические кривые, хэширование (MD5, SHA, CRCn), DHT, криптостойкость, криптоатаки (атака гроссмейстера), WEP/WPA/WPA2 и атаки на них, цифровая подпись и сертификаты, PKI, HTTPS/SSL, доказательство с нулевым разглашением, пороговая схема
15. Математика, Кнут-Грэхем-Паташник/Зорич/Винберг, Spivak/Dummit-Foote, матан, линал, комплан, функан, диффгем, теория чисел, дифуры/интуры/урчпы/вариационное исчисление/оптимальное управление, производящие функции, ряды, комбинаторика, теорвер/матстат/слупы/теория массового обслуживания, цепи Маркова, интегральные преобразования (Фурье, Лаплас, вейвлет), NZQRCHOS, матпакеты (Mathematica, Maple)
16. Физика, правила Кирхгофа, закон Джоуля-Ленца, комплексное сопротивление, скорость и частота света, уравнения Максвелла, лагранжиан и гамильтониан
17. Химия, стехиометрия, химия кремния :)
18. Архитектура и стиль кода, Макконнелл/Фаулер/Лебланк/Гамма/Александреску-Саттер/Буч, защитное программирование, паттерны, SOLID/GRASP/KISS DRY SPOT/YAGNI, UML, OOP (Smalltalk), OOD/OOA, метрики кода
19. Методологии разработки, Waterfall/RUP/Agile/Scrum/Kanban/XP, TDD/BDD, CASE
20. Тестирование, юнит-тесты, функциональное, нагрузочное, интеграционное тестирование, тестирование UI
21. Инструментальные средства разработки, IDE, IntelliSense, отладчики (VS/Olly/WinDbg/kdb/gdb) и трейсеры (strace/ltrace), DWARF debug information format, дизассемблеры и декомпиляторы (IDA/HexRays/Reflector), системы контроля версий (SVN, GIT), merge/branch/trunk, системы именования файлов и бранчей, continuous integration, ant, code coverage, статический анализ (lint, cppcheck), динамический анализ (valgrind, фаззинг), верификация и валидация ПО (Frama-C, RAISE (RSL), Coq), профайлинг, багтрекеры, документирование кода, системы сборки (CMake), пакетные менеджеры (NuGet)
22. Фреймворки, Qt, moc и метаинформация, концепция слот-сигнал, Саммерфилд-Бланшет/Шлее, PoCo, промышленные библиотеки: GMP, i18n, lapack, fftw, pcre
23. Операционные системы, Silberschatz/Рихтер/Соломон-Руссинович/Робачевский/Вахалия/Стивенс/Love/Linux Kernel Internals, менеджер памяти, менеджер кучи и ее устройство (LAL/LFH/slab), менеджер устройств, менеджер процессов, context switch, реальный и защищенный режим, исполнимые файлы (PE/ELF/Mach), объекты ядра, отладочные механизмы (strace/ptrace/dtrace/pydbg, Debug API) и минидампы, bash, сетевой стек и высокопроизводительные сервера, netgraph, CR0, IPC, оконная подсистема, система безопасности: ACE/ACL и права доступа, технологии виртуализации, RTOS (QNX), программирование драйверов, IRQL, IRP, файловые системы, BigTable, NDIS/miniport/FS drivers/filter driver, Mm-, Io-, Ldr-функции, DKOM и руткиты, GDT/IDT/SDT, ядра Windows/Linux/BSD, POSIX
24. Компонентно-ориентированные модели, Роджерсон/Таварес, COM/OLE/ActiveX/COM+/DCOM RPC, ATL, апартменты, моникеры, MIDL, XPCOM, CORBA, TAO, D-Bus
25. Сеть, Стивенс, OSI model/Internet model, Ethernet, TCP/IP, TCP window, алгоритм Нейгла, сокеты, Protocol buffers/Thrift/Avro/ASN.1, AMQP, ICMP, роутинг/BGP/OSPF, ARP, атака Митника, syn flood, HTTP/FTP, P2P/DHT, DHCP, SMB/NBNS, IRC/XMPP, POP3/SMTP/ESMTP/IMAP, DNS, WiFi/WiMax/GSM/CDMA/EDGE/Bluetooth/GPS, ACE, Wireshark
26. Графика и GPGPU, алгоритм Брезенхема, цветовые модели, трассировка лучей vs полигональная графика, OpenGL/GLSL/Open Inventor, DirectX/DirectShow/DirectAudio/HLSL, stencil/depth/alpha-test, графический конвейер в DirectX 11, шейдеры, модели освещения (Фонг), пропускная способность, fillrate, OpenCL/CUDA/AMP, ландшафты, лоды, тени, deferred shading, текстурирование и фильтрация, антиалиасинг, HDR, tone mapping, virtual/augmented reality
27. Форматы, XML/XSLT/XPath/XMLStarlet/DOM/SAX, RTF/ODF, JSON/BSON/bencode, YAML, JPEG/PNG/WebP, AVI/MPEG/RIFF/WAV/MP3/OGG/WebM, SVG, Unicode, кодировки однобайтные/UTF-8/UTF-16/UCS-2/UTF-32, проблемы длины и сравнения Unicode-строк
28. Базы данных, Грубер/Дейт, ANSI SQL, T-SQL, ODBC, MySQL/PostgreSQL/MS SQL/BDB/SQLite/Sphinx, хранимые процедуры, триггеры, алгебра Кодда/А, Tutorial D, нормальные формы, оптимизация и выполнение запросов, структуры данных индексов, транзакции и ACID, CAP-теорема Брюера, NoSQL, key-value storage, шардинг, ORM (C++ ODB), ERD, OLAP, семантическая сеть, triplestore, RDF/Turtle, SPARQL, OWL, Semanticscience Integrated Ontology, reasoner, DBpedia
29. Прикладное программирование, C#/F#, Шилдт/Троелсен/Рихтер, генерики, yield, linq/plinq, рефлексия, AST, WCF, WinForms/WPF/Silverlight, AOP, фреймворки логгирования, .NET assembly, Scala, Хорстманн/Одерски, pattern matching, макросы/квазицитаты
30. Квантовые вычисления, алгоритм Шора, квантовая криптография
31. Функциональное программирование, Haskell/Ocaml/Scheme/Alice или Oz, SICP/TaPL/YAHT/Purely Functional Data Structures/Харрисон-Филд, HOF (map/fold/filter), система типов Хиндли-Милнера, монады, тайпклассы, АТД, dependent types, ленивость/энергичность, логическое программирование (Prolog или Mercury), конкурентное программирование (Erlang или Oz)
32. Веб-программирование и скриптовые языки, Фланаган/Zend PHP5 Certification Course + Study Guide, Apache/nginx, CGI/FastCGI, PHP/Zend Framework/ReactPHP/Zend Engine/Doctrine или Propel/CodeIgniter или Symphony или Yii, Python/Django/Twisted, Ruby/RoR, ASP.NET MVC, JavaScript/jQuery/React/Google Closure/ExtJS/node.js, ООП в JavaScript, HTML5, CSS3/табличная и блочная верстка, RSS, canvas/WebGL, Ajax/WebSockets, вопросы безопасности (XSS, SQL injection, CSRF), highload, C10k problem, SWIG
33. Проектирование GUI и представление информации, Раскин/Тафти, юзабилити, основы дизайна и типографики, закон Фиттса, основы верстки, LaTeX
Этот теормин вполне справедливо критикуется за отсутствие системности изложения и ВНЕЗАПНЫЕ соседства различных как по глубине, так и по содержанию топиков. Это не бага, это фича. Системное изложение программы по практически любому из пунктов заняло бы места не меньше, чем оглавления пухлых талмудов, поэтому лучше как раз названия этих талмудов и приводить. Как же тогда работать с этим списком? Следует брать хорошие книжки по тематике и читать их до тех пор, пока все упомянутые слова не встретятся в процессе чтения. Авторы и в страшном сне не могли предположить, что кто-то решит, что устройство Даффа посчитают по глубине и объему чем-то равным полуторатысячестраничному Священному Стандарту. Однако этот критерий вполне рабочий — можно перечитать сотню книг по C++ для начинающих, и ни разу не встретить упоминания о нем, но если читать действительно полезные книги и статьи (для тем, подобных C++, такие книги существуют и перечислены), то все слова довольно быстро встречаются. Смысл программы, обусловленный ее размером, именно в том, чтобы дать возможность оценить, достаточное ли количество книг по теме прочитано.
Весьма значительное количество критики теормин встречает и со стороны людей, считающих себя программистами, которые полагают, что все это знать невозможно. Эти люди, к сожалению, просто не понимают, в чем разница между эрудицией/памятью и знаниями. Ценность для программиста имеет не запоминание точного формата какого-нибудь из пакетов NBNS, а овладение подходами, которые использовались при разработке, другими словами не способность воспроизвести, а способность воссоздать или опознать, в том числе в другой области. Именно способность человека к анализу и синтезу (которая все же не берется из ниоткуда, а достигается активным познавательным трудом) отличает его от гугла, который даже в очень отдаленной перспективе не научится решать даже div2 250. Именно на развитие этой способности и направлен теоретический минимум, который в процессе работы обязательно придется дополнять domain-specific знаниями, будь то особенности игровой физики, разработка оперденей на Java или создание реальных микросхем.
В отдельный абзац стоит выделить вопрос от тех, кто сомневается в своих способностях освоить теормин, либо полагает, что способность его применять будет редко востребована и ослабнет. В целом, теорминимум в большинстве пунктов несколько уступает учебным программам факультетов CS нормальных университетов, так что за 5 лет его освоить вполне возможно, даже совмещая с работой. Конкретно в геймдеве активно используются (по разным подсчетам в обсуждениях) от 1/3 до 2/3 перечисленных пунктов. Недостающую активность можно восполнять, к примеру, консультируя других на Stack Overflow.
Отдельную категорию людей, высказывающуюся в стиле «я такого не знаю, я такое запрещаю» составляют те, кто полагает, что цель программиста заключается не в улучшении мира, а в зарабатывании денег. Им этот теоретический минимум действительно не нужен, а следует поискать самоучители по тому, как правильно и со знанием всех тонкостей воровать, обманывать и заставлять работать вместо себя других.
19. Методологии разработки, Waterfall/RUP/Agile/Scrum/Kanban/XP, TDD/BDD, CASE
20. Тестирование, юнит-тесты, функциональное, нагрузочное, интеграционное тестирование, тестирование UI
21. Инструментальные средства разработки, IDE, IntelliSense, отладчики (VS/Olly/WinDbg/kdb/gdb) и трейсеры (strace/ltrace), DWARF debug information format, дизассемблеры и декомпиляторы (IDA/HexRays/Reflector), системы контроля версий (SVN, GIT), merge/branch/trunk, системы именования файлов и бранчей, continuous integration, ant, code coverage, статический анализ (lint, cppcheck), динамический анализ (valgrind, фаззинг), верификация и валидация ПО (Frama-C, RAISE (RSL), Coq), профайлинг, багтрекеры, документирование кода, системы сборки (CMake), пакетные менеджеры (NuGet)
22. Фреймворки, Qt, moc и метаинформация, концепция слот-сигнал, Саммерфилд-Бланшет/Шлее, PoCo, промышленные библиотеки: GMP, i18n, lapack, fftw, pcre
23. Операционные системы, Silberschatz/Рихтер/Соломон-Руссинович/Робачевский/Вахалия/Стивенс/Love/Linux Kernel Internals, менеджер памяти, менеджер кучи и ее устройство (LAL/LFH/slab), менеджер устройств, менеджер процессов, context switch, реальный и защищенный режим, исполнимые файлы (PE/ELF/Mach), объекты ядра, отладочные механизмы (strace/ptrace/dtrace/pydbg, Debug API) и минидампы, bash, сетевой стек и высокопроизводительные сервера, netgraph, CR0, IPC, оконная подсистема, система безопасности: ACE/ACL и права доступа, технологии виртуализации, RTOS (QNX), программирование драйверов, IRQL, IRP, файловые системы, BigTable, NDIS/miniport/FS drivers/filter driver, Mm-, Io-, Ldr-функции, DKOM и руткиты, GDT/IDT/SDT, ядра Windows/Linux/BSD, POSIX
24. Компонентно-ориентированные модели, Роджерсон/Таварес, COM/OLE/ActiveX/COM+/DCOM RPC, ATL, апартменты, моникеры, MIDL, XPCOM, CORBA, TAO, D-Bus
25. Сеть, Стивенс, OSI model/Internet model, Ethernet, TCP/IP, TCP window, алгоритм Нейгла, сокеты, Protocol buffers/Thrift/Avro/ASN.1, AMQP, ICMP, роутинг/BGP/OSPF, ARP, атака Митника, syn flood, HTTP/FTP, P2P/DHT, DHCP, SMB/NBNS, IRC/XMPP, POP3/SMTP/ESMTP/IMAP, DNS, WiFi/WiMax/GSM/CDMA/EDGE/Bluetooth/GPS, ACE, Wireshark
26. Графика и GPGPU, алгоритм Брезенхема, цветовые модели, трассировка лучей vs полигональная графика, OpenGL/GLSL/Open Inventor, DirectX/DirectShow/DirectAudio/HLSL, stencil/depth/alpha-test, графический конвейер в DirectX 11, шейдеры, модели освещения (Фонг), пропускная способность, fillrate, OpenCL/CUDA/AMP, ландшафты, лоды, тени, deferred shading, текстурирование и фильтрация, антиалиасинг, HDR, tone mapping, virtual/augmented reality
27. Форматы, XML/XSLT/XPath/XMLStarlet/DOM/SAX, RTF/ODF, JSON/BSON/bencode, YAML, JPEG/PNG/WebP, AVI/MPEG/RIFF/WAV/MP3/OGG/WebM, SVG, Unicode, кодировки однобайтные/UTF-8/UTF-16/UCS-2/UTF-32, проблемы длины и сравнения Unicode-строк
28. Базы данных, Грубер/Дейт, ANSI SQL, T-SQL, ODBC, MySQL/PostgreSQL/MS SQL/BDB/SQLite/Sphinx, хранимые процедуры, триггеры, алгебра Кодда/А, Tutorial D, нормальные формы, оптимизация и выполнение запросов, структуры данных индексов, транзакции и ACID, CAP-теорема Брюера, NoSQL, key-value storage, шардинг, ORM (C++ ODB), ERD, OLAP, семантическая сеть, triplestore, RDF/Turtle, SPARQL, OWL, Semanticscience Integrated Ontology, reasoner, DBpedia
29. Прикладное программирование, C#/F#, Шилдт/Троелсен/Рихтер, генерики, yield, linq/plinq, рефлексия, AST, WCF, WinForms/WPF/Silverlight, AOP, фреймворки логгирования, .NET assembly, Scala, Хорстманн/Одерски, pattern matching, макросы/квазицитаты
30. Квантовые вычисления, алгоритм Шора, квантовая криптография
31. Функциональное программирование, Haskell/Ocaml/Scheme/Alice или Oz, SICP/TaPL/YAHT/Purely Functional Data Structures/Харрисон-Филд, HOF (map/fold/filter), система типов Хиндли-Милнера, монады, тайпклассы, АТД, dependent types, ленивость/энергичность, логическое программирование (Prolog или Mercury), конкурентное программирование (Erlang или Oz)
32. Веб-программирование и скриптовые языки, Фланаган/Zend PHP5 Certification Course + Study Guide, Apache/nginx, CGI/FastCGI, PHP/Zend Framework/ReactPHP/Zend Engine/Doctrine или Propel/CodeIgniter или Symphony или Yii, Python/Django/Twisted, Ruby/RoR, ASP.NET MVC, JavaScript/jQuery/React/Google Closure/ExtJS/node.js, ООП в JavaScript, HTML5, CSS3/табличная и блочная верстка, RSS, canvas/WebGL, Ajax/WebSockets, вопросы безопасности (XSS, SQL injection, CSRF), highload, C10k problem, SWIG
33. Проектирование GUI и представление информации, Раскин/Тафти, юзабилити, основы дизайна и типографики, закон Фиттса, основы верстки, LaTeX
Этот теормин вполне справедливо критикуется за отсутствие системности изложения и ВНЕЗАПНЫЕ соседства различных как по глубине, так и по содержанию топиков. Это не бага, это фича. Системное изложение программы по практически любому из пунктов заняло бы места не меньше, чем оглавления пухлых талмудов, поэтому лучше как раз названия этих талмудов и приводить. Как же тогда работать с этим списком? Следует брать хорошие книжки по тематике и читать их до тех пор, пока все упомянутые слова не встретятся в процессе чтения. Авторы и в страшном сне не могли предположить, что кто-то решит, что устройство Даффа посчитают по глубине и объему чем-то равным полуторатысячестраничному Священному Стандарту. Однако этот критерий вполне рабочий — можно перечитать сотню книг по C++ для начинающих, и ни разу не встретить упоминания о нем, но если читать действительно полезные книги и статьи (для тем, подобных C++, такие книги существуют и перечислены), то все слова довольно быстро встречаются. Смысл программы, обусловленный ее размером, именно в том, чтобы дать возможность оценить, достаточное ли количество книг по теме прочитано.
Весьма значительное количество критики теормин встречает и со стороны людей, считающих себя программистами, которые полагают, что все это знать невозможно. Эти люди, к сожалению, просто не понимают, в чем разница между эрудицией/памятью и знаниями. Ценность для программиста имеет не запоминание точного формата какого-нибудь из пакетов NBNS, а овладение подходами, которые использовались при разработке, другими словами не способность воспроизвести, а способность воссоздать или опознать, в том числе в другой области. Именно способность человека к анализу и синтезу (которая все же не берется из ниоткуда, а достигается активным познавательным трудом) отличает его от гугла, который даже в очень отдаленной перспективе не научится решать даже div2 250. Именно на развитие этой способности и направлен теоретический минимум, который в процессе работы обязательно придется дополнять domain-specific знаниями, будь то особенности игровой физики, разработка оперденей на Java или создание реальных микросхем.
В отдельный абзац стоит выделить вопрос от тех, кто сомневается в своих способностях освоить теормин, либо полагает, что способность его применять будет редко востребована и ослабнет. В целом, теорминимум в большинстве пунктов несколько уступает учебным программам факультетов CS нормальных университетов, так что за 5 лет его освоить вполне возможно, даже совмещая с работой. Конкретно в геймдеве активно используются (по разным подсчетам в обсуждениях) от 1/3 до 2/3 перечисленных пунктов. Недостающую активность можно восполнять, к примеру, консультируя других на Stack Overflow.
Отдельную категорию людей, высказывающуюся в стиле «я такого не знаю, я такое запрещаю» составляют те, кто полагает, что цель программиста заключается не в улучшении мира, а в зарабатывании денег. Им этот теоретический минимум действительно не нужен, а следует поискать самоучители по тому, как правильно и со знанием всех тонкостей воровать, обманывать и заставлять работать вместо себя других.
Поздновато пришел домой, плюс были другие дела по хозяйству и по работе. Поэтому сегодня по ощущением занимался гораздо меньше и было мало практики, в основном читал теорию. Прочитал половину учебника, который скинул анон >>652108 Спасибо. Действительно интересно и какие-то вроде бы банальные вещи, о которых я не задумывался и не понимал там объяснены очень интересно и язык становится более понятен.
Пооткликался еще на несколько вакансий, некоторые были околоайтишные, типа it hr и т.д. Пришли приглашения, если позовут на собеседование пойду, почему бы не попробовать. Открыт вообще к любым начинаниям.
Хотел сегодня начать пилить тестовое, но сил стартовать новый проект нет, поэтому ограничился теорией, своего рода отдых.
Вообще дневник помогает с моим правилом "хоть 20 минут обучения в день", из-за мысли что нужно что-то написать самому хочется заниматься. Но я взял себе правило заканчивать любую работу после 20:00, и оставлять это время на отдых и прочие развлечения. Зная это я не отвлекаюсь днем, потому что будет достаточно времени вечером.
Так же хочу взять себе привычку делать банальную физкультуру, так как тоже сильно помогает, убирает тревогу и волнение.
Как-то так.
Сегодня ничего интересного, пол дня где-то смотрел видосы с собеседованиями чтобы отметить что я не знаю и что нужно подтянуть. Плюс дочитал учебник, который кидали выше
Не трать время на видосы собеседований, все что тебе надо знать есть тут:
1. https://roadmap.sh/frontend/
2. https://roadmap.sh/react/
3. https://github.com/likezninjaz/react-ru-interview-questions
4. https://www.notion.so/Front-End-Preparation-a0ac842415a04ddf9319718ea6ba22a4
>Вкатываюсь в айти
>День 2 вката в айти
>другие дела по хозяйству и по работе
>сегодня по ощущением занимался гораздо меньше
>Пооткликался еще на несколько вакансий, некоторые были околоайтишные
>Хотел сегодня начать пилить тестовое, но сил стартовать новый проект нет
>хоть 20 минут обучения в день
>Но я взял себе правило заканчивать любую работу после 20:00, и оставлять это время на отдых
>Так же хочу взять себе привычку делать банальную физкультуру
Ну и каша в голове.
Извини что это прозвучит грубо и очень уж наставническим тоном, но мне кажется что тебе необходим такой пинок.
1. У тебя есть цель вкатиться в айти, но ты зачем-то тратишь свое время на всякий бесполезный шлак, типа отклика на вакансию эйчара. Забудь про эту хуйню и не отвлекайся от того что приближает твою жопу к мягкому креслу "Junior Frontend Developer"
2. Ты делаешь "вроде бы полезные" вещи. Как например разбираться с платформой shopify. Нахуя? Это супер нишевая штука и сейчас тебе должно быть очень сильно похуй на все то что не является мейнстримом, стандартом и обязательным к изучению.
3. У тебя нет системы, сегодня главу из одного учебника, завтра видосик на новую тему, потом новый фреймворк. Составь или нагугли программу обучения чтобы не прыгать с ветки на ветку.
4. Ты думаешь что можно обойтись 20 минутками в день и сохранить привычный стиль жизни. А вот и нет. Разработка это сложно, этому вообще-то в универе учат. А ты собрался совмещать с фуллтайм работой и делами по дому. Ты должен быть морально готов потратить год жизни на вкат. Забить на барчики, сериальчики, игрули и прочее. И заниматься столько сколько надо, хоть до ночи, хоть до утра. Иначе тебе никогда не победить в схватке за вакансию со вчерашним студентом, который к тому же готов работать за еду.
5. Ты в целом не готов сейчас вкатываться. Я бы порекомендовал тебе сначала прочитать несколько книг на тему самообучения, продуктивности и ментальных ловушек (см. картинки к посту). Они дадут тебе хорошую базу с которой ты уже соберешь свой фреймворк для вката и поедешь на нем в светлое будущее.
6. Я написал все это чтобы помочь тебе. Надеюсь что ты пересмотришь свои методы обучения, приведешь в порядок голову и успешно вкатишься. Буду заглядывать к тебе иногда.
>Вкатываюсь в айти
>День 2 вката в айти
>другие дела по хозяйству и по работе
>сегодня по ощущением занимался гораздо меньше
>Пооткликался еще на несколько вакансий, некоторые были околоайтишные
>Хотел сегодня начать пилить тестовое, но сил стартовать новый проект нет
>хоть 20 минут обучения в день
>Но я взял себе правило заканчивать любую работу после 20:00, и оставлять это время на отдых
>Так же хочу взять себе привычку делать банальную физкультуру
Ну и каша в голове.
Извини что это прозвучит грубо и очень уж наставническим тоном, но мне кажется что тебе необходим такой пинок.
1. У тебя есть цель вкатиться в айти, но ты зачем-то тратишь свое время на всякий бесполезный шлак, типа отклика на вакансию эйчара. Забудь про эту хуйню и не отвлекайся от того что приближает твою жопу к мягкому креслу "Junior Frontend Developer"
2. Ты делаешь "вроде бы полезные" вещи. Как например разбираться с платформой shopify. Нахуя? Это супер нишевая штука и сейчас тебе должно быть очень сильно похуй на все то что не является мейнстримом, стандартом и обязательным к изучению.
3. У тебя нет системы, сегодня главу из одного учебника, завтра видосик на новую тему, потом новый фреймворк. Составь или нагугли программу обучения чтобы не прыгать с ветки на ветку.
4. Ты думаешь что можно обойтись 20 минутками в день и сохранить привычный стиль жизни. А вот и нет. Разработка это сложно, этому вообще-то в универе учат. А ты собрался совмещать с фуллтайм работой и делами по дому. Ты должен быть морально готов потратить год жизни на вкат. Забить на барчики, сериальчики, игрули и прочее. И заниматься столько сколько надо, хоть до ночи, хоть до утра. Иначе тебе никогда не победить в схватке за вакансию со вчерашним студентом, который к тому же готов работать за еду.
5. Ты в целом не готов сейчас вкатываться. Я бы порекомендовал тебе сначала прочитать несколько книг на тему самообучения, продуктивности и ментальных ловушек (см. картинки к посту). Они дадут тебе хорошую базу с которой ты уже соберешь свой фреймворк для вката и поедешь на нем в светлое будущее.
6. Я написал все это чтобы помочь тебе. Надеюсь что ты пересмотришь свои методы обучения, приведешь в порядок голову и успешно вкатишься. Буду заглядывать к тебе иногда.
Да, понимаю что занимаюсь не самым оптимальным образом, но все равно пару часов в день.
А так полностью согласен, к сожалению полностью убрать семью, работку и т.д. невозможно. Но уберу из занятий всякую херню.
Решил реакт изучать на петах и тестовых + жс ванильный на learnjavascript. Потом к реакту добавлю redux, а к js тайпскрипт. Ну и всё пока.
На самом деле я не с нуля вкатываюсь, а уже какое-то время занимаюсь. По ощущениям если я плотно месяц позанимаюсь, запилю пару петов, то уже смогу получить оффер. Так как по реальным собесам ходил уже и примерно представляю как пройти
>Так как по реальным собесам ходил уже и примерно представляю как пройти
А ты офис в ходил? Работать в офисе планируешь или на удалёнке?
В офис не ходил, только по удалёнке собесился, провалил пару собесов полностью, пару +- нормально. Один оффер был, наверное стоило его брать, но там совсем Легаси говно и я один разработчик там был бы. Но вот самого скилла у меня мало, даже если пройду собес то скорее всего на работе завалюсь. Поэтому решил перед эти ещё плотно позаниматься. И ещё раньше я врал про опыт немного, сейчас решил более честно попробовать пройти
В офис не ходил, только по удалёнке собесился, провалил пару собесов полностью, пару +- нормально. Один оффер был, наверное стоило его брать, но там совсем Легаси говно и я один разработчик там был бы. Но вот самого скилла у меня мало, даже если пройду собес то скорее всего на работе завалюсь. Поэтому решил перед эти ещё плотно позаниматься. И ещё раньше я врал про опыт немного, сейчас решил более честно попробовать пройти
80к - испытательный, 100к - после испыталки чистыми.
До сих пор жалею что не взял этот оффер, был бы там одним фронтом, но какой-то опыт бы получил. А потом СВО и с собесами не пошло, и потом я подзабил на вкат.
День 4
Продолжаю learnjavascript, еще на типах данных. Скачал webstorm, очень удобно. Стартанул тестовое на реакте, нужно будет сделать форму на вебсокетах, чтобы несколько пользователей одновременно могли вводить туда данные одновременно и видели изменения.
Решил учиться на петах и документации. Оставил только learnjavascript для жса потому что это платина, читаю пару тем в день.
Интересно, какую работку в сфере айти можно найти пока на удаленке? Во фронт снова вкатиться сразу будет сложновато, может в какой-нибудь саппорт. Хочу удаленку короче
Искал до сво на хх.ру и на хабр карьере
>До сих пор жалею что не взял этот оффер
Для джуна вкатуна это очень много, я думал максимум будет 60к.
>Интересно, какую работку в сфере айти можно найти пока на удаленке? Во фронт снова вкатиться сразу будет сложновато, может в какой-нибудь саппорт. Хочу удаленку короче
Не будь мудаком и не ломай себе карьерный путь. Саппорт это пиздец геморрой и ответственность. Вкатываешься во фронт? Ищу работу фронтом.
Ну вот пару это тестовые, которые мне покидали. Потом хочу сделать какой-нибудь банальный серчер кина, который делает каждый вкатун. Потом посмотрю, но думаю для вката этого хватит. Там дело собесов уже, главное чтоб гит не пустой был. Потом петы для себя и прокачки скилла.
>>653008
>Не будь мудаком и не ломай себе карьерный путь. Саппорт это пиздец геморрой и ответственность. Вкатываешься во фронт? Ищу работу фронтом.
Да я это понимаю, вкатиться мог уже, но скилл хромает прям, тяжело дается кодинг. А вот работа на удаленке может скоро понадобиться. Вот и думаю над вариантами, если вкат во фронт затянется
>Для джуна вкатуна это очень много, я думал максимум будет 60к.
А я не знаю на джуна это или нет, наверное они хотели мидла, я то в резюме врал про опыт и собес легким оказался
Кого они хотели это неважно. Важно что дали оффер.
Лычки это условность, в шараге два года поработаешь и будешь почетным синьором, а в яндекс потом даже на джуна собес не пойдешь.
>Вот и думаю над вариантами, если вкат во фронт затянется
По мне так лучше идти курьерить чем в ТП. Это самая неблагодарная работа на айти рынке
амиран спок
Ну что тут можно сказать, кодить полностью самостоятельно намного сложнее чем следовать туториалам, даже если там есть какая-то "самостоятельная" работа. Начал делать тестовое, пока только запилил +- верстку.
Долго шаманил с гитом, настраивал ключи и прочее, в итоге разобрался и запушил все это дерьмо на гитхаб. Так же форкнул пару полезных себе. Хочу хоть какую-то активность на гите поддерживать.
Снова сидел над учебником learnjavascript.
С каждым днем все больше и больше времени уделаю занятиям. Сегодня часа 2-3 максимально сфокусированно занимался. Вообще не знаю в чем дело, может из-за того что привычка пропала, или отвык просто. До этого зашел на бесплатный курс rs-school где есть какие-то дедлайны, так я часов по 10 сидел бесплерывно чтобы дедлайны закрыть и сдать проект. А сам себе я дедлайны ставить не умею.
Но надеюсь дальше больше, дойти так часов до 5 самостоятельных занятий себе в кайф.
Продолжаю читать учебник, начал заливать особо сложные задания и их решения себе в гит, получается такой своеобразный конспект.
Начал пилить проект на react/redux-toolkit/ts, типичный серчер с корзиной избранного, категориями и т.д. Буду на нем вспоминать стек, потом буду с его помощью ковырять новые вещи.
По поводу работы уже особо не переживаю, как прижмет думаю не много времени понадобится чтобы найти хоть что-то. Моему обосранному резюме с 0 опытом работы приходят предложения по поему стеку (при отклике на вакансию), конечно не часто, но по двачерским рассказам на меня бы даже не посмотрели.
А всякие вакансии типа тех поддержек сразу на собесы приглашают.
Решил что слишком часто не буду постить обновления, раз в пару дней, когда разберу какую-то технологию или будет что-то интересное. А то смотрю уже поста 3 какие-то одинаковые
>по двачерским рассказам на меня бы даже не посмотрели
Лол, ты бы ещё рассказы инцелов слушал.
Я сейчас посмотрел и вакансий на hh фронтомакак без опыта как кот наплакал, ты откликаешься на вакансии, где требуется опыт работы?
Да, на все вакансии.
А зачем нужна дрочка литкода? Я two sum решил, этого хватит? Я когда прошлый собесился на мидла ничего сложнее этого не спрашивали
Так туда гении идут, я то прям тупой, ну прям очень тупой. Знаю ребят, которые за месяц осваивают то, на что у меня год уходит. Я скорее хочу своим примером показать что даже самый безнадежный чел может вкатиться
Самый безнадежный не вкатится.
Ты свою тупость, ну как ты это называешь, компенсируешь упорством и работой. У тебя есть мотивация и ты умеешь достигать целей, значит далеко не безнадежен. Я вот знаю людей которые мне с 2013 года ноют о том как их достала работа на заводе и как они хотят вайти, но запала что-то делать хватает дай бог на неделю.
Вот с таких ловлю лулзы. Тогда можно было вкатиться на 15к (500 баксов, вообще-то) и за год дорасти до 30-40к просто верстая на HTML/CSS и умея прикручивать к странице готовые плагины на jQuery.
Давно не отписывал, потому что ничего не поменялось. Пилю проектик, вспоминаю технологии, уверенно иду по учебнику. Добавил себе занятия по алгоритмам, чтобы не так волновать на лайвкодинге. Решаю задачки на codewars и сейчас прохожу тренировку по алгоритмам от яндекса.
Да стандартный ректо проект без бекенда, книжный сайт с дефолтным набором функций. Еще набрал тестовых заданий интересных, их попробую поделать.
Мы сюда перейдем.
Договорились. Значит, теперь это мой дневничок. А ты забирай себе тот, что с шизиками.
Беспредел.
Ну что, планы на завтра сука: ебать ебать ЕБАААААТЬ. Ахуенный план, продуман очень чётко.
Моя ежедневная рутина: СПАТЬ ⇄ ЕБАШИТЬ . Что ещё нужно для счастья.
Я просто робот, который ничего не чувствует, а только РАЗЪЕБЫВАЕТ. Я машина, а не человек. Люди слабы, а я силен.
Завтра тренируюсь и пишу код full день, потому что другого образа жизни я вытерпеть не смогу.
Да, нахуй. Это правильный стиль жизни.
Михаил Мишустин (Премьер-министр РФ) сказал, что в 2023 году в России увеличились показатели приёма в вузы на бюджетные места по специальностям в сфере ИТ.
Вы просто подумайте, что будет с конкуренцией и зарплатами, когда на мертвом рынке, в условиях рецессии и сокращений в секторе в целом, ВУЗики начнут клепать в 2 раза больше айти мартышек. 500 откликов на вакансию станет обыденностью, а вкатуны будут драться за зп в 10к, просто чтобы вкатиться.
Представь насколько
Сейчас новичок на ЧПУ за год обгонит джуна по зп, если нормально развиваться будет, там кадровый голод на толковых ребят огромный
Там нужно образование и всякие чертежи и прочее говно. Как ты себе представляешь вкат в это дело? Только по связям в ученики залетать.
Я знаю, но там духота, фронтов не спрашивают от туда задачи, разве что в яндексе каком. А вот кодварс помогает к синтаксису придрочиться и в целом к языку, полезнее как по мне. Литкод тоже конечно можно попробовать, я там two sum сделал и всё когда-то
кто все?