База для програміста
Мені 19 почав вчити фронтенд розробку
Зараз 3 курс універу технічна спеціальність
На форумах пишуть спочатку треба вчити computer science
Питання: з чого почати вчити, що в підсумку потрібно знати, щоб не вважали гавнокодером?
Мені 19 почав вчити фронтенд розробку
Зараз 3 курс універу технічна спеціальність
На форумах пишуть спочатку треба вчити computer science
Питання: з чого почати вчити, що в підсумку потрібно знати, щоб не вважали гавнокодером?
«Щоб не вважали гавнокодером» — задача приблизно такого ж плану, як «щоб вважали справжнім мужиком». i.imgur.com/4aqkNsO.jpg
Спочатку напиши консольний калькулятор
на Perl желательно:
$_ = <>;
print eval $_;
Все тепер ти не гавнокодер
$_ = <>;
print eval $_;
Ну если на Perl, то вот кошерный вариант: ''=~('('.'?'.'{'
.('`'|'%').('['^"\-").(
'`'|'!').('`'|',').'"'.('\\').
"\$". '_'.
('{' ^((
'[') )).
'='. ( '{'
^'[' ) .((
'<') ). ( '>'
).(( ( ( ';'
))) ). +( '!'
^(( (( ( '+'
))) ))). ( '['
^(( '+') ) ).(
'[' ^')' ) .+(
'`' |(')')).( ( '`'
)|+ (( ( ((
'.' )) ) ))
).( ( ( ((
'[' ) )))^+
'/' ) .(
'{' ^ '[').('`'|'%').('['^'-').('`'|('!')).(
'`' |',').("\{"^ ('[')). ( ( '\\')). (
'$' ) . '_' .(( (( ( ( (( ';' ))) )
))) ) . ('!'^('+')). ( ( '"')).('}'). (
')' ) ) ; ( (
$: ))= ( ( ( (( (
(( ( '.')) ) ) )) )
)) ^ ( ( ( ( (
(( ( '~' ))))))));$~='@' | '(';$^="\)"^
(( ( ( ( (
( ( ( ( (
( ( ( '[' ) )
) ))) )) )
) ) )));$/='`'|'.';$,='(' ^
( ( '}'));$\='`'|'!';$:=')'^ (
( ( '}')));$~='*'|'`';$^="\+"^ (
( ( '_')) );$/='&'|"\@"; ($,) =
( ( '[') ) & '~' ;
$\ =(( ','))^'|';#;#;#; #;#
; #
; #
; #
; # ;
# ; #
; # ;
# ; #
; # ; #
; # ; #
; #;# ;# ;
# ;#;#;#;#;#; #
Коментар порушує правила спільноти і видалений модераторами.
я считаю, что художнику надо обязательно познать физику(оптика the must, очень желательно ОТО, квантовая — опционально) и химию(как он сможет использовать краски, если не будет знать, почему получение выглядит именно так, а не иначе?)
-
-
Хотел посоветовать приседания, жим лежа и становую тягу, когда прочитал название топика, т.к. база для программиста ничем не отличается от базы для строителя, а потом открыл тему, а тут очередной топик о том, что учить (
Видать,ты так прокачал свою базу,что места для логического мышления или адекватного юмора у тебя не осталось.
Ну я занимался ТА, и вроде как наоборот — большая амплитуда движения > меньший вес. При короткой амплитуде можно взять ЗНАЧИТЕЛЬНО больший вес, что как по мне, более травмоопасно. Вообщем, более правильный подход — брать верный вес, не пытатся удивить других в качалке.
Весьма специфическое упражнение, которое обычным качатам нахер не надо
з чого почати вчити, що в підсумку потрібно знати, щоб не вважали гавнокодером?
иметь здоровую самооценку и учиться не обращать внимания на мусорные мнения со стороны.
Каждый день один и тот же вопрос. Пора уже завести страничку в инете howToStartIT.com просто со списком первоначальных пунктов к освоению
-
Я бы на вашем месте сделал бы упор на следующее:
0) Выучить любой ОО язык (Java, Python, C++)
1) Алгоритмы и структуры данных, это очень важно при собеседованиях в хорошие компании.
2) Математика (линейная алгебра, теорвер, статистика, дифференциальное исчисление)
3) Пройти базовый курс по Machine Learning
4) Изучить работу сетей (Ethernet, TCP/IP, DNS, ARP, HTTP) это минимум что нужно знать любому девелоперу.
5) Как бонус, можно еще почитать про распределенные системы и алгоритмы (PAXOS, Raft и иже с ними), а так же про распределенные базы данных (та же Cassandra к примеру).
Все это гораздо тяжелее будет учить впоследствии, особенно я бы сделал упор на алгоритмы и их практику на Hackerrank и подобных сайтах.
p.s. Все это нужно учить, если хотите в нормальных компаниях работать, а не в лидерах рынка.
І асемблер обов’язково, лол. Він фронтендеру критичний.
Крім першого пункту — все в топку, можливо алгоритми і структури даних опшинал взяти. Прочитати натомість Фленагана, книги по фреймворках (загуглити останні, все що було більше 2 років тому — безнадійно застаріло), паттернах програмування (Head First Design Patterns наше все, Gang of Four — лісом). Книжки по архітектурі, Refactoring. І чіплятися за роботу у великій компанії, найпростіше зайти через курси при них. В EPAM це University Program, беремо з третього курсу, якщо зможеш працювати через півроку фуллтайм.
Если подходить фундаментально. Я бы выучил для начала какой то С-подобный яык, на котором можно практикорвать изучение алгоритмов. Потом взял бы какой нибудь курс по мат.анализу и дискретной математике, что бы понять пределы, асимптоты, комбинаторику, графы и т.д. и вообще подружиться с высшей математикой. Затем перешёл бы к изучению структур данных и алгоритмов уже со знанием некого базового языка, на котором можно отрабатывать практику, и знанием основ высшей математики. Ну а дальше пошло поехало: ООП, шаблоны проектирования, clean code от дядюшки Боба... Определиться кем именно хочешь быть: DB, BackEnd, FrontEnd, AI, IoT, ... И начать уже специализацию в этом направелнии.
Т.е. тебе нужно:
1. Воспитать в себе некую дисциплину написания кода. Как нельзя лучше дисциплинирует математика, где без точности, аккуратности ничего не выйдет.
2. Изучить то направление к которому лежит душа, с последующим созданием своего проекта или турдосустройством.
Сразу хочу сказать что теорию должна сопровождать как минимум двойна,я по количеству времени, практика. Выучил тему, реши несколько примеров, напиши код. По окончании какого-то раздела, повтори пройденный материал, реши 100 примеров. По окончании курса, финальный экзамен, повтор всего материала. Эти знания должны прочно осесть в тебе в виде памяти, навыков, неких ассоциаций на фоне позитивных эмоций. Всё это должно делаться осознанно, а не на автомате. В общем настройся на некое увлекаиельное путешествие в профессию длиной в жизнь )
P.S. И это ещё не всё. Это только базовый уровень. Если хочешь глубины, тогда тебе в мир электротехнини, эллектроники, операционных систем, ассемблера и т.д. )
Оять же на истину не претендую. Это как бы я начал свой путь в IT, с позиции своего опыта, если бы мне сегодня было 18 лет и я решил стать программистом.
Все кто будет говорить — зачем это надо, ведь ты потом всю жизнь будешь пилить скучные проеты, с пятью формами и т.д. ... Это всё чушь. К простоте можно прити только через сложность. Только поняв сложные вещи (которые на самом деле простые, когда начинаешь вникать, но на первый взягляд кажутся сложными из-за склонности к преувеличению и не знания), переписав много кода, можно восхиться простотой и изяществом. Иначе не оценишь, не поймёшь будешь второсортным говно дурнем, который делает только то что ему сказали и шаг в право, шаг в лево уже плавает и не знает с какого бока подойти к решению задачи.
P.S.S. Не забудь выучить англиский, что бы свободно читать тех.литературу и общаться на бытовые и около технические темы. Это можно делать в процессе изучения вышеприведённых дисциплин.
извините за вопрос,вот интересно стало...а куда потом в програмировании применить знания мат.анализа,пределов,интегралов,комбинаторики?
Нигде конкретно и везде в плане развития стиля в коде и логики вообще. Но если сомнения по данному вопросу возникают со старта — не тратьте драгоценное время на какую-математику. Фронтендерам она не нужна :) вон
ну я как бы развиваюсь в сторонуJava Enterprise. Вот и интересует где мне там пригодяться значия по математики(если что, то учусь на прикладной математике)
Если интрепрайз, то это рядом (не всегда) с Big Data, Warehouse, OLAP, и т.д.. Ну и тут много раздличных отчётов надо строить, разные предикшины, статистические срезы и т.д.
Но опять же возможно в Вашем случае, вы просто будете из лего (патернов) собирать приложения, из дня в день. Дописывать новые кирпичики и тут Вам явно ничего не пригодиться из высшей математики. Но если вы прошли серьёзную школу у Вас будет дисциплина написания кода. Культура писать код ещё можно сказать.
Я к слову тоже примат закончил. Когда устроился на первую работу, думал что зря потралил 5 лет. Но сейчас, когда шлифуешь мастерство, хочешь развиваться, та хардкорная метематика, как нельзя кстати, правда приходится всё учить по новому, много чего забылось или было выученно не качественно, на тяп ляп, только что бы сдать зачёт или экзамен.
Это типа как можно просто стать водителем, не изучая принципов работы автомобиля. Да, ездить сможешь, газ, тормоз все дела... Что-то сломалось, эвакуатор, сервисный центр. Но если хочешь стать профи, надо понимать что там под капотом. Вот и тут. Попробуйте какой-то нормальный курс пройти по алгоритмам. Там сразу и асимпотоы пригодяться. А что бы понять асимптоты, нужно поимать пределы и пошло поехало.
Плюс, вот вижу люди говоят ML. Или тот же IoT. Что бы спроектировать устойство, надо знать эллектротехнику. А что бы выучить эллектротехнику, без диффиринциального, интегрального исчисления никуда... Плюс решение диф. уравнений. А если решите куда-то в CAD системы, там тоже всякое бывате нужно. Гейм дев, там алгебра, аналитическая геометрия насколько я знаю. В общем вопрос в том какую Вы планку себе ставиие. Если просто хотите клепать веб приложения, пользуясь всем готовым, тут наверно Вы это нигде не примение, до поры до времени. Но всё равно сразу видно у кого какой бекграунд, по качеству кода которое непосредственно корелирует с дисциплиной. Кто-то байтик экономит, а у кого-то мемори лики везде и вся и лапшеобразный код с методами размером в лист A4. Видно когда человек начал с FrontEnd JavaScript и не поимает ничего кроме HTML/CSS/JS или когда с С/C++ или того же Pascal — это я Вам точно говорю :)
Считайте что Вы возделываете свой сад знаний и умений. Каждый новый курс, это новое растение в вашем саду. Каждое повторение чего либо, не даёт зарости тропинкам, по которым вы ходите. Чем больше Ваш сад, чем он богаче и краше, тем больший Вы мастер и тем больший круг задач, эффективнее, красивее и изящнее Вы можете решать ИМХО.
Что бы спроектировать устойство, надо знать эллектротехнику. А что бы выучить эллектротехнику, без диффиринциального, интегрального исчисления никуда...
потрібні знання електроніки, а не електротехніки. І якщо ви не науковець, можна вивчити електроніку без знань " диффиринциального, интегрального исчисления". Точніше вони зайвими не будуть, але на практиці майже не використовуютсья — принаймі мені жодного разу мені не стали потрібні ні для розробки hardware, ні для написання firmware для мікроконтроллерів, і навіться для написання дипломної роботи.
потрібні знання електроніки, а не електротехніки.
Про IEEE вы в курсе?
К чему стандарты программирования и электроники относятся?
так, тільки не зрозумів вашого запитання. Я написав що електроніка і електротехніка відрізняються між собою, хоча мають дуже багато спільного.
Если вы про Iot -это больше электротехника таки)
Потому что без датчиков Iot- это просто процессор и плата.
А уже умный дом или автоматизация производства, датчики всякие и исполнительные механизмы- это ближе к электротехнике.
Працював на промисловості (переробка нафти), там використовуються надійні та сертифіковані АСУ, розроблені спеціально для потреб промисловості, спеціалізовані контроллери Simens, Emerson і сенсори різни величин (тиску, температури, витрати). ніхто туди IoT не пустить,
Розумний дім, і якась маленька автоматизація так це завдання для IoT.
датчики всякие и исполнительные механизмы- это ближе к электротехнике.
зараз в 90% всі сенсори та виконавчі механізми містять мікроконтроллери, для того щоб проводити певну обробку та комунікувати по певним стандартизованим інтерфейсам. Так що твердження що це елетротехніка сумнівне, з електротехніки там хіба двигуни та високовольтні реле.
Так що твердження що це елетротехніка сумнівне, з електротехніки там хіба двигуни та високовольтні реле.
Точно?)
Сенсоры бывают в том числе- электромагнитными, магнитоэлектрическими, тензодатчики, индуктивные датчики, емкостные датчики, термопары, фотодатчики, LVDT(Измерительный трансформатор), сельсины, концевики — это все электротехника.
Есть еще механические датчики -типа поплавковые ,пружинные, мембранные, оптикомеханические, — но их меньше.
спеціалізовані контроллери Simens, Emerson і сенсори різни величин (тиску, температури, витрати). ніхто туди IoT не пустить,
Для меня это странное утверждение, потому что IoT -это как бы бытовая версия этих контроллеров по своей сути)
Если просто хотите клепать веб приложения, пользуясь всем готовым
Как клепальщик веб-приложений говорю — это «готовое» напильником пилить и пилить. А иногда вообще проще самому написать чем взять готовое. Более-менее готов только фреймворк, да и тот авторы пишут без учета всех сценариев использования.
Как клепальщик веб-приложений говорю
человек пробует в снобизм: «... — это элита. а для веб-приложений многого ума не надо».
нет смысла его убеждать в чем-то.
Никогда, слышишь, никогда не воспринимай серьезно то, что говорит Олексій Пєніє и еще пара форумных троллей. Они тебе ничего путного не посоветуют. Единственная их цель — создание драмы. Думай своей головой. И да, закончи хотя-бы бакалавра.
Только анонимы наше всё.
Серьёзно будешь воспринимать когда будет обсуждаться то, что интересно тебе лично. Остальное зачем воспринимать непонятно.
Я в вопросах обучения такую собаку съел, что Корея обзавидуется. И разумеется, о полезности местного образования могу сказать много семиэтажных слов. Но примерно столько же — о том, что никто никого насильно учиться не заставляет.
Если нужна «корочка» — значит это отдельная задача, и она решаемая. В этой стране хоть проффесора дадут Януковичу. А если нужны знания — это тоже задача, и общего решения у неё нет. Тем более в учебных заведениях этой страны. Нужно откровенно оценивать «за» и «против» каждого курса. Давно уж прошли времена, когда диплом гарантировал работу, тем более оплачиваемую.
Всё что я хочу на самом деле сказать — это вопрос более серьёзный чем выбор девушки. Потому что последние взаимозаменяемы, а с образованием такой фокус не проканает, это не быстро, не дёшево, и не гарантированно даже когда потратишь время и деньги.
Коментар порушує правила спільноти і видалений модераторами.
O boje, ni v koem sluchae ne computer science! Vdrug, ty stanesh’ ponimat’, kak ono vse rabotaet, a eto dlya formoshlepa nedopustimo!
Дядя, формошлепером / говнокодером / быдлокодером... можна быть на любом языке, будь то C++ / Java / JavaScript ...
tot, kto formoshlepit na C++ obychno primerno znaet, kak rabotayut komp’utery...plemyannichek
Дедуля, ты сейчас сам подтвердил мои слова
formoshlepit na C++
, знать и понимать разные вещи. Не факт что ты сам то не говнокодер...
За 5 років можна було б вже звикнути, шо кириличної клави нема під рукою, і набирати в сліпу
-
Судя по твоему высеру, звездной болезнью страдаеш ты )) Страдай дальше ))
www.edx.org/...er-science-harvardx-cs50x
What you’ll learn
A broad and robust understanding of computer science and programming
How to think algorithmically and solve programming problems efficiently
Concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development
Familiarity in a number of languages, including C, Python, SQL, and JavaScript plus CSS and HTML
How to engage with a vibrant community of like-minded learners from all levels of experience
How to develop and present a final programming project to your peers
чтобы не быть говнокодером надо учится кодировать и набирать опыта. Никакие институты и советы на форуме тут не помогут
надо учится кодировать и набирать опыта. Никакие институты тут не помогут
Кажется, институты с компьютер сайнс для этого и придумали. Другой вопрос что в Украине такие институты низкоэффективные
базові алгоритми, структури даних, clean code, паттерни, GoF, архітектура процесора
А на сколько далеко в фротнэнд разработке зашёл уже? Ориентируешься больше на дизайн / вёрстку или на всякие там React / Angular?
Как вариант. освоить основы какого нибудь фреймворка, потом постепенно углубляться в реализацию, в стандарты и в возможности языка.
Чтобы не считаться говнокодером надо не писать говнокод :)
Для этого параллельно с изучением фреймворка стоит почитать «лучшие практики», повникать в чужой код в открытых проектах.
А так в общем и целом — набивать опыт программирования. Мастерство оно с опытом приходит.
щоб не вважали гавнокодером?
Для этого нужно не учить, а не быть говнокодером. И CS немного ни при чём. При чём много практики, чтение статей о best practices (правда желательно находить объяснение почему они best practices, а то там тоже необоснованый бред бывает).
Якщо плануєте працювати в світових лідерах ( Google, Facebook), то вчить computer science наприклад на coursera є курс by Sedgewick.
Якщо ні, просто вчить англійську та якусь мову та можливо пару книг по clean code, patterns, refactoring...
Обучение — это постоянный и итеративный процесс. Учи технологии которые интересны параллельно с паттернами, книгами тапа рефакторинга и чистого когда, алгоритмами. Читай гнигу за книгой и не переживай о скорости. Возьми несколько курсов по алгоритмам и CS на курсере. Со вмеременем будет понятнее в какую сторону двигаться. И ходи на локальные митапы и конференции, задавай вопросы.
Почни із того, що покинь універ, якщо те чому там вчать тобі не потрібно. Хочешь у фронтенд — йди у фронтенд.
Універ дає іншу освіту, досить широку. Тобто, таку, що дає можливість працювати на перетині наук, а не лише мавпочкою за конкретним фахом. Це власне і є вища освіта. І факт у тому, що багатьом вона не потрібна.
Якщо твоя мета зашибати бабос у конкретній спеціальності, яка сьогодні має попит — то освоюй саме її і якнайшвидше, бо прийде час (якщо ще не прийшов), коли пропозиція перевищить попит і платити за це стануть значно менше. Спробуй не прогавити час коли ти ще потрібен.
Почни із того, що покинь універ
Как в здравом уме можно такое советовать даже не поинтересовавшись на кого учится OP?
Я такое советую исключительно по тому, что написал автор. Логично, у него есть совершенно другие цели, о которых он не написал. Доводы могут быть в обе стороны, косвенно могу сказать что более вероятно отсутствие положительных.
Лучшее для себя решение он примет разумеется сам, и никто за него. Сам подумай, ты когда-то принимал решение исходя только из совета на форуме, где даже проблему толком не описал? Нет. Там ты мог взять только часть решения, только идею, и только в той части которую готов обсуждать.
Таким образом, я сказал, что если у человека есть ДРУГИЕ доводы в пользу учёбы — САМОЕ ВРЕМЯ их применить. Я акцентировал внимание, какими могут быть эти доводы, в какую сторону копать. Человек не должен ничего мне доказывать и отчитываться полезен ли был мой совет — это значит что можно рассмотреть его объективно, исходя из предположения что он сам умнее меня. Таким образом, решение после совета будет лучшим и более быстрым, чем до него.
Что и требовалось доказать.
PS. Я разумеется интересуюсь всеми подробностями дела, когда решение принимаю я. Но как часто вы сами доверяли кому-то принимать решение за вас? А рассказывали все-все подробности, да ещё и чистую правду без самооправдания? Я таких людей знаю ноль.
Т.е. ты в одном посте и считаешь себя умным, и советуешь бросать универ основываясь на недостаточной информации?
Ты считаешь себя умным априори, и вдвойне умным — там где тебе лень думать. Просто совет: не кричать об этом на паблик.
Хотя опять же, я основываюсь на недостаточной информации. Ты можешь оказаться гением, обладающим природной скромностью. Потому я могу объяснить любое своё решение со своей позиции, но увидеть ситуацию с высоты твоей точки зрения — может только Будда.
Почни із того, що покинь універ, якщо те чому там вчать тобі не потрібно.
Універ потрібен, якщо колись з’явиться бажання завести трактор.
Саме так. І ще багато інших «якщо», якщо є якась мета вища за «стати нєговнокодєром».
Почни із того, що покинь універ, якщо те чому там вчать тобі не потрібно.
Совсем ватан головой ударился. :)
Питання: з чого почати вчити
когда мне было лет
С «Программист баз данных» на «Программист бЕз данных».
Много лет прошло.. иногда вспоминаю, размышляю...
з чого почати вчити, що в підсумку потрібно знати, щоб не вважали гавнокодером?
Английский. Остальное менее важно.
Начать с английского, вложить туда много времени и сил, если будешь владеть на хорошем уровне B1-B2 , то тебя точно возьмут в условиях высокой конкуренции на вакансию фронта.
початку треба вчити computer science
Точно не computer science. Находишь вакансию какого-нибудь фронт джуна, лучше несколько, делаешь пересечение технологий и учишь их потихоньку чисто прикладуху.
що в підсумку потрібно знати, щоб не вважали гавнокодером?
По факту все быдлокодеры, ну или почти все. На проекте приходится делать совсем не то, что в книгах.
Короче не думай о том, что о тебе подумают, важно идти к своей цели — получить работу и опыт, разве не так )))
Говори что у тебе непереносимость к лактозе и потому приходится давится черной икрой и лобстерами.
-
Чтобы быть реально Rockstar-девелопер (извините за термин) то вероятно без компьютер сайнс не обойтись.
А чтобы быть хорошим фронтенд — думаю вполне можно обойтись. Есть на ДОУ хорошая статья — как раз для вас: dou.ua/lenta/articles/how-to-front-end/
Чтобы быть реально Rockstar-девелопер
Нужно нечто большее i.redd.it/vtomm7c1zmuz.jpg
«Щоб не вважали гавнокодером» — задача приблизно такого ж плану, як «щоб вважали справжнім мужиком». i.imgur.com/4aqkNsO.jpg
Варто почати з граматики, стилістики, потім не полінуватися і перечитати форум, знайти корисну інформацію у вже існуючих темах, а таких тем було достатньо
Вважати все одно будуть, бо інакше той, хто вважає, не буде себе розумнішим почувати.
Математика не потрібна, потрібен досвід програмування якихось своїх маленьких проектів.
Математика не потрібна
Не пишіть такого, він через пару років захоче стати Data Scientist.
А чому саме він? Він не хоче data science. Він хоче робити швидко багато коду, але щоб «гавнокодером» не вважали.
Йому не універ потрібен, а лише одна стаття з економіки.
Andrij Elyiv DS
Поганий той програміст, котрий не хоче стати Data Scientist
🤦
Найкращі коментарі пропустити