Pull to refresh
0
0
Send message

5 вещей, которым я научился за 20 лет программирования

Reading time10 min
Views69K

Последние 4-5 десятилетий спрос на программистов вырос в сотни раз. По некоторым оценкам их количество удваивается каждые пять лет, и в результате программист с 5-летним опытом работы имеет стаж работы в отрасли больший, чем у половины всех ее сотрудников.

Эрик Дитрих* около 10 лет провел на должностях, где его основной функцией было написание кода. Еще 10 лет были связаны с управлением программистами, их обучением, консультированием организаций, практикой оценки кодовой базы, а в наши дни и контент-маркетингом. Но во всех этих ролях он в той или иной степени писал код. И, по своим расчетам, прошел больший путь, чем 94% работающих в отрасли. Получается некое противопоставление: программист со стажем, который общается с кучей новичков в программировании.

Специально для своего блога Эрик попытался обобщить весь свой опыт в виде кратких советов, которые он хотел бы дать молодым программистам. Под катом — наиболее важные, на взгляд автора, уроки и выводы из его 20-летней карьеры.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Total votes 82: ↑74 and ↓8+75
Comments111

Пять задач, которые приходится решать при трудоустройстве начинающим Java-разработчикам в 2022 году

Reading time6 min
Views42K

Хабр, привет! Меня зовут Даниил Пилипенко, я программный директор факультета backend-разработки направления «Программирование» Skillbox, директор центра подбора IT-специалистов SymbioWay. Сегодня разберём практические задачи, с которыми могут столкнуться Java-разработчики junior-уровня на собеседовании. Такого рода задачи мы часто видим на собеседованиях наших клиентов и коллег, а также сами даём соискателям.

Читать далее
Total votes 18: ↑13 and ↓5+15
Comments47

Я решил 500 задач на LeetCode — и они действительно меня чему-то научили

Reading time5 min
Views237K

Много кто знает, что такое Leetcode. Это своего рода решебник — задачи, которые дают на технических собеседованиях в крупных компаниях (в том числе и из FAANG) и их решения.

Такие задания, заточенные на знание структур данных и алгоритмов, все чаще встречаются и на собеседованиях в небольших компаниях. Многим кандидатам это не нравится — они утверждают, что навыки «литкодинга» ничего не говорят о том, как человек справится с реальной работой. Согласен. Если вы не можете слёту решать задачи c LeetCode, это не значит, что вы плохой разработчик. Возможно, вам в реальной работе вообще никогда не понадобится, скажем, инвертировать бинарное дерево. Однако глупо отрицать, что на LeetCode можно изучить массу подходов и инструментов, которые окажутся полезными. В этой статье я расскажу о том, что вынес для себя из работы с платформой.

Уроки Литкода
Total votes 24: ↑16 and ↓8+15
Comments47

Discover Unmatched Potential of Java for Your Next App

Reading time3 min
Views749


One of the most popular programming languages for a decade, Java has been the top choice and preference of most software application development companies. More and more businesses are looking forward to leveraging the potential of the Java language. How can they not? The websites, web apps, mobile apps all could be developed easily using the language. From small, easy to complex apps, Java is the best-suited as it is robust, reliable, and user-friendly programming language.
Read more →
Rating0
Comments0

12 схем архитектуры английской грамматики

Reading time12 min
Views36K

Я предприняла попытку смоделировать в 12 схемах и 16 пунктах пояснительных заметок английский как систему: общую структуру его уровней, логику и принципы, по которым он, в рамках моего подхода, функционирует. Мне хотелось, насколько это возможно, в своём описании грамматики придерживаться формата технической документации.

Данная раскладка может быть полезной для предварительного ознакомления с устройством предмета освоения - английский как иностранный, для упорядочения фрагментарных грамматических знаний и выведения их на осмысленный уровень, или, возможно, для применения в NLP.

Читать далее
Total votes 32: ↑24 and ↓8+20
Comments86

