9

От новичка в JS до трудоустройства за полгода. День 13

Прежде чем браться за реакт, надо изучить ООП, затем функциональное программирование и абстрактный подход.
@Irnil

Всем привет! Количество подписчиков уже перевалило за сотню! Всем спасибо! Судя по всему последний пост внес некоторое недопонимание того, что я вообще сейчас делаю.


Текущие задачи:

1. Продолжаю изучать основы JS, но уже не только по Learn JS. Уже дошел до тем связанных с  DOM.

2. Реакт будет, обязательно. Но после Ajax и ES6. jQuery, как я понял, учить смысла нет.
3. Калькулятор в процессе. Уже выводит на экран цифры) Будут по нему вопросы, далее.


Выводы на текущий момент (кому-то они могут показаться очевидными):

1. Любую задачу делить на подзадачи, до тех пор, пока не станут выполнимыми отдельные куски этих подзадач. Сильно помогло начать что-то делать ..и блок схемы еще.

2. Забил на var сразу, использую let и const.

3. Начал сразу же привыкать к редактору, настроил все и начал вникать в Git.

4. 90% курсов будут разжевывать одну и ту же фигню с разных ракурсов. В отдельных случаях крайне заумно.

5. Понял, что писать что-то свое, верстать в тысячу раз круче для развития, чем делать примеры из учебников\курсов (они тоже нужны).

6. Ментор нужен 1000%. Мне очень помогает, осмыслить и упорядочить то, что в теории я знаю как сделать. К примеру: Вам дали молоток, топор, бензопилу, гвозди, шурупы и отвертку. Все эти предметы вы видите в первые. Задача: сделать лестницу. Вот тут и нужен ментор, чтобы объяснить, что шурупы молотком не забивают, а лезвие бензопилы не нужно держать между ног, когда её заводишь.

7. Идея "забить" и найти работу появлялась уже раз 10, от одной интересной вакансии даже отказался. Все потому-что есть этот блог и уже 116 человек наблюдающих за моей очередной попыткой освоить программирование.


Калькулятор:

Сейчас есть две функции. Одна отвечает за UI, вторая за расчеты.
Если нажимается что-то, кроме цифр, UI сбрасывается до дефолтного состояния (0).
Теперь вопрос. Как сделать так, чтобы то что было забито в UI в данный момент (now), сохранилось, потом применялась операция (operation) (сложение, к примеру), а то что было в now уйдет в previous и к previous уже примениться operation, текущий now. При нажатии на любую другую операцию или equal (равно) мы получим текущий результат.


Текущий код выкладывать не буду. Во-первых, не хочу получить очевидное решение. Во-вторых, я там много чего накрутил уже (за последние часа 4), а последнее состояние, когда эта хреновина хоть как-то работала, искать лень..


Есть еще идея, написать статью о контент-менеджменте. Что актуально знать, что необходимо знать, уверен, в итоге будет много всяких не очевидных моментов.. Пишите кому интересно, если человек 10 наберется, напишу.

Всем спасибо. Будут вопросы, задавайте:)

Дубликаты не найдены

0

Боюсь стать очередным горе-советчиком, но всё же.

Остановись ненадолго, возьми хороший учебник по какому-нибудь простому и стабильному языку программирования (от себя могу посоветовать книгу "Простой Python. Современный стиль программирования" Билла Любановича). И просто его прочти, попутно анализируя то, что там написано. Это создаст у тебя в голове первоначальное понимание основ + ты будешь знать какие штуки можно делать. А вот потом уже садись за изучение того, что тебе интересно и теми способами, которые тебе интересны.

раскрыть ветку 1
0

У меня до этого был опыт пол года на курсах по Java Core. Писал об этом в прошлых постах. Да, свои плюсы дает.

0
2. Забил на var сразу, использую let и const.

Упс?

Интересны мотивы без срача.

0

поучи ООП , прототипирование, смеси  и т.д на es5 а потом уже иди на es6. а то накодите там а потом пытаться это поддерживать не используя бабл

раскрыть ветку 3
+1

смысл? es5 уже умер, не говоря о через пол года? человек ставит задачу трудоустроиться, es6  сразу и потом, мы же понимаем что es6 это всего лишь синтаксический сахар, а без бабеля смысла нет. в общем не понимаю ваш совет в реальном мире. поясните пожалуйста

раскрыть ветку 2
0

