#3 Мой путь
На своем стареньком компьютере я установил не менее старенькую среду разработки Visual Studio 2005 для того, чтобы писать свои программы на языке С уже там, а не на листке бумаги. Почему-то код не стал быть более понятным. Я уже мог отличать ключевые слова, такие как for, if, array[]. Я понимал, где ставить фигурные скобочки, что вот это циклы, это ветвления, а вот это массивы и функции, но не более. Я не мог осознать, как самому это написать и почему ключевое слово return еще и что-то куда-то возвращает.
В один прекрасный день я увидел, как мой одногруппник использует дивный функционал в той же самое среде разработки. Он как будто бы сам выполнял построчно код программы, а не компьютер. Ему отображались все значения переменных, индексы циклов, он даже мог переходить в функции и выходить их них - все! Тот первый переломный момент в моем становлении программистом был уже в конце декабря перед началом сессии - я узнал про отладку программ (Debug).
Я понял как работает процессор, как он выполняет мои инструкции в коде, я дебажил строчка за строчкой. Я стал запоем читать свою первую электронную книгу по С, что попалась под руку. Cделал все лабораторные работы за неделю и сдал перед самым началом экзамена, получив к нему доступ. Сам экзамен я тоже сдал на максимальный балл. Моей радости не было предела. Почти 4 месяца у меня ушло перед тем, как я осознанно стал писать строчки кода в своих программах.
Второй семестр первого курса прошел еще быстрее. Лабораторные работы представляли из себя математические задачи: метод Гаусса, аппроксимации различных функций и все в этом духе. Но меня волновала не математическая сложность, а то, что лично я могу написать код, который будет решать такие непростые задачи за доли секунды, в то время как человеку могло понадобится минуты и даже часы. Осознание этого мотивировало еще больше изучать программирование!
#my_little_story
На своем стареньком компьютере я установил не менее старенькую среду разработки Visual Studio 2005 для того, чтобы писать свои программы на языке С уже там, а не на листке бумаги. Почему-то код не стал быть более понятным. Я уже мог отличать ключевые слова, такие как for, if, array[]. Я понимал, где ставить фигурные скобочки, что вот это циклы, это ветвления, а вот это массивы и функции, но не более. Я не мог осознать, как самому это написать и почему ключевое слово return еще и что-то куда-то возвращает.
В один прекрасный день я увидел, как мой одногруппник использует дивный функционал в той же самое среде разработки. Он как будто бы сам выполнял построчно код программы, а не компьютер. Ему отображались все значения переменных, индексы циклов, он даже мог переходить в функции и выходить их них - все! Тот первый переломный момент в моем становлении программистом был уже в конце декабря перед началом сессии - я узнал про отладку программ (Debug).
Я понял как работает процессор, как он выполняет мои инструкции в коде, я дебажил строчка за строчкой. Я стал запоем читать свою первую электронную книгу по С, что попалась под руку. Cделал все лабораторные работы за неделю и сдал перед самым началом экзамена, получив к нему доступ. Сам экзамен я тоже сдал на максимальный балл. Моей радости не было предела. Почти 4 месяца у меня ушло перед тем, как я осознанно стал писать строчки кода в своих программах.
Второй семестр первого курса прошел еще быстрее. Лабораторные работы представляли из себя математические задачи: метод Гаусса, аппроксимации различных функций и все в этом духе. Но меня волновала не математическая сложность, а то, что лично я могу написать код, который будет решать такие непростые задачи за доли секунды, в то время как человеку могло понадобится минуты и даже часы. Осознание этого мотивировало еще больше изучать программирование!
#my_little_story
👍56🔥28❤1🤔1
Признавайся честно, копипастил код?)
Anonymous Poll
31%
Да, но только внутри своего проекта
63%
Да, особенно со stackoverflow
6%
Нет, никогда. Все пишу сам!
🔥6
Индекс DMdev: update
Количество видео DMdev уже давно перевалило за 500!
Хоть информация и подается в структурированном виде, но все равно порой необходимо возвращаться и искать какую-то конкретную тему, которую когда-то смотрел, но хочется освежить в памяти - что-то вроде конспекта.
Именно для таких целей и был создан индекс по курсам DMdev.
В обновленной версии присутствуют описания, таймкоды и даже ссылки на конкретное место в видео по следующим курсам: Java Core, SQL, JDBC, HTTP. Servlets, Maven, Junit5, Groovy, Gradle, Hibernate и Spring.
P.S. Сейчас идет работа по добавлению курса Bash и ссылок на GetCourse
Количество видео DMdev уже давно перевалило за 500!
Хоть информация и подается в структурированном виде, но все равно порой необходимо возвращаться и искать какую-то конкретную тему, которую когда-то смотрел, но хочется освежить в памяти - что-то вроде конспекта.
Именно для таких целей и был создан индекс по курсам DMdev.
В обновленной версии присутствуют описания, таймкоды и даже ссылки на конкретное место в видео по следующим курсам: Java Core, SQL, JDBC, HTTP. Servlets, Maven, Junit5, Groovy, Gradle, Hibernate и Spring.
P.S. Сейчас идет работа по добавлению курса Bash и ссылок на GetCourse
👍44🔥26👏2
#4 Мой путь
На втором курсе меня подселили в общежитии к ребятам постарше. В университете начались занятия уже по новому для меня языку программирования С++, который я осваивал благодаря книжке размером ~1500 страниц от автора Х. Дейтел. Саму книжку, кстати, я нашел и попросил у своего соседа по комнате. Так начался новый дивный мир в объектно ориентированное программирование (ООП). Только тогда я понял, сколько всего я еще не знаю и что я был всего лишь в самом начале очень длинного пути.
Изучение твоего второго языка программирования обычно запоминается, особенно если он сильно отличается от первого. Но в моем случае синтаксис показался довольно простым после С, лишь сама концепция ООП полностью меняла мой шаблон восприятия кода программ, сложившийся за предыдущий курс университета, и естественно их написание. Тем не менее, эта парадигма открыла мне глаза на то, какие действительно огромные программы можно создавать!
Но могу сказать с уверенностью, что именно второй семестр второго курса был следующим переломным моментом…
Во-первых, у меня появился третий язык программирования - Assembler, изучение которого длилось целых 3 семестра ввиду специфики моей специальности. Он помог мне в мельчайших подробностях разобраться в том, как все устроено на машинном уровне, как работают регистры, аккумуляторы, какие бывают команды процессора, как в принципе устроена память компьютеров. Мне почему-то очень нравился этот минимализм. Например, как приходилось выкручиваться в коде с помощью меток, когда у тебя даже не было циклических конструкций на вооружении.
Во-вторых, это было то самое время, когда я услышал впервые слово Java. Именно услышал, потому что самого языка программирования мы не изучали на моей специальности. Это был Игорь, мой сосед по комнате в общежитии, который показал, как можно круто и легко писать на Java. Я сначала не очень заинтересовался: мне показалось, что язык как-то слишком уж прост. Нет этих крутых ссылок, указателей, указателей на указатели, деструкторов - все казалось каким-то действительно простым. Особенно если учитывать, что все происходило в то время, когда я программировал на Assembler.
#my_little_story
На втором курсе меня подселили в общежитии к ребятам постарше. В университете начались занятия уже по новому для меня языку программирования С++, который я осваивал благодаря книжке размером ~1500 страниц от автора Х. Дейтел. Саму книжку, кстати, я нашел и попросил у своего соседа по комнате. Так начался новый дивный мир в объектно ориентированное программирование (ООП). Только тогда я понял, сколько всего я еще не знаю и что я был всего лишь в самом начале очень длинного пути.
Изучение твоего второго языка программирования обычно запоминается, особенно если он сильно отличается от первого. Но в моем случае синтаксис показался довольно простым после С, лишь сама концепция ООП полностью меняла мой шаблон восприятия кода программ, сложившийся за предыдущий курс университета, и естественно их написание. Тем не менее, эта парадигма открыла мне глаза на то, какие действительно огромные программы можно создавать!
Но могу сказать с уверенностью, что именно второй семестр второго курса был следующим переломным моментом…
Во-первых, у меня появился третий язык программирования - Assembler, изучение которого длилось целых 3 семестра ввиду специфики моей специальности. Он помог мне в мельчайших подробностях разобраться в том, как все устроено на машинном уровне, как работают регистры, аккумуляторы, какие бывают команды процессора, как в принципе устроена память компьютеров. Мне почему-то очень нравился этот минимализм. Например, как приходилось выкручиваться в коде с помощью меток, когда у тебя даже не было циклических конструкций на вооружении.
Во-вторых, это было то самое время, когда я услышал впервые слово Java. Именно услышал, потому что самого языка программирования мы не изучали на моей специальности. Это был Игорь, мой сосед по комнате в общежитии, который показал, как можно круто и легко писать на Java. Я сначала не очень заинтересовался: мне показалось, что язык как-то слишком уж прост. Нет этих крутых ссылок, указателей, указателей на указатели, деструкторов - все казалось каким-то действительно простым. Особенно если учитывать, что все происходило в то время, когда я программировал на Assembler.
#my_little_story
👍55🔥12🌚4
Black Friday is coming
👍31🔥18🤩4👎1
#5 Мой путь
Вот и начался третий курс. В университете все было довольно скудно по части программирования. Я все-таки решился попробовать пописать на Java чисто ради интереса. Тем более учитывая еще и то, что прошли очередные летние каникулы без строчки написанного кода. А точнее, они прошли в моем родном городе на стройке, на которой я еще раз убедился, что заниматься умственным трудом гораздо приятнее.
На просторах интернета я нашел электронный вариант первого и второго тома К. Хорстманна, которые в последующем захватили меня на весь семестр. Причем на столько, что я окончательно и бесповоротно влюбился в этот язык программирования. Я даже не могу передать словами, какое эстетическое удовольствие я испытывал, просто писав программы на Java. Я каждый день с нетерпением ждал окончания лекций и лабораторных работ, чтобы побыстрее вернуться к своему компьютеру и вновь погрузиться в изучение.
Одним прекрасным декабрьским днем 2011 года я увидел объявление на стенах университета о том, что компания EPAM Systems проводит конкурсный набор на свои курсы по Java. К слову, в то время в БГУИР были лаборатории от трех компаний (IBA, EPAM, Itransition), которые довольно часто делали подобные объявления по курсам. Я решил, что пора проверить свои знания и записался на свое первое собеседование.
К сожалению для меня, первый этап был совсем не о программировании: нужно было продемонстрировать владение иностранным языком.
Я учил английский все 11 классов в школе и первые три семестра в университете, но так и не мог связать нескольких слов. Не могу сказать, что я расстроился. Наоборот, я ожидал подобного и начал опрашивать своих знакомых в общежитии, знакомых моих знакомых, кто уже проходил подобные собеседования и мог рассказать, что проверяют на первом этапе. Как итог: я купил небольшую книжку “Английский для изучающих информационные технологии” и стал просто каждый день читать и переводить ее до тех пор, пока все слова не стали мне знакомыми.
Следующее, что я начал подготавливать - это несколько текстов на английском, которые представляли из себя ответы на потенциально возможные вопросы для проверки речи. Я просто выучил их наизусть.
К счастью для меня, аудирование не проверяли, потому что этот аспект я бы точно никак не подготовил за такой маленький срок...
#my_little_story
Вот и начался третий курс. В университете все было довольно скудно по части программирования. Я все-таки решился попробовать пописать на Java чисто ради интереса. Тем более учитывая еще и то, что прошли очередные летние каникулы без строчки написанного кода. А точнее, они прошли в моем родном городе на стройке, на которой я еще раз убедился, что заниматься умственным трудом гораздо приятнее.
На просторах интернета я нашел электронный вариант первого и второго тома К. Хорстманна, которые в последующем захватили меня на весь семестр. Причем на столько, что я окончательно и бесповоротно влюбился в этот язык программирования. Я даже не могу передать словами, какое эстетическое удовольствие я испытывал, просто писав программы на Java. Я каждый день с нетерпением ждал окончания лекций и лабораторных работ, чтобы побыстрее вернуться к своему компьютеру и вновь погрузиться в изучение.
Одним прекрасным декабрьским днем 2011 года я увидел объявление на стенах университета о том, что компания EPAM Systems проводит конкурсный набор на свои курсы по Java. К слову, в то время в БГУИР были лаборатории от трех компаний (IBA, EPAM, Itransition), которые довольно часто делали подобные объявления по курсам. Я решил, что пора проверить свои знания и записался на свое первое собеседование.
К сожалению для меня, первый этап был совсем не о программировании: нужно было продемонстрировать владение иностранным языком.
Я учил английский все 11 классов в школе и первые три семестра в университете, но так и не мог связать нескольких слов. Не могу сказать, что я расстроился. Наоборот, я ожидал подобного и начал опрашивать своих знакомых в общежитии, знакомых моих знакомых, кто уже проходил подобные собеседования и мог рассказать, что проверяют на первом этапе. Как итог: я купил небольшую книжку “Английский для изучающих информационные технологии” и стал просто каждый день читать и переводить ее до тех пор, пока все слова не стали мне знакомыми.
Следующее, что я начал подготавливать - это несколько текстов на английском, которые представляли из себя ответы на потенциально возможные вопросы для проверки речи. Я просто выучил их наизусть.
К счастью для меня, аудирование не проверяли, потому что этот аспект я бы точно никак не подготовил за такой маленький срок...
#my_little_story
🔥42👍16❤7
Подражание
Люди по своей природе склонны машинально повторять любые действия, которые мы наблюдаем. В подтверждении этого был проведен интересный опыт на обезьянах.
Когда одна обезьяна брала что-нибудь пальцами руки (например, карандаш), в части мозга, отвечающей за управление движениями, активизировались нейроны.
Но что более удивительно, когда та же обезьяна просто смотрела на то, как кто-то другой брал карандаш - активизировались те же самые нейроны в мозге.
Если пойти еще дальше, то эти же нейроны активизировались и даже тогда, когда обезьяна намеревалась взять карандаш или просто представляла это действие у себя в голове.
Отсюда:
1️⃣ Не стоит удивляться, что у программистов такая тяга к тому, чтобы копипастить код и подражать в написании/переиспользовании различных подходов других программистов 😅
2️⃣ И да, даже просто обдумывая у себя в голове перед сном, как завтра будем решать проблемную задачу на работе - мы тоже обучаемся!
PS. Это я вычитал из книги “Мозг и душа. Как нервная деятельность формирует наш внутренний мир”.
Там еще невероятно много познавательных фактов о мозге и о том, как мы воспринимает мир с помощью него
#dmdev_top_books
Люди по своей природе склонны машинально повторять любые действия, которые мы наблюдаем. В подтверждении этого был проведен интересный опыт на обезьянах.
Когда одна обезьяна брала что-нибудь пальцами руки (например, карандаш), в части мозга, отвечающей за управление движениями, активизировались нейроны.
Но что более удивительно, когда та же обезьяна просто смотрела на то, как кто-то другой брал карандаш - активизировались те же самые нейроны в мозге.
Если пойти еще дальше, то эти же нейроны активизировались и даже тогда, когда обезьяна намеревалась взять карандаш или просто представляла это действие у себя в голове.
Отсюда:
1️⃣ Не стоит удивляться, что у программистов такая тяга к тому, чтобы копипастить код и подражать в написании/переиспользовании различных подходов других программистов 😅
2️⃣ И да, даже просто обдумывая у себя в голове перед сном, как завтра будем решать проблемную задачу на работе - мы тоже обучаемся!
PS. Это я вычитал из книги “Мозг и душа. Как нервная деятельность формирует наш внутренний мир”.
Там еще невероятно много познавательных фактов о мозге и о том, как мы воспринимает мир с помощью него
#dmdev_top_books
👍35🔥6🤔4
#6 Мой путь
Месяц пролетел незаметно, учитывая сдачу курсовых, лабораторных работ и зачетов. Затем сессия и долгожданный день моего первого собеседования. Это был конец января 2012 года.
Первый этап проходил примерно так, как и предполагалось. Нас ждало в коридоре трое парней, включая меня самого. Вскоре пришла девушка и мы прошли с ней в аудиторию. Сначала нам предоставили текст на английском языке и дали 5 минут на подготовку. Затем каждый по очереди читал вслух и переводил. С этим шагом проблем особых у меня не возникло.
Второй же шаг, как и ожидалось, представлял из себя диалог, где тебя что-то спрашивали и ты устно отвечал. Учитывая хороший процент попадания в вопросы, которые я подготовил наизусть, кое-как мне удалось выкрутиться. Правда, девушка сделала замечание, что если я хочу стать хорошим специалистом в IT, то стоит как следует подтянуть уровень английского языка.
После окончания этого этапа нам разъяснили о дальнейшем ходе действий, что с каждым лично свяжутся по телефону в течение недели и уведомят о результате. Пожелали удачи и посоветовали, на этот раз уже всем, улучшать навыки владения английским языком (наверное, девушка очень его любила). Мы вышли из аудитории, и я немного грустный побрел назад в общежитие, надеясь на лучшее.
В то же самое время, осознавая свои небольшие шансы на положительный результат, начал созревать запасной план...
#my_little_story
Месяц пролетел незаметно, учитывая сдачу курсовых, лабораторных работ и зачетов. Затем сессия и долгожданный день моего первого собеседования. Это был конец января 2012 года.
Первый этап проходил примерно так, как и предполагалось. Нас ждало в коридоре трое парней, включая меня самого. Вскоре пришла девушка и мы прошли с ней в аудиторию. Сначала нам предоставили текст на английском языке и дали 5 минут на подготовку. Затем каждый по очереди читал вслух и переводил. С этим шагом проблем особых у меня не возникло.
Второй же шаг, как и ожидалось, представлял из себя диалог, где тебя что-то спрашивали и ты устно отвечал. Учитывая хороший процент попадания в вопросы, которые я подготовил наизусть, кое-как мне удалось выкрутиться. Правда, девушка сделала замечание, что если я хочу стать хорошим специалистом в IT, то стоит как следует подтянуть уровень английского языка.
После окончания этого этапа нам разъяснили о дальнейшем ходе действий, что с каждым лично свяжутся по телефону в течение недели и уведомят о результате. Пожелали удачи и посоветовали, на этот раз уже всем, улучшать навыки владения английским языком (наверное, девушка очень его любила). Мы вышли из аудитории, и я немного грустный побрел назад в общежитие, надеясь на лучшее.
В то же самое время, осознавая свои небольшие шансы на положительный результат, начал созревать запасной план...
#my_little_story
👍40🔥12🤔3
Нейронные сети
Вдохновившись прочтением книги о работе мозга, мне почему-то очень захотелось написать нейронную сеть или даже создать целый курс с теорией и практикой (как обычно в общем) для демонстрации того, как компьютер может воспринимать визуальную информацию хоть немного похожим или приближенным образом, как это делает человек.
💡Интересный факт
Изначально предполагалось, что создать вычислительную машину, решающую сложные алгоритмические задачи или побеждающую в интеллектуальные игры вроде шахмат и го - гораздо сложнее, чем воспринимать предметы из окружающего мира.
Потому что практически каждый человек с малого возраста легко отделит спелое яблоко на раскачивающемся на ветру дереве от стоящего забора перед ним, нежели будет играть на хорошем уровне в шахматы.
Но на практике все оказалось совсем наоборот. Ибо современные компьютеры давно обыграли лучших шахматистов, а вот воспринимать визуальную информацию все еще является невероятно сложным и неоднозначным процессом.
Вдохновившись прочтением книги о работе мозга, мне почему-то очень захотелось написать нейронную сеть или даже создать целый курс с теорией и практикой (как обычно в общем) для демонстрации того, как компьютер может воспринимать визуальную информацию хоть немного похожим или приближенным образом, как это делает человек.
💡Интересный факт
Изначально предполагалось, что создать вычислительную машину, решающую сложные алгоритмические задачи или побеждающую в интеллектуальные игры вроде шахмат и го - гораздо сложнее, чем воспринимать предметы из окружающего мира.
Потому что практически каждый человек с малого возраста легко отделит спелое яблоко на раскачивающемся на ветру дереве от стоящего забора перед ним, нежели будет играть на хорошем уровне в шахматы.
Но на практике все оказалось совсем наоборот. Ибо современные компьютеры давно обыграли лучших шахматистов, а вот воспринимать визуальную информацию все еще является невероятно сложным и неоднозначным процессом.
👍17🔥8❤4
Хотел бы пройти курс для начинающих, чтобы разобраться в основах работы нейронных сетей, как они устроены, и написать свою собственную на Java, чтобы закрепить на практике на своем любимом языке программирования?
Anonymous Poll
58%
Да, давно хотел разобраться с нейронками!
6%
Нет, нейронки пишут только на Python!
6%
Не, спасибо, тут и без того много информации
30%
Давай лучше следующий курс согласно roadmap :)
🔥8👍4🤔4❤1
#7 Мой путь
Запасной план заключался в параллельном прохождении собеседования еще в одну компанию - Itransition. Там также в это время проводился набор на конкурсной основе на курс по Java с последующим трудоустройством. Т.е. в отличие от EPAM Systems не нужно было после курса идти в лабораторию и продолжать обучение там. В Itransition сразу попадаешь на проект, в чем я видел некоторое очевидное преимущество.
Я позвонил им, мне сказали заполнить и выслать анкету, после чего определились с днем проведения собеседования. Этот случай мне напоминал поступление в университет, когда я также разрабатывал запасной вариант с военным факультетом в БГУИР.
Но неожиданно мне позвонили из EPAM Systems, чтобы поздравить с успешным прохождением первого этапа. Выслали на почту задание для следующего уже технического этапа, согласовали дату и дали около недели на его выполнение.
Я конечно же был невероятно рад звонку, но отменять собеседование в Itransition не стал, потому что неизвестно, как пройдет второй этап.
А задание его было не очень сложным, и мне не составило большого труда его выполнить. Я скорее переживал из-за оформления, форматирования кода и других эстетических аспектов, т.к. брал всю информацию об этом только лишь из старых электронных книг К. Хорстманна.
И вот я стою опять в коридоре офиса EPAM Systems, но уже один в этот раз. Вскоре подходит уже другая девушка Ольга (до сих пор помню, как ее звали) и приглашает пройти к ней в кабинет на собеседование. На удивление оно оказалось довольно-таки простым. Если не вдаваться в подробности, то спрашивали какие-то базовые вещи, понятия, определения, почему ты здесь реализовал так, а вот здесь так. И зачем ты используешь итератор для прохождения по коллекциям, если есть цикл foreach? (Откуда я мог о таком знать, учась по старым книгам!).
Весь этап занял около 30 минут, после чего меня также проинструктировали о том, чтобы я ждал звонка об окончательном результате поступления на курс. В этот раз у меня уже было гораздо больше уверенности в поступлении, нежели после этапа с английским языком.
#my_little_story
Запасной план заключался в параллельном прохождении собеседования еще в одну компанию - Itransition. Там также в это время проводился набор на конкурсной основе на курс по Java с последующим трудоустройством. Т.е. в отличие от EPAM Systems не нужно было после курса идти в лабораторию и продолжать обучение там. В Itransition сразу попадаешь на проект, в чем я видел некоторое очевидное преимущество.
Я позвонил им, мне сказали заполнить и выслать анкету, после чего определились с днем проведения собеседования. Этот случай мне напоминал поступление в университет, когда я также разрабатывал запасной вариант с военным факультетом в БГУИР.
Но неожиданно мне позвонили из EPAM Systems, чтобы поздравить с успешным прохождением первого этапа. Выслали на почту задание для следующего уже технического этапа, согласовали дату и дали около недели на его выполнение.
Я конечно же был невероятно рад звонку, но отменять собеседование в Itransition не стал, потому что неизвестно, как пройдет второй этап.
А задание его было не очень сложным, и мне не составило большого труда его выполнить. Я скорее переживал из-за оформления, форматирования кода и других эстетических аспектов, т.к. брал всю информацию об этом только лишь из старых электронных книг К. Хорстманна.
И вот я стою опять в коридоре офиса EPAM Systems, но уже один в этот раз. Вскоре подходит уже другая девушка Ольга (до сих пор помню, как ее звали) и приглашает пройти к ней в кабинет на собеседование. На удивление оно оказалось довольно-таки простым. Если не вдаваться в подробности, то спрашивали какие-то базовые вещи, понятия, определения, почему ты здесь реализовал так, а вот здесь так. И зачем ты используешь итератор для прохождения по коллекциям, если есть цикл foreach? (Откуда я мог о таком знать, учась по старым книгам!).
Весь этап занял около 30 минут, после чего меня также проинструктировали о том, чтобы я ждал звонка об окончательном результате поступления на курс. В этот раз у меня уже было гораздо больше уверенности в поступлении, нежели после этапа с английским языком.
#my_little_story
👍42❤11🔥10