IT-специалисты в сфере информационной безопасности в 2022. Часть 1: как получить профессию и сколько можно заработать

Reading time6 min
Views36K

25 февраля 2022 года международная сеть хактивистов Anonymous объявила правительству РФ кибервойну. С тех пор под атаку группировки успели попасть ряд крупнейших отечественных СМИ, Банк России, сайты Кремля и Минобороны.

В то же время на фоне напряженной геополитической обстановки Национальный координационный центр по компьютерным инцидентам спрогнозировал увеличение количества кибератак на российские интернет-ресурсы.

Читать далее
Total votes 4: ↑0 and ↓4-4
Comments19

Как происходит генерация мира Minecraft

Reading time21 min
Views56K
image

Задумывались ли вы когда-нибудь, сколько на нашей планете песчинок? По грубым оценкам, более 7 квинтиллионов! Это 7 с 18 нулями. И всё-таки это даже меньше половины количества уникальных миров в Minecraft. Как же Minecraft и другим похожим играм удаётся создавать такие сложные, красивые, однако полностью процедурные миры? В этой статье я расскажу, как игра генерирует свои миры, от самой высокой горы до самой глубокой пещеры.

Часть 1: процедурная генерация


Для многих из вас Minecraft может быть первой (а может быть, и единственной) игрой, в которой миры не творятся вручную дизайнером уровней, а создаются процедурно.

Однако первой игрой с процедурно сгенерированным миром является «Elite», первая версия которой вышла для компьютера BBC Micro в 1984 году. Это прапрадед относительно новой «Elite: Dangerous», выпущенной в 2014 году.


Автоматическая генерация новых миров может казаться привлекательным способом ленивого создания бесконечного контента для игры. Однако на самом деле всё наоборот! Чтобы научить машину тому, как выглядит хороший уровень… нужно быть очень хорошим программистом и дизайнером уровней.

Контент должен быть достаточно разнообразным, чтобы выглядеть свежим, но не настолько разнообразным, чтобы казаться атипичным. И необходимо создавать миры, на которые не просто интересно смотреть, но которые обеспечивают справедливую с точки зрения игрока сложность.
Читать дальше →
Total votes 67: ↑67 and ↓0+67
Comments17

Unix shell: абсолютно первые шаги

Reading time12 min
Views291K

Зачем и для кого статья?


Изначально это была памятка для студентов, которые начинают работать с unix-подобными системами. Иными словами, статья рассчитана на тех, кто не имеет предыдущего опыта работы в unix-овой командной строке, но по тем или иным причинам хочет или должен научиться эффективно с нею взаимодействовать.

Здесь не будет пересказа манов (документации), и статья никак не отменяет и не заменяет их чтение. Вместо этого я расскажу о главных вещах (командах, приемах и принципах), которые надо осознать с самого начала работы в unix shell-е, чтобы работа происходила эффективно и приятно.

Статья касается полноценных unix-подобных окружений, с полнофункциональным шеллом (предпочтительно zsh или bash)и достаточно широким набором стандартных программ.

Читать дальше →
Total votes 36: ↑29 and ↓7+22
Comments21

8 советов по отладке для пользователей IntelliJ IDEA, о существовании которых вы возможно не знали

Reading time5 min
Views15K

Все мы, разработчики, знакомы с отладчиками и используем их ежедневно - они важная часть процесса программирования. 

Но давайте будем честными. Обычно мы используем только опцию точки останова. При большом желании мы можем использовать условную точку останова.

Но знаете что, отладчик IntelliJ IDEA имеет множество мощных и передовых функций, которые полезны для более эффективной и простой отладки. 

Чтобы помочь вам, мы составили список советов и приемов от наших разработчиков в Lightrun. Мы надеемся, что эти советы помогут вам быстрее находить и устранять ошибки.

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments6

Справочник по Java Collections Framework

Reading time6 min
Views748K
Данная публикация не является полным разбором или анализом (не покрывает пакет java.util.concurrent). Это, скорее, справочник, который поможет начинающим разработчикам понять ключевые отличия одних коллекций от других, а более опытным разработчикам просто освежить материал в памяти.

Что такое Java Collections Framework?


Java Collection Framework — иерархия интерфейсов и их реализаций, которая является частью JDK и позволяет разработчику пользоваться большим количесвом структур данных из «коробки».

Базовые понятия


На вершине иерархии в Java Collection Framework располагаются 2 интерфейса: Collection и Map. Эти интерфейсы разделяют все коллекции, входящие во фреймворк на две части по типу хранения данных: простые последовательные наборы элементов и наборы пар «ключ — значение» (словари).

image
Читать дальше →
Total votes 36: ↑27 and ↓9+18
Comments21

Что такое CI/CD? Разбираемся с непрерывной интеграцией и непрерывной поставкой

Reading time8 min
Views723K


В преддверии старта курса «CI/CD на AWS, Azure и Gitlab» подготовили для вас перевод полезного материала.



Непрерывная интеграция (Continuous Integration, CI) и непрерывная поставка (Continuous Delivery, CD) представляют собой культуру, набор принципов и практик, которые позволяют разработчикам чаще и надежнее развертывать изменения программного обеспечения.

CI/CD — это одна из DevOps-практик. Она также относится и к agile-практикам: автоматизация развертывания позволяет разработчикам сосредоточиться на реализации бизнес-требований, на качестве кода и безопасности.
Читать дальше →
Total votes 13: ↑5 and ↓8-3
Comments1

Книга «SQL: быстрое погружение»

Reading time6 min
Views19K
image Привет, Хаброжители! Что общего между самыми востребованными профессиями и стремительным увеличением количества информации в мире? Ответ: язык структурированных запросов (SQL). SQL – рабочая лошадка среди языков программирования, основа основ для современного анализа и управления данными. Книга «SQL: быстрое погружение» идеальна для всех, кто ищет новые перспективы карьерного роста; для разработчиков, которые хотят расширить свои навыки и знания в программировании; для любого человека, даже без опыта, кто хочет воспользоваться возможностями будущего, в котором будут править данные.
Читать дальше →
Total votes 5: ↑4 and ↓1+5
Comments3

Гарвардский курс CS50 на русском. Все серии

Reading time4 min
Views590K


Друзья, мы рады сообщить, что перевод всего гарвардского курса CS50 закончен.

Мы писали, что в курсе 24 серии, однако последние две оказались одной и той же лекцией (одна прочитана в Гарварде, а другая в Йеле), поэтому в списке переведённых лекций не 24, а 23.

Список лекций под катом.

Что вы узнаете, прослушав этот курс:
  • Основы компьютерных наук и программирования;
  • Концепции алгоритмов и алгоритмичности мышления. Какие задачи можно решать с помощью программирования и каким образом;
  • Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
  • Основы языка программирования C и Scratch;
  • Основы баз данных и SQL;
  • Веб-разработка: основы CSS, HTML, JavaScript и PHP;
  • Основы подготовки презентации проектов по программированию.


Курс переведён и озвучен нашей студией по заказу JavaRush, и мы хотим сказать им огромное спасибо за поддержку!
Total votes 40: ↑37 and ↓3+34
Comments34

Технология CRUD-матрицы. Практический опыт

Reading time6 min
Views43K
Пример дублирования функционала
Технология CRUD-матрицы — это хороший инструмент для каждого члена Agile-команды на протяжении всего жизненного цикла продукта. CRUD-матрица позволяет наладить адекватный диалог с клиентом и выявить дублирование функционала, а также устранить противоречивость модели. Что касается оценки времени, то в этом моменте CRUD-матрица значительно уступает такому инструменту, как “planning poker”, который позволяет провести адекватную оценку с учетом объективных причин.
Добро пожаловать за подробностями...
Total votes 14: ↑11 and ↓3+8
Comments14

