Samurai
Фулл стак больше)
ну, там не все понятно. есть же люди, которые на 1/4 во фронте и 3/4 в беке и наоборот, которые выбирают себе фуллстек. спорно все.
Сережа
Вебкам.
После событий в Украине подобное направление потеряло актуальность
Никита
После событий в Украине подобное направление потеряло актуальность
Такое никогда не потеряет актуальность и с такими темами во флудилку, чтобы до греха не доводить.
Сережа
Да просто изучал фронт. Разобрался с html и css. Немного в js и уже начинает тошнить, а впереди же еще фрейворки учить.
Сережа
Вот и решил попробовать, что то новое.
Azamat
От шуток про какой джс ужасный?
Сережа
Нет, сам синтаксис мне вполне заходит
Сережа
Трудно объяснить, я хоть и изучал верстку, но так и не понял, что я буду делать на деле. Ну не сайты же пилить всё время.
Сережа
Может быть в этом и проблема.
Никита
Учитывая из увиденного, что тебя "немного тошнит" в js, то боюсь предположить, что все изучение закончилось просмотром видеоролика в Ютубе.
Сережа
Учитывая из увиденного, что тебя "немного тошнит" в js, то боюсь предположить, что все изучение закончилось просмотром видеоролика в Ютубе.
Начинал да. Смотрел ролики по js (там была база про html и css), потом понял что толком не объясняется про css. Дальше учил по mdn. Постепенно по пунктам. Js охватил немного про работу с элементами и функциями.
Сережа
Совмещаю с работой. Курсы не беру.
Никита
Тебе не понять...
Евгений
Совмещаю с работой. Курсы не беру.
Немчинский говорил, прежде чем основательно взяться за учебу, попробовать как можно больше разных языков
Евгений
Иначе "червячок сомнения" рано или поздно тебя сожрет, но случится это когда уже норм так времени потратил. И сменишь направление в итоге
Azamat
зашел в панель разработчика в код сайта и удалил элемент, вот тебе и распил ДОМ дерева xD
Евгений
Пробуй, в чем проблема?
У меня? У меня пока нет проблем. Я ответил человеку на его сомнения. Он пытается выбрать что-то одно и сразу же учиться, не посмотрев на направления разработки широко предварительно
Andrii
У меня? У меня пока нет проблем. Я ответил человеку на его сомнения. Он пытается выбрать что-то одно и сразу же учиться, не посмотрев на направления разработки широко предварительно
Тоже вариант... В целом мой совет ещё проще: учить вначале Си и программирование, а потом что хочешь, будет и проще и быстрее и глубже и поймёшь что хочешь
fsociety
Тоже вариант... В целом мой совет ещё проще: учить вначале Си и программирование, а потом что хочешь, будет и проще и быстрее и глубже и поймёшь что хочешь
у меня недавно закралась идея, что нужно учить, то где захочешь больше практиковаться. хочешь делать сайты на реакте - открываешь доки и делаешь. разве нет?
Igor
Хороший вопрос.
Типа ... "зря твоя мать решила не делать аборт" ;) это критика человека или его действий? ;)
Igor
Ну это уже тяжёлая артиллерия. )
ну я довожу до абсурда ... но суть та же. Отделить действия от человека врядли возможно. Зачастую как раз действия и характеризуют человека, а пиздеть не мешки ворочать
Igor
Блин бухал вчера, а на философию потянуло сегодня. Чет реакция уже не та с возрастом ;)
Igor
Одно дело просто сказать, что человек тупой, а другое дело сказать ему, что он тупой и почему.
;) а зачем человеку говорить что он тупой? если человек тупой он не поймет твое "потому что" ;)
Никита
И тут не поспоришь.
Сидредин
тупых людей намного меньше, чем мы думаем
Виталик Голоенко
Тоже вариант... В целом мой совет ещё проще: учить вначале Си и программирование, а потом что хочешь, будет и проще и быстрее и глубже и поймёшь что хочешь
Привет, я по поводу вчерашнего вопроса Так есть ли смысл в с++, выделять динамическую память константным значением, а не хранить в стеке?
Igor
тупость понятие относительное. Сперва каждый меряет по себе, а потом еще оказывается что тот кто меряет себя переоценил ;)
Igor
Привет, я по поводу вчерашнего вопроса Так есть ли смысл в с++, выделять динамическую память константным значением, а не хранить в стеке?
Тебе же вчера объяснили что главная проблема хранени в стеке это то что данные за пределы функции выйти не могут.
Виталик Голоенко
Тебе же вчера объяснили что главная проблема хранени в стеке это то что данные за пределы функции выйти не могут.
А зачем им выходить за пределы функции? И можно же определить их вне функции)
Виталик Голоенко
В стеке вне функции ... научишь? ;)
Ну глобальные переменные
Igor
Ну глобальные переменные
Начни учить Си или программирование ;)
Виталик Голоенко
Пон
Виталик Голоенко
Начни учить Си или программирование ;)
Все, я вычитал что глобальные переменные хранятся в куче, понял
Igor
Блин Виталик кто из нас учит Си ;)
Igor
или программировние ;)
Виталик Голоенко
Опять мимо ;)
Куча — это хранилище памяти, также расположенное в ОЗУ, которое допускает динамическое выделение памяти и не работает по принципу стека: это просто склад для ваших переменных. Когда вы выделяете в куче участок памяти для хранения переменной, к ней можно обратиться не только в потоке, но и во всем приложении. Именно так определяются глобальные переменные Вот из статьи
Виталик Голоенко
окей ;)
Напрягает ваше:"окей"), там чото не так написано?
Igor
На самом деле это все условности. Если тебе удобней считать это хипом то ладно. Но заметь хип подразумевает алокацию и деалокацию .. часто ты деалоцировал глобальные переменные?
Igor
Ща Андрей скажет ;) но вроде это зоветься Static $)
Igor
что то типа https://craftofcoding.wordpress.com/2015/12/07/memory-in-c-the-stack-the-heap-and-static/ Но повторюсь это условности языка.
Виталик Голоенко
Тебе же вчера объяснили что главная проблема хранени в стеке это то что данные за пределы функции выйти не могут.
Так а что означает:"данные в стеке за пределы функции выйти не могут", зачем им выходить из функции?
Igor
Вообще Виталик хитрый ;) ... сами искать не хочет, пишет всякий бред в чат а мы с Андреем ему всю правду на блюдичке ;)
Igor
Так а что означает:"данные в стеке за пределы функции выйти не могут", зачем им выходить из функции?
Ну вот у тебя функция создала данные в стеке и должна вернуть их ... опять копированием переложишь в стек? и сколько ты данные так будешь по стеку перекидывать?
Igor
если ты с данными работаешь только в этой функции да можешь положить в стек. но опять заметь размер стека гораздо более ограниченный чем хипа ... засирать стек плохая идея
Igor
Зато алокация "дешевле" ... у всего есть свои плюсы и минусы
Igor
Ты учишь си и программировать ;) а потом сам показываешь данным кто тут босс и кому где лежать ;)
Виталик Голоенко
Ну вот у тебя функция создала данные в стеке и должна вернуть их ... опять копированием переложишь в стек? и сколько ты данные так будешь по стеку перекидывать?
Так можно же из функции возвращать указатель, и не прийдется копировать (не агрись, если я чото не так говорю:))
Igor
Так можно же из функции возвращать указатель, и не прийдется копировать (не агрись, если я чото не так говорю:))
если бы я агрился я бы столько не писал ;) я пытаюсь объяснит, но и ногда же нужно и самому думать ;) Указатель куда? все данные в стеке ниже текущего фрейма не валидны ...
Igor
Если ты вышел из функции все что ты клал в стек инвалидируется ... оно остается в памяти но затрется как только ты начнешь вызывать следующие функции
Igor
По ходу нужно начинать не с си а с ассемблера ;)
Vladimir
https://youtu.be/6I5vZBU69ws
Виталик Голоенко
если бы я агрился я бы столько не писал ;) я пытаюсь объяснит, но и ногда же нужно и самому думать ;) Указатель куда? все данные в стеке ниже текущего фрейма не валидны ...
int* fun(){ int a = 5; int* b = &a; return b; } int main(){ int* p = fun(); cout<<*p; } ну вот прекрасно возвращается, и все валидно, вместо а можно подставить переменную с большим объемом данных, и не надо будет копировать, а просто вернуть указатель на него
Igor
int* fun(){ int a = 5; int* b = &a; return b; } int main(){ int* p = fun(); cout<<*p; } ну вот прекрасно возвращается, и все валидно, вместо а можно подставить переменную с большим объемом данных, и не надо будет копировать, а просто вернуть указатель на него
Читай весь текст ... "как только ты начнешь вызывать другие функции оно затрется" #include <iostream> int* fun(){ int a = 5; int* b = &a; return b; } int* fun_thrash(){ int a = 6; int* b = &a; return b; } int main(){ int* p = fun(); fun_thrash(); std::cout<<*p; } Все сорян лимит ответов на глупые вопросы на сегодня окончен ;) ... выучи как работает стек без этого продолжать учить си нет смысла.
Igor
У функции fun и fun_thrash одинаковый лейаут в памяти (точнее у их части в стеке) поэтому 6 попала на 5 ... на самом деле может произойти что угодно. На подобное поведение рассчитывать не стоит
Igor
При нормальных настройках даже компилятор матюкнеться main.cpp: In function ‘int* fun()’: main.cpp:5:10: warning: function returns address of local variable [-Wreturn-local-addr] 5 | return b; | ^ main.cpp:3:8: note: declared here 3 | int a = 5; | ^ 0 хотя кто ворнинги читает ;) согласен это для лохов ;)
Igor
Ну и да насчет асма я не шутил ... вот что нибудь по типу такого, если нет желания читать книжки. Это первое что на гуглил не факт что самое лучшее просто чтобы "проилюстрировать что происходит под капотом" и желательно это понимать. Поэтому си и плюсы для новичков имхо сложно. В большинстве других языков этим не нужно заморачиваться потому что просто так сделать нельзя. https://habr.com/ru/post/183376/
Igor
Виталик хочет положить данные в стек и вернуть их из функции. Обсуждается "невозможность" именно этого момента, а не оптимизации
Михаил
Михаил
ну а так да
Сергей
всем привет ! у кого ни будь есть курсы по django нормальные?
Oleksii
неловкий момент, когда решил поделиться историей в айти паблике, а тебя зовут на репортаж как гостя))))