es 6 поддерживает до конца не все браузеры, у 90% компаний, крупных до сих пор требование ie10+ ну или в лучшем случае ie11 , иногда даже 9 до сих пор.

раскрыть ветку 1
0

а почему jq нет смысла?О_О...

раскрыть ветку 4
0
А нафиг он нужен?
раскрыть ветку 3
0
На нем написана куча всякой полезной херни может быть?
раскрыть ветку 2
0

Это все круто конечно. Однако вот пища для размышлений: чем отличается программист от кодера? Тем, что понимает, что такое алгоритм, объект, класс, наследование, полиморфизм, инкапсуляция, абстракция. Учить без этого понимания кодовые приёмы (особенно с замахом на реакт) все равно что собираться научиться запускать межконтинентальные сверхзвуковые ракеты постреливая из самодельного лука.

Помни, юный падаван! Выразительные средства языка были придуманы именно для облегчения организации названных мной выше сущностей. Без понимания этого программистом не стать, инфа 100%.

Успехов в учёбе)


З. Ы. Кодер - это руки. Программист - руки с мозгами) А без мозгов много не накодишь)

раскрыть ветку 5
0
Можно писать хорошие программы и без знания алгоритмов, паттернов и прочего, но опыт будет накапливаться не так эффективно. Я считаю, что лучше начинать с игры, которая затягивает, а после уже повышать свой скилл чтением полезных книг по своей тематике. А если ещё серьёзнее к этому делу подходить, то я бы вообще не советовал начинать с js.
раскрыть ветку 4
-1

И если делать как вы предложили, то он в челлендж свой не уложится)

-1

Нет нельзя. Точка.

раскрыть ветку 2
0

Привет! Молодец, так держать! И добро пожаловать в ИТ.


По поводу калькулятора первым на ум приходит такой алгоритм:

1. Есть переменная result - результат всех текущих вычислений. Есть переменная current - текущие цифры, которые ввёл пользователь. Есть переменная operation - текущая арифметическая операция калькулятора. При старте приложения или после нажатия на С result и current сбрасываются в 0, operation сбрасывается в состояние "не задана".

2. Если пользователь начал вводить цифры, и operation не задана, то сбрасываем старое значение current в 0. Вводимые цифры станут новым значением current.

3. Если пользователь нажал на операцию, и operation не задана, копируем current в result, сбрасываем current в 0, копируем операцию в operation.

4. Если пользователь нажал на операцию, а operation есть, то применяем операцию к result и current, результат кладём в result, сбрасываем current в 0, новую операцию кладём в operation.

5. Если пользователь нажал на =, и operation не задана, то игнорируем, в противном случае применяем операцию к result и current, результат кладём в current, сбрасываем result в 0, сбрасываем operation.


С этого можно начать. Дерзай.

0
У вас в посте es5 вместо es6
раскрыть ветку 7
0

поправил

раскрыть ветку 6
0
Хотите интересные задачки, не очень сложные?
раскрыть ветку 5
0

Делать статью о контент-менеджменте?

раскрыть ветку 1
0
да!
-1

По поводу калькулятора, есть такая штука, как eval (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval). По началу можно попробовать что-то сделать при помощи него, но это не является Best Practice. И все же, знать об этой функции лишним не будет.

-3

Рекомендую почитать о том, что такое рефакторинг. Что такое, соглашение о кодировании, w3c стандарт, что такое процедурное программирование, чем отличается от ООП, что такое ООП, попробуй применить ООП. 4 основных принципа ООП. Что такое дебаг, как его проводить, какие виды дебага бывают (по брейкпоинтам и по логам). Что такое тестирование, какие виды бывают, зачем это вообще нужно, обязательно научись писать хотя бы unit тесты через Mocha + Chai. Без всего этого к реакту нет смысла даже приближаться. На нормальный проект без этих знаний не возьмут.

раскрыть ветку 6
+3

Господи, да нахуя вы такие советы даете? Пусть срукожопит калькулятор/слайдер/todo, а потом уже вот это вот все.

раскрыть ветку 3
-2

Затем что я знаю что говорю. Пусть и калькуляторы рукожопит и теорию гриндит.

раскрыть ветку 2
0

Спасибо. Часть из этого уже знаю, что-то нужно выучить более детально.

раскрыть ветку 1
-1

Искренне желаю успехов)

Похожие посты
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: