PROdlenka

Description
Это личный канал @dmsol.

Тут я буду размещать свои посты на следующие темы:

- Программирование
- Проектирование и архитектура ПО
- Карьера , поиск работы, подготовка к собеседованиям
- Стартапы
Advertising
We recommend to visit

Главное про технологии, интернет-культуру, тренды и нейросети.

По рекламе: @Alivian

Биржа: https://telega.in/c/technomotel

Last updated 5 days, 8 hours ago

?Телеграмдаги Энг сўнгги хит тароналар факат бизда

?? - УЗ
?? - РУ
?? - ТР
?? - Ус
?? - АЗ
?? - ТЖ
?? - КЗ
?? - КР

Creator : @kiinyaz

Last updated 1 year, 1 month ago

Бесплатные игры и программы для Android

❗️Сотрудничество (ads), DMCA, пожелания: t.me/EasyAPKBot

💵Реклама: https://telega.in/c/EasyAPK

🔴 Чат: @ChatEasyAPK

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

Last updated 11 months ago

3 months, 1 week ago

*🚀 Вышел релиз JDK 23!*

Большинство нововведений находится в Preview:

  1. Primitive Types in Patterns, instanceof, and switch (JEP 455, Preview)
    - Расширяет возможности паттерн-матчинга для примитивных типов и позволяет использовать примитивные типы в switch

Пример:

```

switch (x.getStatus()) {
case 0 -> "okay";
case 1 -> "warning";
case 2 -> "error";
case int i -> "unknown status: " + i;
}

```

  1. Class-File API (JEP 466, Second Preview)
    - Стандартизированный API для работы с байткодом Java
    - Упрощает разработку инструментов анализа и генерации кода

  2. Markdown Documentation Comments (JEP 467)
    - Позволяет использовать Markdown в JavaDoc
    - Улучшает читаемость документации в исходном коде

  3. Vector API (JEP 469, Eighth Incubator)
    - Улучшает производительность векторных вычислений
    - Оптимизирует использование SIMD-инструкций процессора

  4. Stream Gatherers (JEP 473, Second Preview)
    - Вводит интерфейс Gatherer для определения пользовательских операций над стримами

Пример:

```

static Gatherer> fixedSizeChunks(int size) {
return Gatherer.ofSequential(
() -> new ArrayList(size),
(chunk, element, downstream) -> {
chunk.add(element);
if (chunk.size() == size) {
downstream.push(new ArrayList<>(chunk));
chunk.clear();
}
return true;
},
(chunk, downstream) -> {
if (!chunk.isEmpty()) {
downstream.push(chunk);
}
}
);
}

List> result = Stream.of(1, 2, 3, 4, 5, 6, 7)
.gather(fixedSizeChunks(3))
.toList();

```

  1. ZGC: Generational Mode by Default (JEP 474)
    - Улучшает производительность сборщика мусора ZGC

  2. Module Import Declarations (JEP 476, Preview)
    - Упрощает импорт всех экспортируемых пакетов модуля
    - Уменьшает количество import-statements в коде

Пример:

```

import module java.base;

// Теперь доступны все классы из java.base без дополнительных импортов
var list = new ArrayList();
var path = Path.of("file.txt");

```

  1. Implicitly Declared Classes and Instance Main Methods (JEP 477, Third Preview) - Упрощает написание небольших программ
    - Позволяет запускать код без явного объявления класса

Пример:

```

void main() {
System.out.println("Hello, World!");
}

```

  1. Structured Concurrency (JEP 480, Third Preview) - Вводит класс StructuredTaskScope для управления группами связанных задач
    - Позволяет рассматривать несколько задач как единую рабочую единицу
    - Автоматизирует обработку ошибок и отмену задач

```

try (var scope = new StructuredTaskScope.ShutdownOnFailure()) {
Future user = scope.fork(() -> findUser());
Future order = scope.fork(() -> fetchOrder());

scope.join(); scope.throwIfFailed(); processData(user.resultNow(), order.resultNow());

}

```

10. Scoped Values (JEP 481, Third Preview) - Вводит класс ScopedValue как альтернативу ThreadLocal
- Обеспечивает неизменяемость данных в рамках определенной области видимости.
- Эффективно работает с виртуальными потоками

Пример:

```

final static ScopedValue USER_ID = ScopedValue.newInstance();

void processRequest(String userId) {
ScopedValue.where(USER_ID, userId).run(() -> {
String id = USER_ID.get();
performTask();
auditLog();
});
}

void performTask() {
String id = USER_ID.get();
//...
}

void auditLog() {
String id = USER_ID.get();
logger.info("Operation performed for user: " + id);
}

```

  1. Flexible Constructor Bodies (JEP 482, Second Preview) - Позволяет размещать код до вызова super() или this()

Пример:

```

class Example extends Parent {
private final int value;

Example(int value) { if (value < 0) throw new IllegalArgumentException("Value must be non\-negative"); this.value = value; super(value); }

}

```

Подробнее: https://openjdk.org/projects/jdk/23/

3 months, 3 weeks ago
**ИИ заменит программистов?**

ИИ заменит программистов?
Некоторое время назад один из подписчиков канала спросил у меня в личке, что я думаю по поводу ИИ и заменит ли он разработчиков? Я пообещал написать про это пост, но не спешил с ответом, так как хотел лично проверить свои тезисы.

