Як працюють інтерпретатори?

Короткий погляд на роботу Tree Walk Інтерпретаторів

Вступ

🤔 Як запустити цей файл?

Уявіть, що нам дали файл з таким кодом:

let a = 2;   
let b = a * 2;   
console.log("Рішення: ", b);

Як ми маємо зрозуміти цей набір тексту?! 🤯

Ось тут на допомогу приходить інтерпретатор! 🎉

🌟 Завдання інтерпретатора

Основне завдання інтерпретатора — перетворити цей незрозумілий текст на щось, що комп'ютер може виконати. 🖥️✨ Як це відбувається? За допомогою 3 кроків:

Крок 1️⃣: Сканування та токенізація

Перше, що ми повинні зробити — це відсканувати текст і розбити його на токени. 🔍 Токен — це … Читати далі

Топ-5 справ, які варто зробити в Чарлстоні, Південна Кароліна для молоді

Топ-5 речей, які варто зробити в Чарлстоні, Південна Кароліна, для молодих людей

Чарлстон, Південна Кароліна, відомий своєю багатою історією та південним шармом, пропонує молодим людям поєднання культурних вражень, активного відпочинку на природі та яскравих місцевих атракцій. Незалежно від того, чи ви приїхали на вікенд, чи на довший відпочинок, ось п’ять найкращих активностей, які повинні бути в вашому маршруті.

Досліджуйте історичний центр Чарлстона

pic

Розпочніть свою подорож з вивчення брукованих вулиць та історичної архітектури центру Чарлстона. Відвідайте такі пам'ятки, як Charleston City Market та Rainbow Row, відомий своїми кольоровими історичними будинками. Скористайтеся екскурсією, щоб дізнатися більше про важливу роль Чарлстона в … Читати далі

Топ-5 речей, які варто зробити в Чарлстоні, Південна Кароліна, восени

Топ-5 речей, які варто зробити в Чарлстоні, Південна Кароліна, восени

Чарлстон, Південна Кароліна, восени — це магічний час, коли літня спека поступається місцем більш прохолодній температурі, що робить це місто ідеальним для прогулянок на свіжому повітрі. Чи ви фанат історії, поціновувач природи, чи гурман, Чарлстон має що запропонувати кожному. Ось п'ять найкращих активностей, які варто розглянути при плануванні осінньої подорожі.

Досліджуйте історичний Чарлстон

pic

Розпочніть свою подорож із візиту до історичного району. Прогуляйтесь брукованими вулицями, оточеними старовинними будинками та садами. Не пропустіть знамените Рейнбоу Роу — ряд кольорових історичних будинків, які є справжньою мрією для фотографів.

Щоб глибше зануритись в історію … Читати далі

Кінець помилок з пам’яттю? Чому Rust витісняє C в ядрі Linux

Rust все частіше розглядається як обіцяльна альтернатива C для підтримки та розробки ядра Linux, головним чином завдяки своїм можливостям безпеки та сучасним інструментам. Хоча C є традиційною мовою для розробки ядра, існує кілька вагомих причин, чому Rust може бути кращим вибором для певних частин ядра Linux.

Я люблю C, оскільки це "батько" всіх мов, він ефективний, дуже гнучкий, занадто гнучкий... Підтримка безпечних і надійних функцій у C вимагає великої уваги до можливих помилок.

Rust піклується про всі ці можливі помилки під час компіляції. Це дозволяє більше зосереджуватися на функціях, а не на можливих помилках.

У цій статті я розповім, чому … Читати далі

Топ-5 речей, які варто зробити сьогодні в Норт-Чарлстоні, Південна Кароліна

Топ-5 речей, які варто зробити в Норт-Чарлстоні, Південна Кароліна сьогодні

Ласкаво просимо до Норт-Чарлстона, Південна Кароліна — міста, яке вражає південним шармом і є справжнім скарбом для тих, хто шукає активності для всіх вікових груп. Чи ви захоплюєтесь історією, природою, чи гастрономією, Норт-Чарлстон пропонує щось особливе для кожного.

1. Досліджуйте історичні місця

pic

Почніть свій день з занурення в багатющу історію Норт-Чарлстона. Відвідайте Charleston Area Convention Center, де ви зможете ознайомитись з виставками, що детально розповідають про минуле міста та його роль у формуванні історії Південної Кароліни. Не пропустіть можливість прогулятись мальовничим Old Village Historic District, який славиться добре … Читати далі

