#1 Мой путь
Я вырос в маленьком белорусском городке на границе с Россией - Мстиславль. Еще со школьной скамьи мне почему-то хотелось стать программистом, писать крутые приложения, а может, и разрабатывать компьютерные игры. Но как обычно это и выходит у всех - возможности не было. Не было того, кто мог бы показать или рассказать об этом, а на уроках информатики мы занимались даже отдаленно не похожим на код программ.
Кто-то из знакомых рассказывал, что есть университет в Минске - БГУИР (Белорусский Государственный Университет Информатики и Радиоэлектроники), где всему научат, и где ты сможешь получить то, чего так хочешь. Как сейчас помню, это был 8 класс и первая осознанная цель в жизни - поступить в БГУИР.
К сожалению, твои цели не всегда соответствуют реальным происходящим событиям. Дело в том, что я учился по новой 12-летней программе обучения, которая, как оказалось, была неудачной. В конце 10 класса мы все узнали, что будем поступать уже в следующем году вместе с ребятами по 11-летней программе. Другими словами, двойной поток и искусственное увеличение конкурса в 2 раза на бюджетные места в учебных заведениях.
Проблема в том, что я из многодетной семьи, и рассматривались возможности поступать исключительно на бюджет. Следовательно, шанс был всего один, а стать программистом очень уж хотелось. Поэтому я разузнал, что есть военный факультет в БГУИРе, куда поступить чуть ли не в два раза проще. Как итог: заявление в военкомат, многоэтапные медкомиссии, сдача физических нормативов и подготовка к ЦТ (Централизованное Тестирование).
Но что-то мне подсказывало, что на военном факультете будет не совсем то, чего я хотел…
После сдачи ЦТ я подсчитал все свои баллы вместе с аттестатом и пошел читать книгу прошлых лет о проходных баллах на факультеты БГУИР. Я понимал, что два потока будущих студентов должны неплохо увеличить этот балл, следовательно брал с запасом. По моим меркам, я должен был без проблем пройти на бюджет и, конечно же, не на военный факультет. Осталось лишь уговорить родителей и забрать заявление в военкомате.
С родителями разговор был сложный и эмоциональный, но, к счастью для меня, увенчался успехом.
С военкоматом было проще, но интереснее.
Ответ был прост: даже если я заберу заявление и тем самым решу не поступать на военный факультет, пройдя далеко не быстрый и простой путь отбора, то все равно через 5 лет они меня будут ждать.
В тот момент я не осознавал, насколько здорово они умеют держать свои обещания…
#my_little_story
Я вырос в маленьком белорусском городке на границе с Россией - Мстиславль. Еще со школьной скамьи мне почему-то хотелось стать программистом, писать крутые приложения, а может, и разрабатывать компьютерные игры. Но как обычно это и выходит у всех - возможности не было. Не было того, кто мог бы показать или рассказать об этом, а на уроках информатики мы занимались даже отдаленно не похожим на код программ.
Кто-то из знакомых рассказывал, что есть университет в Минске - БГУИР (Белорусский Государственный Университет Информатики и Радиоэлектроники), где всему научат, и где ты сможешь получить то, чего так хочешь. Как сейчас помню, это был 8 класс и первая осознанная цель в жизни - поступить в БГУИР.
К сожалению, твои цели не всегда соответствуют реальным происходящим событиям. Дело в том, что я учился по новой 12-летней программе обучения, которая, как оказалось, была неудачной. В конце 10 класса мы все узнали, что будем поступать уже в следующем году вместе с ребятами по 11-летней программе. Другими словами, двойной поток и искусственное увеличение конкурса в 2 раза на бюджетные места в учебных заведениях.
Проблема в том, что я из многодетной семьи, и рассматривались возможности поступать исключительно на бюджет. Следовательно, шанс был всего один, а стать программистом очень уж хотелось. Поэтому я разузнал, что есть военный факультет в БГУИРе, куда поступить чуть ли не в два раза проще. Как итог: заявление в военкомат, многоэтапные медкомиссии, сдача физических нормативов и подготовка к ЦТ (Централизованное Тестирование).
Но что-то мне подсказывало, что на военном факультете будет не совсем то, чего я хотел…
После сдачи ЦТ я подсчитал все свои баллы вместе с аттестатом и пошел читать книгу прошлых лет о проходных баллах на факультеты БГУИР. Я понимал, что два потока будущих студентов должны неплохо увеличить этот балл, следовательно брал с запасом. По моим меркам, я должен был без проблем пройти на бюджет и, конечно же, не на военный факультет. Осталось лишь уговорить родителей и забрать заявление в военкомате.
С родителями разговор был сложный и эмоциональный, но, к счастью для меня, увенчался успехом.
С военкоматом было проще, но интереснее.
Ответ был прост: даже если я заберу заявление и тем самым решу не поступать на военный факультет, пройдя далеко не быстрый и простой путь отбора, то все равно через 5 лет они меня будут ждать.
В тот момент я не осознавал, насколько здорово они умеют держать свои обещания…
#my_little_story
👍89🔥28👏4❤2😱1😢1
#2 Мой путь
1 сентября 2009 года - я поступил в БГУИР на специальность ИТиУТС (Информационные Технологии и Управление в Технических Системах) и стою возле 5 корпуса университета на открытии учебного года. Переехав из маленького города Мстиславль, Минск казался тогда просто огромным и невероятным! Столько высотных зданий, большие улицы, миллионы людей, даже впервые на метро покатался!
Мне предоставили общежитие как многодетной семье, следовательно было где жить, а стипендия на бюджете - чтобы было что есть. Осталось дело за малым - стать программистом. Предметов было очень много, но я с нетерпением ждал лишь одного единственного - первого занятия по программированию.
К сожалению, а может и, наоборот, к счастью, процесс обучения очень отличался от того, что я себе представлял. На первой лабораторной работе на своем первом языке программирования С задание звучало (дословно): скачиваем методическое пособие с сайта, находим первую задачу и начинаем писать код. И нет тебе каких-либо наставлений или объяснений, только куча вопросов у меня: где писать? как писать? почему все что-то делают, а я не пойму даже с чего начать?
Отсюда я получил урок номер 1: обучение в университетах построено практически полностью на самообучении, начитке кучи лекций и отсутствием практики.
Все бы ничего, я не против такого подхода, просто на тот момент мне казался код программ рандомным набором замысловатых и непонятных символов. Компьютер появился только на втором месяце обучения, следовательно я просто пытался написать код на листочке, анализируя решенные задачи своих одногруппников.
Тем временем, середина семестра подходила к концу, понятность кода ничуть не увеличивалась, руки опускались, и я уже не успевал со сдачами работ...
#my_little_story
1 сентября 2009 года - я поступил в БГУИР на специальность ИТиУТС (Информационные Технологии и Управление в Технических Системах) и стою возле 5 корпуса университета на открытии учебного года. Переехав из маленького города Мстиславль, Минск казался тогда просто огромным и невероятным! Столько высотных зданий, большие улицы, миллионы людей, даже впервые на метро покатался!
Мне предоставили общежитие как многодетной семье, следовательно было где жить, а стипендия на бюджете - чтобы было что есть. Осталось дело за малым - стать программистом. Предметов было очень много, но я с нетерпением ждал лишь одного единственного - первого занятия по программированию.
К сожалению, а может и, наоборот, к счастью, процесс обучения очень отличался от того, что я себе представлял. На первой лабораторной работе на своем первом языке программирования С задание звучало (дословно): скачиваем методическое пособие с сайта, находим первую задачу и начинаем писать код. И нет тебе каких-либо наставлений или объяснений, только куча вопросов у меня: где писать? как писать? почему все что-то делают, а я не пойму даже с чего начать?
Отсюда я получил урок номер 1: обучение в университетах построено практически полностью на самообучении, начитке кучи лекций и отсутствием практики.
Все бы ничего, я не против такого подхода, просто на тот момент мне казался код программ рандомным набором замысловатых и непонятных символов. Компьютер появился только на втором месяце обучения, следовательно я просто пытался написать код на листочке, анализируя решенные задачи своих одногруппников.
Тем временем, середина семестра подходила к концу, понятность кода ничуть не увеличивалась, руки опускались, и я уже не успевал со сдачами работ...
#my_little_story
👍75🔥11👏6🤯4❤1
❓Зачем столько однотипных методов of в интерфейсе List?
Начинающие джависты часто спрашивают меня (и, думаю, многие не начинающие тоже задавались вопросом), зачем разработчики языка Java добавили с десяток методов of в интефейс List, которые отличаются лишь количеством параметров.
И правда, зачем? 🤔
И есть ли действительно смысл в этом?
#dmdev_ликбез
Начинающие джависты часто спрашивают меня (и, думаю, многие не начинающие тоже задавались вопросом), зачем разработчики языка Java добавили с десяток методов of в интефейс List, которые отличаются лишь количеством параметров.
И правда, зачем? 🤔
И есть ли действительно смысл в этом?
#dmdev_ликбез
🤔23👍3😐3
DMdev talks
❓Зачем столько однотипных методов of в интерфейсе List? Начинающие джависты часто спрашивают меня (и, думаю, многие не начинающие тоже задавались вопросом), зачем разработчики языка Java добавили с десяток методов of в интефейс List, которые отличаются лишь…
📚 В топ-1 книге для Java разработчиков “Effective Java” by Joshua Bloch отлично описывается зачем приходится перегружать методы таким образом и как выбирается количество элементов без использования varargs.
Если коротко:
для избежания накладных расходов на создание и инициализацию массива в критически важных по производительности местах приложений.
На картинке тот самый кусочек информации из книги!
(3rd Edition, Item 53 “Use varargs judiciously”)
#dmdev_ликбез
#dmdev_top_books
Если коротко:
для избежания накладных расходов на создание и инициализацию массива в критически важных по производительности местах приложений.
На картинке тот самый кусочек информации из книги!
(3rd Edition, Item 53 “Use varargs judiciously”)
#dmdev_ликбез
#dmdev_top_books
👍31🔥10❤1🤔1
#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