На сегодняшний день в головах обывателей ИИ неразрывно ассоциируется с ChatGPT и подобными проектами. В их основе лежат большие языковые модели (LLMs). 11 июня 2018 года компания OpenAI представила особую языковую модель для генерации текста под названием Generative Pre-trained Transformer (GPT). Эта модель положила начало целому семейству моделей GPT.

Наивно полагать, что генератор текста и матрица вероятностей заменят профессионального программиста, задачами которого является не только написание кода, но и его чтение и поддержка в продакшене. Помимо этого, программирование включает в себя анализ бизнес-требований, архитектуру системы, творческое решение проблем и взаимодействие с другими программистами. Контекстное окно (количество токенов, которое может обработать LLM за раз) у большинства текущих моделей небольшое и не позволяет запихнуть в него огромный проект для анализа.

LLMs не могут предсказать будущее, но помогут найти паттерны прошлого в настоящем.

Из этого следует, что чем вы опытней в своей области, тем намного полезней для вас будет взаимодействие с LLM. Чем точнее будет ваш promt (подсказка в запросе к LLM), тем точнее будет ответ.

LLMs не заменят программиста, но сделают его намного более продуктивным.

Генерация тестов, документации, прототипов и болванок проектов — все это задачи, в которых ИИ может оказаться весьма полезным. Однако, самая главная фича — это доступ к обширной базе знаний в одном месте и взаимодействие с ней на натуральном языке. Обучение новому или повторение старого теперь не требует часов гуглежки и перебирания блогов/документации, LLM выдаст выжимку и ссылки.

Для знакомства и взаимодействия с различными LLMs необязательно регистрироваться и покупать подписку ChatGPT.
Достаточно установить LM Studio или Ollama, выбрать языковую модель и начать эксперименты!

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

3 months, 4 weeks ago
**Эластик снова открытое ПО под AGPL …

Эластик снова открытое ПО под AGPL лицензиейСпустя три года с момента конфликта с Amazon и появления форка эластика: OpenSearch.

https://www.elastic.co/blog/elasticsearch-is-open-source-again

6 months ago

Большой толстый лжец

Занимаюсь подбором людей в свою команду. Больше половины резюме - с накрученным опытом.

Я уверен, что где-то на территории России находится заводик, где 24/7 вкатыши с курсов занимаются производством дто, контроллеров и сервисных слоев. Иначе не объяснить, почему это топорное косноязычное описание своей работы почти в каждом липовом резюме.

Поражают и аппетиты этих пассажиров. Друг поделился историей, что вчерашний выпускник каты после полугода работы хочет искать работу сразу на сениора, так как «набрался опыта».

На 600 000 рублей на руки.

При этом не понимает, в чем отличие сквоша от мержа в гите.

Текущая тенденция наталкивает меня на мысли, что найм в компаниях будет еще усложняться, потому что вечно такой пузырь накрутки надувать невозможно. Мы сейчас проходим этапы зрелости, которые уже прошли в США и Индии.

И рано или поздно будет сформирован механизм верификации и сертификации кандидатов.

7 months ago

Sber нанимает лучших *

  • только если вы в Москве
  • только если вы готовы ездить в офис
  • только если вы готовы пройти полиграф
  • только если вас устроит часть дохода в виде легендарной премии
  • только если вам не очень то нужен Macbook и Docker
  • только если вас не пугает Sbergile

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

Когда в прошлом месяце я готовился пройти собес по рефералке в Sber, то не ожидал, насколько недружелюбно и небрежно компания относится к найму опытных людей. Тем забавнее будет выглядеть история о найме, которую я расскажу в следующем посте.

8 months, 2 weeks ago

Что изменилось в найме за последнее время в России?

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

Все топы рынка с официальным оформлением по ТК РФ теперь:

- Проверяют резюме на типовые шаблоны резюме с курсов;
- Проверяют прошлые места работы и оформление на них, требуют подтвердить трудоустойство;
- Собес с вебкой и демонстрацией экрана;
- Собес в паре с другим коллегой - для отслеживания поведения кандидата и анализа его ответов;
- Лайв-сессия, включающая лайв-кодинг, системный дизайн или все вместе;
- Поведенческое интервью для проверки реальности опыта;
- Расширенная анкета СБ.

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

Ведь если раньше накрутку опыта такие кандидаты оправдывали желанием пробить определенный HR-фильтр, то сейчас есть целые сообщества людей (те же "волки" Антона Назарова или выпускники Ката академии и подобных курсов), который крутят опыт с нуля, прибавляя себе 2-3-4 года опыта. Очевидно, что такие люди не могут нормально работать на грейде, на который они устроились. И команда с таким "коллегой" и фирма несут убытки.

Но лед тронулся, и тенденции улучшения качества процессов найма не могут не радовать.

Ведь в итоге все мы хотим работать с настоящими профессионалами.

We recommend to visit

Главное про технологии, интернет-культуру, тренды и нейросети.

По рекламе: @Alivian

Биржа: https://telega.in/c/technomotel

Last updated 5 days, 8 hours ago

?Телеграмдаги Энг сўнгги хит тароналар факат бизда

?? - УЗ
?? - РУ
?? - ТР
?? - Ус
?? - АЗ
?? - ТЖ
?? - КЗ
?? - КР

Creator : @kiinyaz

Last updated 1 year, 1 month ago

Бесплатные игры и программы для Android

❗️Сотрудничество (ads), DMCA, пожелания: t.me/EasyAPKBot

💵Реклама: https://telega.in/c/EasyAPK

🔴 Чат: @ChatEasyAPK

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

Last updated 11 months ago