Хитромудрі та цікаві питання для інтерв’ю з Java (Частина 1)

Java-інтерв'ю часто містять складні та провокаційні питання, які мають на меті перевірити глибоке розуміння концепцій. Ось деякі просунуті та цікаві питання з поясненнями та прикладами, які допоможуть вам освоїти Java.

pic

1. Що станеться, якщо ви перекриєте приватний метод?

Питання:

Чи можна перекрити приватний метод у Java?

Пояснення:

Ні, приватні методи не можна перекрити, оскільки вони не видимі для підкласів. Однак, якщо ви визначите метод з таким самим іменем у підкласі, це буде приховування методу, а не перекриття.

Приклад:

class Parent {  
 private void display() {  
 System.out.println("Parent method");  
 }  
}  
class Child extends Parent {  
 private void display() {  
 System.out.println("Child 
Читати далі

Будувати Java програму без Maven чи Gradle?

Так, це можливо за допомогою деякого сценарію, давайте розглянемо рішення, орієнтоване на bash!

Коли ми будуємо проєкт, будь-який Java проєкт, і вам потрібно обмежене число ресурсів, і ви не хочете додавати складність за допомогою інструментів для побудови (Maven, Gradle, Ant), саме в цей момент я використовую можливості BASH 🙂

Що таке побудова (build)?

Побудова складається з різноманітного компілювання вихідного коду в бінарні артефакти, які використовуються/виконуються.

Але це також гарний момент, щоб

  1. виконати автоматизовані юніт-тести,
  2. згенерувати документацію проєкту (JavaDoc або для іншого),
  3. підготувати артефакти для доставки, такі як zip-архіви або виконувані файли.

Усі ці кроки повинні бути враховані в нашому власноруч … Читати далі

Розуміння патерну проектування Singleton у програмній інженерії

Вступ:

Патерн проектування Singleton є одним із найпоширеніших патернів створення об'єктів. Він гарантує, що клас має лише один екземпляр і надає глобальну точку доступу до цього екземпляра. Цей патерн особливо корисний у випадках, коли потрібно, щоб один об'єкт координував дії в межах системи.

Коли використовувати патерн Singleton:

Патерн Singleton зазвичай застосовується в таких випадках:

  • Глобальний доступ до спільних ресурсів: Коли ресурс потрібно розподілити глобально по всьому застосунку.
  • Контроль доступу до спільних даних: Щоб запобігти виникненню неконсистентності або гонок через кілька екземплярів.
  • Створення об'єктів, які вимагають великих ресурсів: Коли створення об'єкта є дорогим з точки зору пам'яті чи
Читати далі

Java Spring Framework: Поняття Request Filter та Request Mapping

Обробка HTTP запитів від клієнтів у веб-додатках, надання правильних даних і забезпечення безпеки додатку мають велике значення. Spring Framework пропонує дві потужні структури для виконання цих завдань: Request Filter та Request Mapping. У цій статті ми детально розглянемо ці два поняття та пояснимо їх використання через приклади.

pic

Request Mapping

Request Mapping — це механізм, який дозволяє спрямувати HTTP запит від клієнта до певного методу контролера. У Spring Framework це здійснюється за допомогою анотацій @RequestMapping та її більш специфічних варіантів (@GetMapping, @PostMapping тощо).

Основні характеристики Request Mapping

  1. Відповідність URL: Прив'язує певний URL до методу.
  2. Підтримка HTTP методів: Може здійснювати відповідність
Читати далі

Розуміння архітектури JVM: Повний посібник для розробників Java

pic

🖥️ Розкриваємо архітектуру JVM!

Я створив цю візуалізацію, щоб спростити розуміння внутрішньої роботи Java Virtual Machine (JVM) — потужного механізму, що стоїть за кожною Java-програмою. Ось детальний розбір її компонентів:

🔹 Байткод: Java компілює ваш код у платформонезалежний байткод, що дозволяє реалізувати принцип "напиши один раз, запусти скрізь". Цей байткод потім інтерпретується або компілюється для виконання на будь-якому пристрої з підтримкою JVM.

🔹 Завантажувач класів (Class Loader): Підсистема, відповідальна за завантаження файлів класів в пам'ять. Вона складається з:

  • Bootstrap ClassLoader: Завантажує основні бібліотеки Java з rt.jar, такі як java.lang та java.util.
  • Extension ClassLoader: Завантажує бібліотеки з директорії $JAVA_HOME/jre/lib/ext
Читати далі