Есть здесь любители поотвлекаться на соцсети, не спать полночи или работать без перерыва весь день? Рассказываем, почему это вредно и как это мешает нашей продуктивности.
🔥40👍15❤2💩1
Три попытки попасть в IT: как я стал Node.js-разработчиком
Героя сегодняшней истории зовут Борис, и уже год он работает бэкенд-разработчиком. Для этого понадобились три попытки, одна стрессовая работа, море терпения и учебы.
Борис рассказывает, почему вообще пошел в IT, какой главный интерес в программировании для себя открыл и что получил в итоге.
Героя сегодняшней истории зовут Борис, и уже год он работает бэкенд-разработчиком. Для этого понадобились три попытки, одна стрессовая работа, море терпения и учебы.
Борис рассказывает, почему вообще пошел в IT, какой главный интерес в программировании для себя открыл и что получил в итоге.
Хекслет
Три попытки попасть в IT: как я стал Node.js-разработчиком
Меня зовут Борис, и уже год я работаю бэкенд-разработчиком. Для этого понадобились три попытки, одна стрессовая работа, море терпения и учебы. Рассказываю, почему я вообще пошел в IT, какой главный интерес в программировании я для себя открыл и что получил…
👍16❤3👏1💩1
Язык программирования Java: что нужно знать новичку
По результатам рейтинга State of Octoverse 2022 Java входит в тройку самых популярных языков программирования, уступая только JavaScript и Python.
Сферы применения
Серверные приложения: это могут быть как отдельные приложения, так и вся серверная часть проекта. Также на Java пишут программы для финансовых организаций, которые обеспечивают проведение транзакций, фиксацию торговых операций.
Веб-приложения: Фреймворки Spring, Struts, и другие позволяют писать на Java веб-приложения: от ecommerce-проектов до крупных порталов, от образовательных платформ до правительственных ресурсов.
Мобильные приложения: с помощью Java можно создавать мобильные приложения для операционных систем Android.
Игры: скорее, исключение, чем правило, но несколько популярных компьютерных игр — например, Minecraft и God of Wars, — написаны на Java.
Еще на Java пишут код для клиентских приложений (например, — IDE NetBeans), разрабатывают программы для научных целей, программируют приборы — от бытовых девайсов до промышленных установок.
Свойства Java
Переносимость: создатели реализовали принцип WORA: write once, run anywhere или «пиши один раз, запускай везде». Это значит, что написанное на Java приложение можно запустить на любой платформе, если на ней установлена среда исполнения Java (JRE, Java Runtime Environment).
Объектно-ориентированный подход: Java основан на концепции объектов, что делает его более структурированным и модульным. Вы можете создавать классы и объекты, которые взаимодействуют друг с другом, чтобы решать задачи.
Безопасность: Java обладает встроенными механизмами безопасности, которые помогают защитить программы от вредоносного кода и неправильного доступа к памяти.
Автоматическое управление памятью: в Java реализован механизм управления памятью, который называется сборщиком мусора или garbage collector. Разработчик создает объекты, а JRE с помощью сборщика мусора очищает память, когда объекты перестают использоваться.
Особенности языка программирования Java
Широкое распространение старых версий языка. Большинство компаний используют не самые последние версии языка, чаще всего Java 8, хотя последняя версия на июль 2023 года — Java 20.
Сравнительно высокий уровень входа. Если в большинстве языков понимание ООП можно получать постепенно, то в Java концепции нужно будет использовать едва ли не сразу.
Многословный и сложный код. В Java часто встречаются длинные предложения, которые помогают при обучении, но сильно затрудняют чтение и понимание кода.
Плюсы Java
Большое глобальное сообщество. По данным компании Oracle, которая владеет и поддерживает язык, на Java пишут 12 млн разработчиков по всему миру и примерно 5 млн студентов.
Безопасность. Язык сам по себе не делает код безопаснее, но в нем есть инструменты, которые позволяют защитить этот код. Например, в нем отсутствуют указатели и есть Security Manager, который позволяет настроить доступ к каждому приложению.
Востребованность. Спрос на Java-разработчиков в enterprise-сегменте очень велик, а зарплаты достаточные высокие.
Минусы Java
Производительность. Несмотря на то, что Java обеспечивает безопасность и переносимость, некоторые разработчики считают, что он может быть медленнее по сравнению с некоторыми другими языками, такими как C++ или C#.
Потребление памяти. Приложения на Java могут потреблять больше оперативной памяти по сравнению с некоторыми другими языками программирования. Это связано с автоматическим управлением памятью и использованием виртуальной машины Java.
Зависимость от JVM. Поскольку Java работает на виртуальной машине Java, приложения требуют наличия JVM для выполнения. Это может создавать проблемы, если необходимость в установке и поддержке JVM на целевых устройствах или серверах является преградой.
По результатам рейтинга State of Octoverse 2022 Java входит в тройку самых популярных языков программирования, уступая только JavaScript и Python.
Сферы применения
Серверные приложения: это могут быть как отдельные приложения, так и вся серверная часть проекта. Также на Java пишут программы для финансовых организаций, которые обеспечивают проведение транзакций, фиксацию торговых операций.
Веб-приложения: Фреймворки Spring, Struts, и другие позволяют писать на Java веб-приложения: от ecommerce-проектов до крупных порталов, от образовательных платформ до правительственных ресурсов.
Мобильные приложения: с помощью Java можно создавать мобильные приложения для операционных систем Android.
Игры: скорее, исключение, чем правило, но несколько популярных компьютерных игр — например, Minecraft и God of Wars, — написаны на Java.
Еще на Java пишут код для клиентских приложений (например, — IDE NetBeans), разрабатывают программы для научных целей, программируют приборы — от бытовых девайсов до промышленных установок.
Свойства Java
Переносимость: создатели реализовали принцип WORA: write once, run anywhere или «пиши один раз, запускай везде». Это значит, что написанное на Java приложение можно запустить на любой платформе, если на ней установлена среда исполнения Java (JRE, Java Runtime Environment).
Объектно-ориентированный подход: Java основан на концепции объектов, что делает его более структурированным и модульным. Вы можете создавать классы и объекты, которые взаимодействуют друг с другом, чтобы решать задачи.
Безопасность: Java обладает встроенными механизмами безопасности, которые помогают защитить программы от вредоносного кода и неправильного доступа к памяти.
Автоматическое управление памятью: в Java реализован механизм управления памятью, который называется сборщиком мусора или garbage collector. Разработчик создает объекты, а JRE с помощью сборщика мусора очищает память, когда объекты перестают использоваться.
Особенности языка программирования Java
Широкое распространение старых версий языка. Большинство компаний используют не самые последние версии языка, чаще всего Java 8, хотя последняя версия на июль 2023 года — Java 20.
Сравнительно высокий уровень входа. Если в большинстве языков понимание ООП можно получать постепенно, то в Java концепции нужно будет использовать едва ли не сразу.
Многословный и сложный код. В Java часто встречаются длинные предложения, которые помогают при обучении, но сильно затрудняют чтение и понимание кода.
Плюсы Java
Большое глобальное сообщество. По данным компании Oracle, которая владеет и поддерживает язык, на Java пишут 12 млн разработчиков по всему миру и примерно 5 млн студентов.
Безопасность. Язык сам по себе не делает код безопаснее, но в нем есть инструменты, которые позволяют защитить этот код. Например, в нем отсутствуют указатели и есть Security Manager, который позволяет настроить доступ к каждому приложению.
Востребованность. Спрос на Java-разработчиков в enterprise-сегменте очень велик, а зарплаты достаточные высокие.
Минусы Java
Производительность. Несмотря на то, что Java обеспечивает безопасность и переносимость, некоторые разработчики считают, что он может быть медленнее по сравнению с некоторыми другими языками, такими как C++ или C#.
Потребление памяти. Приложения на Java могут потреблять больше оперативной памяти по сравнению с некоторыми другими языками программирования. Это связано с автоматическим управлением памятью и использованием виртуальной машины Java.
Зависимость от JVM. Поскольку Java работает на виртуальной машине Java, приложения требуют наличия JVM для выполнения. Это может создавать проблемы, если необходимость в установке и поддержке JVM на целевых устройствах или серверах является преградой.
👍20❤4💩1
В современной информационной повестке есть несколько известных мифов о создании первых персональных компьютеров. Как правило, в них идет речь о том, как несколько человек сидят в гараже в Калифорнии и собирают свои первые прототипы компьютеров. Однако и до гаражей в Пало Альто были герои, которые сейчас известны достаточно узкому количеству людей. Одним из них является Алан Кей — теоретик информатики и человек, который придумал философию современных персональных компьютеров и термин объектно-ориентированного программирования.
👍30🔥5💩1😍1
Почему Python — отличный выбор для старта в веб-разработке
Python — мощный, но в то же время доступный для изучения язык программирования, занимающий первое место в рейтинге TIOBE и второе в State of Octoverse 2022. Несмотря на то, что в последние годы Python стал ассоциироваться с машинным обучением, анализом данных и созданием чат-ботов, его возможности не ограничиваются этими областями. Он активно применяется и в веб-разработке, предлагая множество преимуществ для создания веб-приложений разного уровня сложности.
Python предлагает множество фреймворков для веб-разработки. Одними из самых известных являются Django и Flask. Django, высокоуровневый фреймворк, предлагает множество функций «из коробки», позволяя разработчикам сосредоточиться на уникальных аспектах их проектов. Flask, с другой стороны, является легковесным фреймворком, предлагающий гибкость и простоту, что идеально подходит для более маленьких и легковесных проектов.
Стоит отметить, что многие известные веб-сервисы и платформы используют Python в своей разработке. Например:
Instagram (запрещен в РФ) использует Django на бэкенде. Он обеспечивает надежность и масштабируемость, необходимую для обработки данных миллионов пользователей ежедневно.
Reddit, изначально созданный на Lisp, впоследствии перешел на Python, что позволило разработчикам воспользоваться его гибкостью и обширными библиотеками.
Плюсы Python
Простота и ясность
Python разрабатывался с учетом принципа «Простота лучше, чем сложность». Это делает его идеальным языком для начинающих веб-разработчиков.
Множество библиотек
Python предлагает огромное количество библиотек и фреймворков, которые облегчают разработку веб-приложений. Они охватывают все, от аутентификации пользователей до обработки запросов и взаимодействия с базами данных.
Динамическая типизация
Python автоматически определяет тип данных, что может ускорить процесс разработки веб-приложений.
Огромное сообщество
Python имеет одно из самых активных сообществ разработчиков, что обеспечивает большое количество ресурсов для обучения и поддержки.
Востребованность
Веб-разработчики на Python востребованы во многих отраслях, от стартапов до крупных корпораций.
Минусы Python
Производительность
Python может быть не таким быстрым, как некоторые другие языки из-за своей интерпретируемой природы.
Несмотря на это, Python остается отличным выбором для веб-разработки благодаря своей простоте, мощным библиотекам и активному сообществу. Так что если вы новичок и выбираете язык, вы можете отлично стартовать в веб-разработке с языка Python.
Python — мощный, но в то же время доступный для изучения язык программирования, занимающий первое место в рейтинге TIOBE и второе в State of Octoverse 2022. Несмотря на то, что в последние годы Python стал ассоциироваться с машинным обучением, анализом данных и созданием чат-ботов, его возможности не ограничиваются этими областями. Он активно применяется и в веб-разработке, предлагая множество преимуществ для создания веб-приложений разного уровня сложности.
Python предлагает множество фреймворков для веб-разработки. Одними из самых известных являются Django и Flask. Django, высокоуровневый фреймворк, предлагает множество функций «из коробки», позволяя разработчикам сосредоточиться на уникальных аспектах их проектов. Flask, с другой стороны, является легковесным фреймворком, предлагающий гибкость и простоту, что идеально подходит для более маленьких и легковесных проектов.
Стоит отметить, что многие известные веб-сервисы и платформы используют Python в своей разработке. Например:
Instagram (запрещен в РФ) использует Django на бэкенде. Он обеспечивает надежность и масштабируемость, необходимую для обработки данных миллионов пользователей ежедневно.
Reddit, изначально созданный на Lisp, впоследствии перешел на Python, что позволило разработчикам воспользоваться его гибкостью и обширными библиотеками.
Плюсы Python
Простота и ясность
Python разрабатывался с учетом принципа «Простота лучше, чем сложность». Это делает его идеальным языком для начинающих веб-разработчиков.
Множество библиотек
Python предлагает огромное количество библиотек и фреймворков, которые облегчают разработку веб-приложений. Они охватывают все, от аутентификации пользователей до обработки запросов и взаимодействия с базами данных.
Динамическая типизация
Python автоматически определяет тип данных, что может ускорить процесс разработки веб-приложений.
Огромное сообщество
Python имеет одно из самых активных сообществ разработчиков, что обеспечивает большое количество ресурсов для обучения и поддержки.
Востребованность
Веб-разработчики на Python востребованы во многих отраслях, от стартапов до крупных корпораций.
Минусы Python
Производительность
Python может быть не таким быстрым, как некоторые другие языки из-за своей интерпретируемой природы.
Несмотря на это, Python остается отличным выбором для веб-разработки благодаря своей простоте, мощным библиотекам и активному сообществу. Так что если вы новичок и выбираете язык, вы можете отлично стартовать в веб-разработке с языка Python.
The State of the Octoverse
The top programming languages
Explore the top programming languages on GitHub—and what languages are growing the fastest.
👍15❤2💩1
На следующей неделе в Хекслете пройдут сразу два бесплатных вебинара по профессиям «Java-разработчик» и «Frontend-разработчик».
18 июля, 19:00 (мск): «Изучаем Java на практике и решаем задачу с собеседований»
Вебинар поможет разобраться, чем занимаются Java-разработчики и понять, подходит ли вам эта профессия.
20 июля,19:00 (мск): «Фронтенд-разработчик: Как научиться создавать удобные сайты и стать middle-разработчиком уже через год реальной практики»
Этот вебинар для вас, если вы до конца не определились, какое направление и язык программирования выбрать, и думаете, что начинать изучать программирование поздно.
Ждем вас, будет интересно!
18 июля, 19:00 (мск): «Изучаем Java на практике и решаем задачу с собеседований»
Вебинар поможет разобраться, чем занимаются Java-разработчики и понять, подходит ли вам эта профессия.
20 июля,19:00 (мск): «Фронтенд-разработчик: Как научиться создавать удобные сайты и стать middle-разработчиком уже через год реальной практики»
Этот вебинар для вас, если вы до конца не определились, какое направление и язык программирования выбрать, и думаете, что начинать изучать программирование поздно.
Ждем вас, будет интересно!
👍11❤2💩1
А вы знали, что Ульяновск — это IT-столица России: приличное количество известных агентств (ITECH, MSTt, Mediasoft), свой большой аутсорсер (Simbirsoft) и целая кучка продуктовых компаний базируются или базировались раньше в Ульяновске. Как аргумент, Кирилл Мокевнин тоже оттуда 😉
А еще в Ульяновске уже 10 лет проходит пляжный IT-фестиваль ULCAMP🫰X!
В этом году фест пройдет 21, 22 и 23 июля на территории базы отдыха «Славянское подворье».
Уже подтвердили участие:
- Леонид Новожилов, первый заместитель генерального директора РТК ИТ,
- Артём Терновых, руководитель по развитию RDL by red_mad_robot,
- Бетал Бижоев, руководитель управления по продвижению сервисов экосистемы ЭТП Газпромбанка,
- Серафима Чекулаева, руководитель продукта VK Музыка,
- от Хекслета едет Сергей Мелодин,Chief operating officer.
А раз это фестиваль, да еще и на Волге, то вас ждет нас настоящая регата, рестораны и бары, всякие активности и палаточный лагерь. Музыкальным хедлайнером будет Антоха МС и группа “Биртман”, а после ставить пластинки будут ульяновские DJ.
У ULCAMP есть традиция — “Ночь факапов”, когда все желающие собираются под открытым небом и рассказывают самые стыдные провалы на работе.
Программа и билеты на сайте
А еще в Ульяновске уже 10 лет проходит пляжный IT-фестиваль ULCAMP🫰X!
В этом году фест пройдет 21, 22 и 23 июля на территории базы отдыха «Славянское подворье».
Уже подтвердили участие:
- Леонид Новожилов, первый заместитель генерального директора РТК ИТ,
- Артём Терновых, руководитель по развитию RDL by red_mad_robot,
- Бетал Бижоев, руководитель управления по продвижению сервисов экосистемы ЭТП Газпромбанка,
- Серафима Чекулаева, руководитель продукта VK Музыка,
- от Хекслета едет Сергей Мелодин,Chief operating officer.
А раз это фестиваль, да еще и на Волге, то вас ждет нас настоящая регата, рестораны и бары, всякие активности и палаточный лагерь. Музыкальным хедлайнером будет Антоха МС и группа “Биртман”, а после ставить пластинки будут ульяновские DJ.
У ULCAMP есть традиция — “Ночь факапов”, когда все желающие собираются под открытым небом и рассказывают самые стыдные провалы на работе.
Программа и билеты на сайте
🐳9🔥6❤3💩3🤣2
1 июля Twitter ввел ограничения на количество постов, отображаемых в ленте. По словам Илона Маска, связано это с высоким уровнем веб-скрейпинга и манипуляциями системы.
А о том, что такое веб-скрейпинг и парсинг, в посте расскажет Владлен, наставник Хекслета по профессии Python-разработчик.
Что такое веб-скрейпинг и почему из-за него вводятся ограничения?
Веб-скрейпинг – это технология, которая предназначена для получения данных с веб-страниц.
Технологию могут использовать, например, для того, чтобы буквально скачать целый сайт: иногда после этого можно поднять локальную копию сайта.
Чаще скрейпингом пользуются для извлечения каких-то данных. Например, человек хочет сделать популярный новостной канал в социальной сети. Для отбора интересных новостей ему необходимо собирать самые популярные посты. Популярность можно определить, например, по количеству просмотров, лайков и комментариев – именно за этими данными погонится создатель новостного канала.
Каким образом данные извлекаются из веб-страниц?
Методы существуют разные. Один из популярных и доступных – использовать парсинг или синтаксический анализ. Суть простая – систематизировать набор текстовой информации.
Путем парсинга можно представить текст как упорядоченную структуру. Из этой структуры мы можем попытаться вычленить необходимые данные.
Как пример возьмем пост Маска (смотрите в комментариях). Глазом сходу можно определить, что в твите нам доступна информация:
Имя пользователя
Верифицирован ли он
Купил ли он подписку
Текст твита
Дата и время публикации
Количество просмотров, ретвитов, цитат, лайков и закладок
Визуально, все отлично, все данные на месте. Но для компьютера эти данные – набор текста, конкретно – HTML. Который на глаз выглядит как какой-то плохо читаемый набор несвязного текста.
Но с помощью парсинга можно вытащить все необходимые данные, преобразовать в Excel-файл, в котором по столбикам будет разложена информация о постах в Твиттере: имя пользователя, текст и так далее.
Где и как часто используется парсинг?
Парсинг данных, возможно, одна из самых часто встречающихся задач у серверных программистов. Ведь основная работа многих серверов – хранить и манипулировать данными. Огромная часть данных при этом – текст.
Как пример, на сервер могут присылать данные в виде HTML/XML/JSON или любого другого формата, из которых нужно вытащить информацию и положить в базу данных. Часто это достаточно простая и рутинная работа. Однако попадаются и более интересные случаи.
Автор статьи лично писал парсер PDF-файлов: все помнят времена короновируса, когда необходимо было при себе иметь сертификат? Именно эти сертификаты парсились с целью вытащить данные для подтверждения пользовательских данных и последующего использования.
Проблемой стало то, что сертификаты начали специально шифровать с целью защиты от парсинга, так как количество подделок резко выросло. Сначала из сертификата данные начали приходить в разном порядке. В дальнейшем из него начала поступать обфусцированная информация, которую вовсе нельзя было прочитать.
Действительно ли веб-скрейпинг повлиял на количество просмотров в Twitter?
Кто знает 🤷♂️
Веб-скрейпинг точно может оказывать значительную нагрузку на сервера. Человек вряд ли прочитает сотню постов за секунду, а программе для сбора данных это под силу. В Twitter вряд ли работает один подобный сборщик, их тысячи, и все они нагружают сервера, потому что могут.
Приложения учитывают эти моменты, ограничивая число запросов в промежуток времени, придумывая новые определители ботов. Но и создатели веб-скрейперов на месте не сидят и придумывают, как обходить все эти ограничения.
Даже после введенных ограничений скорее всего придумают, как эффективно собирать данные. Это вечная борьба.
А о том, что такое веб-скрейпинг и парсинг, в посте расскажет Владлен, наставник Хекслета по профессии Python-разработчик.
Что такое веб-скрейпинг и почему из-за него вводятся ограничения?
Веб-скрейпинг – это технология, которая предназначена для получения данных с веб-страниц.
Технологию могут использовать, например, для того, чтобы буквально скачать целый сайт: иногда после этого можно поднять локальную копию сайта.
Чаще скрейпингом пользуются для извлечения каких-то данных. Например, человек хочет сделать популярный новостной канал в социальной сети. Для отбора интересных новостей ему необходимо собирать самые популярные посты. Популярность можно определить, например, по количеству просмотров, лайков и комментариев – именно за этими данными погонится создатель новостного канала.
Каким образом данные извлекаются из веб-страниц?
Методы существуют разные. Один из популярных и доступных – использовать парсинг или синтаксический анализ. Суть простая – систематизировать набор текстовой информации.
Путем парсинга можно представить текст как упорядоченную структуру. Из этой структуры мы можем попытаться вычленить необходимые данные.
Как пример возьмем пост Маска (смотрите в комментариях). Глазом сходу можно определить, что в твите нам доступна информация:
Имя пользователя
Верифицирован ли он
Купил ли он подписку
Текст твита
Дата и время публикации
Количество просмотров, ретвитов, цитат, лайков и закладок
Визуально, все отлично, все данные на месте. Но для компьютера эти данные – набор текста, конкретно – HTML. Который на глаз выглядит как какой-то плохо читаемый набор несвязного текста.
Но с помощью парсинга можно вытащить все необходимые данные, преобразовать в Excel-файл, в котором по столбикам будет разложена информация о постах в Твиттере: имя пользователя, текст и так далее.
Где и как часто используется парсинг?
Парсинг данных, возможно, одна из самых часто встречающихся задач у серверных программистов. Ведь основная работа многих серверов – хранить и манипулировать данными. Огромная часть данных при этом – текст.
Как пример, на сервер могут присылать данные в виде HTML/XML/JSON или любого другого формата, из которых нужно вытащить информацию и положить в базу данных. Часто это достаточно простая и рутинная работа. Однако попадаются и более интересные случаи.
Автор статьи лично писал парсер PDF-файлов: все помнят времена короновируса, когда необходимо было при себе иметь сертификат? Именно эти сертификаты парсились с целью вытащить данные для подтверждения пользовательских данных и последующего использования.
Проблемой стало то, что сертификаты начали специально шифровать с целью защиты от парсинга, так как количество подделок резко выросло. Сначала из сертификата данные начали приходить в разном порядке. В дальнейшем из него начала поступать обфусцированная информация, которую вовсе нельзя было прочитать.
Действительно ли веб-скрейпинг повлиял на количество просмотров в Twitter?
Кто знает 🤷♂️
Веб-скрейпинг точно может оказывать значительную нагрузку на сервера. Человек вряд ли прочитает сотню постов за секунду, а программе для сбора данных это под силу. В Twitter вряд ли работает один подобный сборщик, их тысячи, и все они нагружают сервера, потому что могут.
Приложения учитывают эти моменты, ограничивая число запросов в промежуток времени, придумывая новые определители ботов. Но и создатели веб-скрейперов на месте не сидят и придумывают, как обходить все эти ограничения.
Даже после введенных ограничений скорее всего придумают, как эффективно собирать данные. Это вечная борьба.
👍24❤1👏1💩1🥴1