14. Transactional Outbox: как гарантировать публикацию события
Заказ сохранился в БД, а событие в Kafka — нет. Знакомо?
В этом видео разбираем проблему dual‑write между базой данных и брокером сообщений — когда одно действие выполнено, а другое нет, и система оказывается в несогласованном состоянии.
Почему нельзя просто обернуть всё в @Transactional?
Как гарантировать, что событие будет опубликовано тогда и только тогда, когда данные сохранены?
Ответ — Transactional Outbox.
Что в видео:
Проблема dual‑write — наглядно показываю, как заказ сохраняется, а событие теряется.
Transactional Outbox — что это такое, как работает и почему это стандарт надёжной публикации.
Реализация в Spring Boot:
Таблица outbox_event (Liquibase) JPA сущность и репозиторий
Модификация OrderService – убираю прямую отправку в Kafka
Polling Publisher (@Scheduled) – простой способ доставки событий
Исходный код проекта на GitHub наверняка заслуживает Ваших звезд!🙂
Ссылка на Youtube
Ссылка на Рутьюб
Смотрите, ставьте лайки, подписывайтесь на каналы!✌️
Жду ваших реакций и оценок🙂
Заказ сохранился в БД, а событие в Kafka — нет. Знакомо?
В этом видео разбираем проблему dual‑write между базой данных и брокером сообщений — когда одно действие выполнено, а другое нет, и система оказывается в несогласованном состоянии.
Почему нельзя просто обернуть всё в @Transactional?
Как гарантировать, что событие будет опубликовано тогда и только тогда, когда данные сохранены?
Ответ — Transactional Outbox.
Что в видео:
Проблема dual‑write — наглядно показываю, как заказ сохраняется, а событие теряется.
Transactional Outbox — что это такое, как работает и почему это стандарт надёжной публикации.
Реализация в Spring Boot:
Таблица outbox_event (Liquibase) JPA сущность и репозиторий
Модификация OrderService – убираю прямую отправку в Kafka
Polling Publisher (@Scheduled) – простой способ доставки событий
Исходный код проекта на GitHub наверняка заслуживает Ваших звезд!
Ссылка на Youtube
Ссылка на Рутьюб
Смотрите, ставьте лайки, подписывайтесь на каналы!
Жду ваших реакций и оценок
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Что выведет код?
#Tasks
public enum Task040626 {
FIRST, SECOND;
static String msg = getMsg();
static String getMsg() {
return "hello";
}
Task040626() {
System.out.print(getLength());
}
static int getLength() {
return msg.length();
}
public static void main(String[] args) {
System.out.print("main");
}
}#Tasks
👍2
👍3
Что такое ReadWriteLock? Когда применять?🤓
Ответ:
ReadWriteLock (интерфейс, реализация ReentrantReadWriteLock) разделяет блокировки на чтение и запись.
Правила: несколько потоков могут одновременно захватить блокировку чтения, если нет блокировки записи.
Блокировка записи эксклюзивна — захватывается только одним потоком, и при этом не должно быть активных читателей. Это повышает производительность в системах с частыми чтениями и редкими записями (например, кэш, конфигурация).
Поток, захвативший блокировку чтения, не может "апгрейдиться" до блокировки записи (приведет к deadlock).
#собеседование
Ответ:
Правила: несколько потоков могут одновременно захватить блокировку чтения, если нет блокировки записи.
Блокировка записи эксклюзивна — захватывается только одним потоком, и при этом не должно быть активных читателей. Это повышает производительность в системах с частыми чтениями и редкими записями (например, кэш, конфигурация).
Поток, захвативший блокировку чтения, не может "апгрейдиться" до блокировки записи (приведет к deadlock).
#собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
История технологии сегодня — 5 июня
ℹ️ Кто родился в этот день
Де́неш Га́бор (Деннис Габор) (венг. Gábor Dénes; 5 июня 1900, Будапешт — 9 февраля 1979, Лондон) — венгерский физик, лауреат Нобелевской премии по физике в 1971 году «за изобретение и развитие голографического метода».
Джон Кауч А́дамс (англ. John Couch Adams; устаревшие написания: Джон Кух Адамс, Джон Кук Адамс, 5 июня 1819, Корнуолл, Англия — 21 января 1892, Кембридж, Англия) — британский математик и астроном, иностранный член-корреспондент Петербургской академии наук, член Лондонского королевского общества. Его наиболее известным достижением было предсказание существования и положения в пространстве Нептуна при помощи одной лишь математики (планета, открытая «на кончике пера»). Расчёты были проведены для объяснения отклонений в орбите Урана от законов Кеплера и Ньютона.
Рудольф Эрнст Па́йерлс (англ. Rudolf Ernst Peierls; 5 июня 1907, Берлин — 19 сентября 1995, Оксфорд) — английский физик-теоретик немецкого происхождения. В 1939 году вместе с Нильсом Бором и Георгом Плачеком исследовал механизм ядерных реакций, индуцированных нейтронами, на основе сформулированной ими оптической теоремы и представлений о составном ядре. В 1940 году совместно с Отто Фришем оценил критическую массу урана-235, которая оказалась не столь велика, как считалось ранее. Этот результат был изложен в так называемом «меморандуме Фриша — Пайерлса», который во многом инициировал широкомасштабные исследования возможности создания ядерного вооружения. Пайерлс также участвовал в вычислениях характеристик цепных реакций и разработке методов разделения изотопов.
🌐 Знаковые события
1783 — французские изобретатели братья Монгольфье в родном городке Анноне запустили на высоту 500 м первый в мире тепловой аэростат (воздушный шар).
1977 — в продаже появился первый персональный компьютер Apple II.
1998 — запущен Open Directory Project.
2025 — выход игровой системы Nintendo Switch 2.
#Biography #Birth_Date #Events #05июня
Де́неш Га́бор (Деннис Габор) (венг. Gábor Dénes; 5 июня 1900, Будапешт — 9 февраля 1979, Лондон) — венгерский физик, лауреат Нобелевской премии по физике в 1971 году «за изобретение и развитие голографического метода».
Джон Кауч А́дамс (англ. John Couch Adams; устаревшие написания: Джон Кух Адамс, Джон Кук Адамс, 5 июня 1819, Корнуолл, Англия — 21 января 1892, Кембридж, Англия) — британский математик и астроном, иностранный член-корреспондент Петербургской академии наук, член Лондонского королевского общества. Его наиболее известным достижением было предсказание существования и положения в пространстве Нептуна при помощи одной лишь математики (планета, открытая «на кончике пера»). Расчёты были проведены для объяснения отклонений в орбите Урана от законов Кеплера и Ньютона.
Рудольф Эрнст Па́йерлс (англ. Rudolf Ernst Peierls; 5 июня 1907, Берлин — 19 сентября 1995, Оксфорд) — английский физик-теоретик немецкого происхождения. В 1939 году вместе с Нильсом Бором и Георгом Плачеком исследовал механизм ядерных реакций, индуцированных нейтронами, на основе сформулированной ими оптической теоремы и представлений о составном ядре. В 1940 году совместно с Отто Фришем оценил критическую массу урана-235, которая оказалась не столь велика, как считалось ранее. Этот результат был изложен в так называемом «меморандуме Фриша — Пайерлса», который во многом инициировал широкомасштабные исследования возможности создания ядерного вооружения. Пайерлс также участвовал в вычислениях характеристик цепных реакций и разработке методов разделения изотопов.
1783 — французские изобретатели братья Монгольфье в родном городке Анноне запустили на высоту 500 м первый в мире тепловой аэростат (воздушный шар).
1977 — в продаже появился первый персональный компьютер Apple II.
1998 — запущен Open Directory Project.
2025 — выход игровой системы Nintendo Switch 2.
#Biography #Birth_Date #Events #05июня
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Раздел 11. Работа с файлами, I/O и сетью (NIO.2)
Глава 1. Классический Java I/O (java.io)
FileOutputStream – запись байтов в файл. Путь данных от heap к диску
Как и
Конструкторы и режимы открытия файла
Режим перезаписи (append = false)
При открытии в режиме перезаписи конструктор выполняет следующую последовательность:
Валидация пути. Проверка на null, проверка родительской директории на существование и возможность создания файла.
Создание или усечение файла. Системный вызов
Установка позиции записи. Указатель файла устанавливается в начало — позицию 0.
Создание объекта. Выделение
Этот режим опасен при случайном использовании: открытие существующего файла на запись без
Режим добавления (append = true)
Режим добавления открывает файл с флагами
Это критично для сценариев, где несколько процессов или потоков пишут в один файл параллельно: каждая запись добавляется в конец без риска перезаписи данных другого писателя.
Однако
#Java #для_новичков #beginner #IO #NIO #FileOutputStream
Глава 1. Классический Java I/O (java.io)
FileOutputStream – запись байтов в файл. Путь данных от heap к диску
FileOutputStream — конкретная реализация OutputStream, предназначенная для записи байтов в файл файловой системы. Он представляет собой низкоуровневый мост между Java-кодом и операционной системой: каждый вызов write() транслируется в системный вызов write() ядра ОС, который взаимодействует с файловой системой, страничным кэшем и, в конечном итоге, с блочным устройством хранения.Как и
FileInputStream, FileOutputStream не выполняет внутреннюю буферизацию. Каждый вызов write(int) напрямую обращается к ОС, что делает посимвольную запись крайне неэффективной. Однако именно эта прямота делает FileOutputStream полезным как underlying поток для буферизующих оберток (BufferedOutputStream) или как инструмент для сценариев, где требуется точный контроль над моментом физической записи.Конструкторы и режимы открытия файла
FileOutputStream предоставляет несколько конструкторов, различающихся способом указания файла и режимом открытия:// Перезапись: если файл существует, содержимое уничтожается
public FileOutputStream(String name) throws FileNotFoundException
// Режим добавления: запись начинается с конца существующего файла
public FileOutputStream(String name, boolean append) throws FileNotFoundException
// Аналогичные конструкторы с File вместо String
public FileOutputStream(File file) throws FileNotFoundException
public FileOutputStream(File file, boolean append) throws FileNotFoundException
Режим перезаписи (append = false)
При открытии в режиме перезаписи конструктор выполняет следующую последовательность:
Валидация пути. Проверка на null, проверка родительской директории на существование и возможность создания файла.
Создание или усечение файла. Системный вызов
open() с флагами O_WRONLY | O_CREAT | O_TRUNC. Если файл существует, его содержимое уничтожается, размер сбрасывается в ноль. Если файл не существует, создается новый пустой файл.Установка позиции записи. Указатель файла устанавливается в начало — позицию 0.
Создание объекта. Выделение
FileOutputStream в heap JVM, инициализация полей, включая FileDescriptor с файловым дескриптором ОС.Этот режим опасен при случайном использовании: открытие существующего файла на запись без
append = true безвозвратно удаляет его содержимое. В production-коде рекомендуется явно указывать режим, даже если требуется перезапись, для самодокументирования намерений.Режим добавления (append = true)
Режим добавления открывает файл с флагами
O_WRONLY | O_CREAT | O_APPEND. Ключевое отличие: флаг O_APPEND гарантирует атомарное позиционирование указателя в конец файла перед каждой операцией записи. Это критично для сценариев, где несколько процессов или потоков пишут в один файл параллельно: каждая запись добавляется в конец без риска перезаписи данных другого писателя.
// Безопасное добавление в лог-файл из нескольких потоков
public void appendToLog(String message) throws IOException {
byte[] data = message.getBytes(StandardCharsets.UTF_8);
try (FileOutputStream fos = new FileOutputStream("app.log", true)) {
fos.write(data);
fos.write('\n');
}
}
Однако
FileOutputStream с append = true не обеспечивает потокобезопасность на уровне Java: два потока, одновременно вызывающие write(), могут перемешать байты внутри одного вызова, так как write(byte[]) не атомарен. Для потокобезопасной записи требуется внешняя синхронизация или использование java.nio.channels.FileChannel с блокировками.#Java #для_новичков #beginner #IO #NIO #FileOutputStream
👍4
Путь данных от heap до диска
Запись через
Уровень 1: Массив в heap JVM
Java-код подготавливает данные в массиве
Уровень 2: Системный вызов write()
Вызов
Уровень 3: Страничный кэш и dirty pages
Данные не записываются на диск немедленно. Ядро ОС помещает их в страничный кэш, помечая соответствующие страницы как dirty (измененные). Фоновые потоки ядра (pdflush на Linux, buffer cache flush на других системах) периодически синхронизируют dirty pages с блочным устройством. Это называется write-back caching и является стандартной стратегией для файловых систем.
Параметр
Уровень 4: Физическая запись на диск
Контроллер диска (SSD или HDD) получает команды записи от драйвера файловой системы. Для SSD контроллер выполняет wear leveling, распределяя записи равномерно по ячейкам флеш-памяти для продления срока службы. Для HDD головки позиционируются над нужными дорожками. Этот уровень полностью вне контроля JVM и ОС — он управляется прошивкой устройства.
#Java #для_новичков #beginner #IO #NIO #FileOutputStream
Запись через
FileOutputStream проходит через те же уровни памяти, что и чтение, но в обратном направлении:Уровень 1: Массив в heap JVM
Java-код подготавливает данные в массиве
byte[], расположенном в heap. Это обычный объект, управляемый garbage collector.String text = "Hello, World!";
byte[] data = text.getBytes(StandardCharsets.UTF_8);
// data — массив в heap, содержит байты UTF-8: 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21
Уровень 2: Системный вызов write()
Вызов
fos.write(data) инициирует цепочку: нативный метод writeBytes() в FileOutputStream.c вызывает IO_Write, который оборачивает write(fd, buf, len).// Путь данных для write(byte[]):
// 1. byte[] в heap JVM
// 2. Копирование в нативный буфер (JNI transition)
// 3. Системный вызов write() — данные попадают в page cache ядра
// 4. Ядро помечает страницы как dirty (грязные)
// 5. Асинхронная запись dirty-страниц на диск фоновыми потоками ядра
Уровень 3: Страничный кэш и dirty pages
Данные не записываются на диск немедленно. Ядро ОС помещает их в страничный кэш, помечая соответствующие страницы как dirty (измененные). Фоновые потоки ядра (pdflush на Linux, buffer cache flush на других системах) периодически синхронизируют dirty pages с блочным устройством. Это называется write-back caching и является стандартной стратегией для файловых систем.
Параметр
vm.dirty_ratio в Linux определяет, при каком проценте занятой памяти dirty pages начинается агрессивная запись на диск. Параметр vm.dirty_expire_centisecs — через какое время dirty page считается устаревшей и подлежит сбросу.Уровень 4: Физическая запись на диск
Контроллер диска (SSD или HDD) получает команды записи от драйвера файловой системы. Для SSD контроллер выполняет wear leveling, распределяя записи равномерно по ячейкам флеш-памяти для продления срока службы. Для HDD головки позиционируются над нужными дорожками. Этот уровень полностью вне контроля JVM и ОС — он управляется прошивкой устройства.
#Java #для_новичков #beginner #IO #NIO #FileOutputStream
👍4
Роль flush() и fsync()
Метод
Важное различие:
В большинстве сценариев
Пример: запись строки как массива байтов
#Java #для_новичков #beginner #IO #NIO #FileOutputStream
Метод
flush() в FileOutputStream вызывает fd.sync() или аналог, который выполняет системный вызов fsync() на POSIX. Этот вызов гарантирует, что все dirty pages данного файла сброшены на физический носитель, и данные переживут сбой питания.try (FileOutputStream fos = new FileOutputStream("critical.dat")) {
fos.write(transactionData);
fos.flush(); // Сброс буферов JVM в ОС
fos.getFD().sync(); // fsync — гарантия физической записи
} // close() неявно вызывает flush(), но не fsync()Важное различие:
flush() — сброс буферов JVM в page cache ОС. Данные еще не на диске, но видны другим процессам.fsync() (через FileDescriptor.sync()) — принудительная запись dirty pages на физический носитель. Дорогостоящая операция, блокирующая поток до завершения I/O.В большинстве сценариев
flush() достаточно. fsync() применяется только для критичных данных: финансовые транзакции, контрольные точки баз данных, состояния консенсуса в распределенных системах.Пример: запись строки как массива байтов
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
public class FileWriteExample {
public void writeStringToFile(String path, String content) throws IOException {
// Преобразование строки в байты UTF-8
// Создается новый массив byte[] в heap Eden space
byte[] data = content.getBytes(StandardCharsets.UTF_8);
// FileOutputStream создается в heap
// Нативный fd выделяется ОС, файл открывается или создается
try (FileOutputStream fos = new FileOutputStream(path)) {
// write(byte[]) — копирование из heap в page cache через нативный буфер
fos.write(data);
// Явный flush — гарантия сброса в ОС
// Без flush данные могут оставаться в нативных буферах JVM
fos.flush();
} // close() вызывается автоматически
// 1. flush() — сброс остатков в ОС
// 2. Закрытие файлового дескриптора
// 3. Объект fos становится недостижимым для GC
// Массив data становится недостижимым после выхода из метода
// GC собирает data и fos при следующей minor collection
}
// Режим добавления
public void appendToFile(String path, String content) throws IOException {
byte[] data = (content + System.lineSeparator()).getBytes(StandardCharsets.UTF_8);
// append = true — открытие с O_APPEND, указатель в конце файла
try (FileOutputStream fos = new FileOutputStream(path, true)) {
fos.write(data);
fos.flush();
}
}
}
#Java #для_новичков #beginner #IO #NIO #FileOutputStream
👍4
Роль garbage collector при записи
Жизненный цикл объектов
В этом прице каждая итерация создает временный массив
Оптимизация: переиспользование буфера
Для устранения аллокаций в цикле можно использовать переиспользуемый
Однако этот подход усложняет код без значительного выигрыша для типичных сценариев. JVM эффективно обрабатывает короткоживущие объекты в Eden через TLAB (Thread Local Allocation Buffer), и minor GC для young generation быстр.
#Java #для_новичков #beginner #IO #NIO #FileOutputStream
Жизненный цикл объектов
public void processAndWrite(String outputPath, List<String> records) throws IOException {
// records — ссылка в стеке, объект List в heap, элементы — объекты String в heap
try (BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(outputPath), 8192)) {
for (String record : records) {
// Каждая итерация:
// 1. getBytes() создает новый byte[] в heap Eden
// 2. write() копирует данные в buf BufferedOutputStream (heap)
// 3. При заполнении buf — сброс в FileOutputStream -> ОС
byte[] bytes = record.getBytes(StandardCharsets.UTF_8);
bos.write(bytes);
bos.write('\n');
// bytes становится недостижимым после итерации
// GC собирает bytes в следующей minor collection
}
// bos.flush() сбрасывает остаток buf в ОС
} // bos и underlying fos закрыты
// records все еще достижим, если используется дальше
}В этом прице каждая итерация создает временный массив
bytes. Эти массивы короткоживущие и собираются minor GC в young generation. Если records содержит миллионы элементов, это создает значительное давление на GC, хотя сами массивы малы.Оптимизация: переиспользование буфера
Для устранения аллокаций в цикле можно использовать переиспользуемый
ByteArrayOutputStream или CharsetEncoder с переиспользуемым ByteBuffer:public void optimizedWrite(String outputPath, List<String> records) throws IOException {
// Переиспользуемый буфер в heap, создается один раз
ByteArrayOutputStream baos = new ByteArrayOutputStream(8192);
try (FileOutputStream fos = new FileOutputStream(outputPath);
BufferedOutputStream bos = new BufferedOutputStream(fos)) {
for (String record : records) {
baos.reset(); // Сброс позиции, не создание нового объекта
byte[] bytes = record.getBytes(StandardCharsets.UTF_8);
baos.write(bytes);
baos.write('\n');
// Запись накопленных данных
bos.write(baos.toByteArray(), 0, baos.size());
}
}
}Однако этот подход усложняет код без значительного выигрыша для типичных сценариев. JVM эффективно обрабатывает короткоживущие объекты в Eden через TLAB (Thread Local Allocation Buffer), и minor GC для young generation быстр.
#Java #для_новичков #beginner #IO #NIO #FileOutputStream
👍4
Что выведет код?
#Tasks
import java.io.*;
public class Task050626 {
public static void main(String[] args) throws IOException {
try (FileOutputStream fos = new FileOutputStream("data.bin")) {
fos.write(300);
}
try (FileInputStream fis = new FileInputStream("data.bin")) {
System.out.println(fis.read());
}
}
}
#Tasks
👍3
Что такое striped locks? (ConcurrentHashMap как пример)🤓
Ответ:
Striped locking (блочная блокировка) — техника уменьшения конкуренции, когда разные части данных защищаются разными замками.
Классический пример — ConcurrentHashMap в Java 7: массив сегментов, каждый сегмент — отдельный замок.
В Java 8+ используется более тонкая блокировка на уровне корзин (buckets) с CAS для вставки в пустые корзины и synchronized на узле конкретной корзины при конфликте. Это позволяет параллельно выполнять операции, работающие с разными сегментами/корзинами.
#собеседование
Ответ:
Striped locking
Классический пример — ConcurrentHashMap в Java 7: массив сегментов, каждый сегмент — отдельный замок.
В Java 8+ используется более тонкая блокировка на уровне корзин (buckets) с CAS для вставки в пустые корзины и synchronized на узле конкретной корзины при конфликте. Это позволяет параллельно выполнять операции, работающие с разными сегментами/корзинами.
#собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
247 Java-собесов в банках РФ: 12 вопросов в 80% случаев — и почему №7 валит 9 из 10
Фото: Markus Spiske Обновление (июнь 2026). Цифры в статье — это срез на март 2026 года: 247 разобранных интервью. С тех пор база заметно выросла — сейчас в ней более 1200 переработанных собеседований...
👍4🔥2
История технологии сегодня — 6 июня
ℹ️ Кто родился в этот день
И́горь Ива́нович Сико́рский (англ. Igor Sikorsky, 25 мая (6 июня) 1889[3], Киев, Российская империя — 26 октября 1972, Истон, штат Коннектикут, США) — русский и американский авиаконструктор, учёный, изобретатель, философ. Создатель первых в мире: четырёхмоторного самолёта «Русский витязь» (1913 год), тяжёлого четырёхмоторного бомбардировщика и пассажирского самолёта «Илья Муромец» (1914 год), трансатлантического гидроплана, серийного вертолёта одновинтовой схемы (США, 1942 год).
Джотто Биццаррини (итал. Giotto Bizzarrini; 6 июня 1926, Ливорно, Тоскана — 13 мая 2023, Чечина, Тоскана) — итальянский конструктор автомобилей и инженер-испытатель; создатель одного из наиболее известных автомобилей категории Гран Туризмо — Ferrari 250 GTO; основатель автостроительной компании Bizzarrini (1964—1969).
Карл Фердинанд Браун (нем. Karl Ferdinand Braun; 6 июня 1850, Фульда — 20 апреля 1918, Нью-Йорк) — немецкий физик, лауреат Нобелевской премии по физике в 1909 году (совместно с Г. Маркони). Интенсивно участвовал в разработке технического применения электромагнитных волн. Изобретатель катодной (электронно-лучевой) трубки для исследования электрических колебаний (так называемая «катодная трубка Брауна», или «трубка Брауна»).
🌐 Знаковые события
1761 — М. В. Ломоносов, наблюдая прохождение Венеры по солнечному диску, обнаружил наличие у неё атмосферы.
1882 — Американец Генри Сили (Henry W. Seely) запатентовал электрический утюг.
1979 — запуск советского беспилотного космического корабля «Союз-34» к орбитальной станции «Салют-6».
#Biography #Birth_Date #Events #06июня
И́горь Ива́нович Сико́рский (англ. Igor Sikorsky, 25 мая (6 июня) 1889[3], Киев, Российская империя — 26 октября 1972, Истон, штат Коннектикут, США) — русский и американский авиаконструктор, учёный, изобретатель, философ. Создатель первых в мире: четырёхмоторного самолёта «Русский витязь» (1913 год), тяжёлого четырёхмоторного бомбардировщика и пассажирского самолёта «Илья Муромец» (1914 год), трансатлантического гидроплана, серийного вертолёта одновинтовой схемы (США, 1942 год).
Джотто Биццаррини (итал. Giotto Bizzarrini; 6 июня 1926, Ливорно, Тоскана — 13 мая 2023, Чечина, Тоскана) — итальянский конструктор автомобилей и инженер-испытатель; создатель одного из наиболее известных автомобилей категории Гран Туризмо — Ferrari 250 GTO; основатель автостроительной компании Bizzarrini (1964—1969).
Карл Фердинанд Браун (нем. Karl Ferdinand Braun; 6 июня 1850, Фульда — 20 апреля 1918, Нью-Йорк) — немецкий физик, лауреат Нобелевской премии по физике в 1909 году (совместно с Г. Маркони). Интенсивно участвовал в разработке технического применения электромагнитных волн. Изобретатель катодной (электронно-лучевой) трубки для исследования электрических колебаний (так называемая «катодная трубка Брауна», или «трубка Брауна»).
1761 — М. В. Ломоносов, наблюдая прохождение Венеры по солнечному диску, обнаружил наличие у неё атмосферы.
1882 — Американец Генри Сили (Henry W. Seely) запатентовал электрический утюг.
1979 — запуск советского беспилотного космического корабля «Союз-34» к орбитальной станции «Салют-6».
#Biography #Birth_Date #Events #06июня
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
История технологии сегодня — 7 июня
ℹ️ Кто родился в этот день
Ро́берт Са́ндерсон Ма́лликен (англ. Robert Sanderson Mulliken; 7 июня 1896, Ньюберипорт, Массачусетс — 31 октября 1986, Арлингтон, Виргиния) — американский физик и химик, профессор, лауреат Нобелевской премии по химии (1966) «за фундаментальную работу по химическим связям и электронной структуре молекул, проведённую с помощью метода молекулярных орбиталей».
Чарлз Гло́вер Ба́ркла (англ. Charles Glover Barkla; 7 июня 1877, Уиднс, Чешир — 23 октября 1944, Эдинбург) — английский физик-ядерщик, лауреат Нобелевской премии по физике 1917 года «за открытие характеристического рентгеновского излучения элементов».
🌐 Знаковые события
1903 — в Берлине французский учёный Пьер Кюри объявил об открытии нового химического элемента — полония.
1965 — корпорация Sony представила первый домашний видеомагнитофон по цене $995 — CV-2000.
1983 — запущена автоматическая межпланетная станция «Венера-16» для исследования Венеры.
#Biography #Birth_Date #Events #07июня
Ро́берт Са́ндерсон Ма́лликен (англ. Robert Sanderson Mulliken; 7 июня 1896, Ньюберипорт, Массачусетс — 31 октября 1986, Арлингтон, Виргиния) — американский физик и химик, профессор, лауреат Нобелевской премии по химии (1966) «за фундаментальную работу по химическим связям и электронной структуре молекул, проведённую с помощью метода молекулярных орбиталей».
Чарлз Гло́вер Ба́ркла (англ. Charles Glover Barkla; 7 июня 1877, Уиднс, Чешир — 23 октября 1944, Эдинбург) — английский физик-ядерщик, лауреат Нобелевской премии по физике 1917 года «за открытие характеристического рентгеновского излучения элементов».
1903 — в Берлине французский учёный Пьер Кюри объявил об открытии нового химического элемента — полония.
1965 — корпорация Sony представила первый домашний видеомагнитофон по цене $995 — CV-2000.
1983 — запущена автоматическая межпланетная станция «Венера-16» для исследования Венеры.
#Biography #Birth_Date #Events #07июня
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Ты не хочешь стать программистом.
Ты хочешь, чтобы тебе дали 100500 рублей в минуту, удаленку и 3 рабочих часа в день🏝
Нет?😂
Не ври, ладно? Хотя-бы самому себе😏
А теперь задай себе вопрос - зачем ты здесь. На этом канале? В программировании?
Если Ты хочешь, чтобы программист появился внутри тебя сам, без боли, без тупежа, без стыда за глупые вопросы, особенно если ты до этого был(а) шахтером/строителем/токарем/поваром - у меня для тебя плохие новости.
Если Ты хочешь чтобы кто-то дал «тот самый» курс, «тот самый» язык, «ту самую» кнопку, нажав на которую — фьють и ты программист с зп в 500к, то как говорилнаркоман Паша Техник - "ты что-то перепутал" 🤣
Так не будет.
Извини если обломал🤷♀️
Сейчас, в жесткой конкуренции, начинание пути в IT, потребует от Тебя не просто уйти в минус.
Это и учеба вечерами после работы, куча пет-проектов в никуда, бесконечное количество собесов с «Мы отдали предпочтение более сильному кандидату, останемся на связи - мы вам обязательно позвоним!» верим, ага😂
Ты заполняешь резюме на hh.ru с мыслью:
«Я считаю, что готов работать, дайте мне работу!»
Но на рынок переполнен «готовыми».
Каждый хочет сидеть в трусах перед монитором с любимой кошкой на коленях и получать за это хорошую зп.
Каждый хочет пить в офисе чай с печеньками и быть востребованным специалистом.
А чем ты лучше их?
И тогда, с этими мыслями 90% сдаются.
Уходят обратно в стабильное/известное/удобное.
Ты ведь тоже думал уйти, да?😏
Я точно думал. И не раз😔
Путь не будет легким.
Но он совершенно точно преодолим.
Если смог я - сможешь и ты.
Но!
Если Ты до сих пор листаешь списки курсов, сравниваешь Java и Python, читаешь отзывы на Stepik и думаешь:
«Вот если бы найти один, но самый лучший — всё бы пошло».
Знай - это ловушка. Курс не станет твоей волшебной палочкой.
Он не спасёт от ощущения «ничего не понятно», он не вытащит тебя в поток.
Потому что всё равно будет сложно.
Пока ты не взрастишь в себе интерес к созиданию через программирование.☺️
Если Ты до сих пор ждёшь вдохновения -
Знай - оно появится в момент, когда код заработает.
Ты думаешь, что сначала надо захотеть, а потом начать.
На деле — сначала ты начинаешь, и только потом хочешь.
Мотивация приходит не в начале.
Когда твой проект сбилдится, все тесты пройдут, тогда и появляется кайф. И мотивация. И желание.
А не из мотивационных видео, моих статей или чужих успехов.
Есть хорошая цитата Марка Твена🤓 :
Поэтому мой совет (который я даю всем кто попросит) :
"Если Ты идешь в программирование за деньгами и "легкой" работой - либо взрасти в себе желание к созиданию, либо оно превратится для тебя в один из самых страшных кошмаров, с которым ты точно не справишься."
И помни:
Ты не ленивый.
Ты просто попал в ловушку рекламы и иллюзий.
Мы все туда попали.☺️ 😉
Но если ты все-такие решил(а) стать программистом — нужно перестать ждать и начать бороться, точно понимая, зачем и для чего тебе это.
Одно я могу обещать Тебе точно: если ты болеешь как и я - все получится.💪
#motivation
Ты хочешь, чтобы тебе дали 100500 рублей в минуту, удаленку и 3 рабочих часа в день
Нет?
Не ври, ладно? Хотя-бы самому себе
В (уже) далеких 1990-х я увидел первый компьютер.
В местном "Доме творчества" поставили несколько, и нас, детей, повели посмотреть на них. Дали поиграть в какую-то игру на зеленых экранах.
Мне кажется тогда я и заболел компьютерами. Но лишь спустя 20 лет я смог позволить себе купить его. А еще спустя 11 лет я познакомился с программированием.
Все эти годы я болел возможностью создавать что-то. Что-то свое. Ведь в детстве это казалось чудом - по экрану ездит квадратная машина и ты ей управляешь.
Много позже, разрабатывая сервера на Dayz и ARMA, реализуя в том мире все, что мог вообразить (и что позволяли знания), я все еще болел этим. Но по настоящему программировать я наверно я боялся, это казалось невозможным.
А потом пришла Java💃
И пришла возможность написать все что я пожелаю.
А теперь задай себе вопрос - зачем ты здесь. На этом канале? В программировании?
Если Ты хочешь, чтобы программист появился внутри тебя сам, без боли, без тупежа, без стыда за глупые вопросы, особенно если ты до этого был(а) шахтером/строителем/токарем/поваром - у меня для тебя плохие новости.
Если Ты хочешь чтобы кто-то дал «тот самый» курс, «тот самый» язык, «ту самую» кнопку, нажав на которую — фьють и ты программист с зп в 500к, то как говорил
Так не будет.
Извини если обломал
Сейчас, в жесткой конкуренции, начинание пути в IT, потребует от Тебя не просто уйти в минус.
Это и учеба вечерами после работы, куча пет-проектов в никуда, бесконечное количество собесов с «Мы отдали предпочтение более сильному кандидату, останемся на связи - мы вам обязательно позвоним!» верим, ага
Ты заполняешь резюме на hh.ru с мыслью:
«Я считаю, что готов работать, дайте мне работу!»
Но на рынок переполнен «готовыми».
Каждый хочет сидеть в трусах перед монитором с любимой кошкой на коленях и получать за это хорошую зп.
Каждый хочет пить в офисе чай с печеньками и быть востребованным специалистом.
А чем ты лучше их?
И тогда, с этими мыслями 90% сдаются.
Уходят обратно в стабильное/известное/удобное.
Ты ведь тоже думал уйти, да?
Я точно думал. И не раз
Путь не будет легким.
Но он совершенно точно преодолим.
Если смог я - сможешь и ты.
Но!
Если Ты до сих пор листаешь списки курсов, сравниваешь Java и Python, читаешь отзывы на Stepik и думаешь:
«Вот если бы найти один, но самый лучший — всё бы пошло».
Знай - это ловушка. Курс не станет твоей волшебной палочкой.
Он не спасёт от ощущения «ничего не понятно», он не вытащит тебя в поток.
Потому что всё равно будет сложно.
Пока ты не взрастишь в себе интерес к созиданию через программирование.
Если Ты до сих пор ждёшь вдохновения -
Знай - оно появится в момент, когда код заработает.
Ты думаешь, что сначала надо захотеть, а потом начать.
На деле — сначала ты начинаешь, и только потом хочешь.
Мотивация приходит не в начале.
Когда твой проект сбилдится, все тесты пройдут, тогда и появляется кайф. И мотивация. И желание.
А не из мотивационных видео, моих статей или чужих успехов.
Есть хорошая цитата Марка Твена
«Выбери себе работу по душе, и тебе не придётся работать ни одного дня в своей жизни»
(«Choose a job you love, and you will never have to work a day in your life»).
Поэтому мой совет
"Если Ты идешь в программирование за деньгами и "легкой" работой - либо взрасти в себе желание к созиданию, либо оно превратится для тебя в один из самых страшных кошмаров, с которым ты точно не справишься."
И помни:
Ты не ленивый.
Ты просто попал в ловушку рекламы и иллюзий.
Мы все туда попали.
Но если ты все-такие решил(а) стать программистом — нужно перестать ждать и начать бороться, точно понимая, зачем и для чего тебе это.
Одно я могу обещать Тебе точно: если ты болеешь как и я - все получится.
#motivation
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13
Ребят, продолжаю набор желающих обучиться Java! 🤓
Пишите в лс, все обсудим (@Oleborn)🧑💻
И кстати маленький эксперимент - могут ли те кто когда либо обучался у меня (за все время, в том числе может по видео), дать обратную связь по качеству?☺️
Хаахах, после этого точно больше ко мне никто не пойдет 🤣 😉
Пишите в лс, все обсудим (@Oleborn)
И кстати маленький эксперимент - могут ли те кто когда либо обучался у меня (за все время, в том числе может по видео), дать обратную связь по качеству?
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣2👍1
История технологии сегодня — 8 июня
ℹ️ Кто родился в этот день
Гу́рий Ива́нович Марчу́к (8 июня 1925, Петрохерсонец, Самарская губерния — 24 марта 2013, Москва) — советский и российский учёный в области вычислительной математики, физики атмосферы и геофизики. Автор более 350 научных работ по вычислительной и прикладной математике, в том числе по методам расчёта ядерных реакторов, математическому моделированию в задачах физики атмосферы и океана, окружающей среды, в иммунологии и медицине.
Тимоти Джон Бе́рнерс-Ли (англ. Timothy John «Tim» Berners-Lee; род. 8 июня 1955 года, Лондон) — британский информатик, наиболее известный как создатель URI, URL, HTTP, HTML и Всемирной паутины (совместно с Робертом Кайо) и действующий глава Консорциума Всемирной паутины. Автор концепции семантической паутины, множества других разработок в области информационных технологий. В 1989 году, работая в ЦЕРН над внутренней системой обмена документов Enquire, Бернерс-Ли предложил глобальный гипертекстовый проект, ныне известный как Всемирная паутина. Проект был утверждён и реализован. С 1991 по 1993 год Тим Бернерс-Ли продолжал работу над Всемирной паутиной. Он собирал отзывы от пользователей и координировал работу Паутины. Тогда он впервые предложил для широкого обсуждения свои первые спецификации URI, HTTP и HTML.
Фрэнсис Гарри Комптон Крик (англ. Francis Harry Compton Crick; 8 июня 1916, Нортгемптон, Англия, Великобритания — 28 июля 2004, Сан-Диего, Калифорния, США) — британский молекулярный биолог, биофизик и нейробиолог. Лауреат Нобелевской премии по физиологии или медицине 1962 года — совместно с Джеймсом Д. Уотсоном и Морисом Х. Ф. Уилкинсом с формулировкой «за открытия, касающиеся молекулярной структуры нуклеиновых кислот и их значения для передачи информации в живых системах».
В статье, опубликованной в журнале Nature в 1961 году, Крик с соавторами предположили четыре свойства генетического кода:
три азотистых основания (триплет) кодируют одну аминокислоту;
триплеты генетического кода не перекрываются;
последовательности триплетов считываются с определённой начальной точки, знаки препинания внутри кодирующей последовательности отсутствуют;
генетический код вырожден — одна аминокислота может быть закодирована разными триплетами.
Также Крик известен тем, что сформулировал центральную догму молекулярной биологии: генетическая информация передаётся в клетке в одну сторону, от ДНК к РНК, а затем к белку.
🌐 Знаковые события
1824 — Ноа Кашинг (Noah Cushing) из Квебека запатентовал одну из ранних стиральных машин.
1869 — Айвз Макгаффи (Ives W. McGaffey) из Чикаго запатентовал модель подметательной машины — один из ранних пылесосов.
1940 — объявлено об открытии нептуния, 93-го элемента в таблице периодических элементов.
1948 — под руководством И. В. Курчатова в Челябинске-40 (ныне Озёрск) осуществляется пуск первого отечественного промышленного ядерного реактора.
#Biography #Birth_Date #Events #08июня
Гу́рий Ива́нович Марчу́к (8 июня 1925, Петрохерсонец, Самарская губерния — 24 марта 2013, Москва) — советский и российский учёный в области вычислительной математики, физики атмосферы и геофизики. Автор более 350 научных работ по вычислительной и прикладной математике, в том числе по методам расчёта ядерных реакторов, математическому моделированию в задачах физики атмосферы и океана, окружающей среды, в иммунологии и медицине.
Тимоти Джон Бе́рнерс-Ли (англ. Timothy John «Tim» Berners-Lee; род. 8 июня 1955 года, Лондон) — британский информатик, наиболее известный как создатель URI, URL, HTTP, HTML и Всемирной паутины (совместно с Робертом Кайо) и действующий глава Консорциума Всемирной паутины. Автор концепции семантической паутины, множества других разработок в области информационных технологий. В 1989 году, работая в ЦЕРН над внутренней системой обмена документов Enquire, Бернерс-Ли предложил глобальный гипертекстовый проект, ныне известный как Всемирная паутина. Проект был утверждён и реализован. С 1991 по 1993 год Тим Бернерс-Ли продолжал работу над Всемирной паутиной. Он собирал отзывы от пользователей и координировал работу Паутины. Тогда он впервые предложил для широкого обсуждения свои первые спецификации URI, HTTP и HTML.
Фрэнсис Гарри Комптон Крик (англ. Francis Harry Compton Crick; 8 июня 1916, Нортгемптон, Англия, Великобритания — 28 июля 2004, Сан-Диего, Калифорния, США) — британский молекулярный биолог, биофизик и нейробиолог. Лауреат Нобелевской премии по физиологии или медицине 1962 года — совместно с Джеймсом Д. Уотсоном и Морисом Х. Ф. Уилкинсом с формулировкой «за открытия, касающиеся молекулярной структуры нуклеиновых кислот и их значения для передачи информации в живых системах».
В статье, опубликованной в журнале Nature в 1961 году, Крик с соавторами предположили четыре свойства генетического кода:
три азотистых основания (триплет) кодируют одну аминокислоту;
триплеты генетического кода не перекрываются;
последовательности триплетов считываются с определённой начальной точки, знаки препинания внутри кодирующей последовательности отсутствуют;
генетический код вырожден — одна аминокислота может быть закодирована разными триплетами.
Также Крик известен тем, что сформулировал центральную догму молекулярной биологии: генетическая информация передаётся в клетке в одну сторону, от ДНК к РНК, а затем к белку.
1824 — Ноа Кашинг (Noah Cushing) из Квебека запатентовал одну из ранних стиральных машин.
1869 — Айвз Макгаффи (Ives W. McGaffey) из Чикаго запатентовал модель подметательной машины — один из ранних пылесосов.
1940 — объявлено об открытии нептуния, 93-го элемента в таблице периодических элементов.
1948 — под руководством И. В. Курчатова в Челябинске-40 (ныне Озёрск) осуществляется пуск первого отечественного промышленного ядерного реактора.
#Biography #Birth_Date #Events #08июня
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5