Рекурсия. Занимательные задачки

Reading time14 min
Views395K
Здравствуй Хабрахабр!

В этой статье речь пойдет о задачах на рекурсию и о том как их решать.
image

Кратко о рекурсии


Рекурсия достаточно распространённое явление, которое встречается не только в областях науки, но и в повседневной жизни. Например, эффект Дросте, треугольник Серпинского и т. д. Один из вариантов увидеть рекурсию – это навести Web-камеру на экран монитора компьютера, естественно, предварительно её включив. Таким образом, камера будет записывать изображение экрана компьютера, и выводить его же на этот экран, получится что-то вроде замкнутого цикла. В итоге мы будем наблюдать нечто похожее на тоннель.

В программировании рекурсия тесно связана с функциями, точнее именно благодаря функциям в программировании существует такое понятие как рекурсия или рекурсивная функция. Простыми словами, рекурсия – определение части функции (метода) через саму себя, то есть это функция, которая вызывает саму себя, непосредственно (в своём теле) или косвенно (через другую функцию).

О рекурсии сказано много. Вот несколько хороших ресурсов:
Читать дальше →
Total votes 19: ↑14 and ↓5+9
Comments28

15 отличных Телеграм-каналов для поиска работы на удаленке

Reading time3 min
Views293K

С 2005 года спрос на удаленную занятость вырос на 140%. Очевидно, что эта тенденция будет продолжаться. Сегодня вакансии на удаленку можно найти и на job-бордах, и в социальных сетях, но мне ближе Телеграм-каналы. Делюсь с вами своей подборкой. Дополнения в комментариях приветствуются)

Читать далее
Total votes 11: ↑5 and ↓60
Comments4

Познаём Java. Вторая чашка: собираем классы в кучки. Пробуем апплеты

Reading time5 min
Views80K

Чем обусловлена структура Java?


Как вы уже слышали, Java проектировалась с рассчётом на совместимость со всем, чем только можно. Такое ограничение вынудило разработчиков Java сделать её такой, чтобы максимально упростить развёртывание приложений, при этом обеспечив логическую стройность языка.

Как происходит загрузка классов?


Читать дальше →
Total votes 59: ↑48 and ↓11+37
Comments70

Ручная кофемолка: инструменты командной строки для Java

Reading time10 min
Views7.6K

В книге "97 вещей, которые должен знать каждый Java-программист" есть глава о некоторых инструментах командной строки в JDK (я дал 2 из 97 советов).

Поскольку я сам часто использую такие помощники, я хотел кратко представить их в сегодняшней статье.

Я предпочитаю командную строку для своей повседневной работы, используя комбинацию команд gitsedgrep, и т. д., bash что упрощает выполнение повторяющихся задач.

Читать далее
Total votes 9: ↑7 and ↓2+6
Comments1

Как стать Java разработчиком за 1,5 года

Reading time10 min
Views310K

Меня зовут Сергей, мне 40 лет и сейчас я работаю Java разработчиком в немецкой компании. Мы занимаемся разработкой программного обеспечения для пивоварен оценки финансовых и кредитных рисков. Это моя первая работа в качестве разработчика. До этого я работал в сфере IT-поддержки и системной интеграции. Первого февраля 2019 г. закончился мой шестимесячный испытательный срок, и у меня на руках бессрочный контракт. Я хочу поделиться своим опытом, как можно самостоятельно выучить Java так, чтобы получить работу.



Это мой рабочий стол. Пить пиво в рабочее время у нас разрешено, мы же в Германии.


Моя первая статья: «IT-эмиграция с семьей. И особенности поиска работы в маленьком городе Германии, когда ты уже там»

Читать дальше →
Total votes 129: ↑122 and ↓7+115
Comments212

Information

Rating
Does not participate
Registered
Activity