Показаны сообщения с ярлыком PJP. Показать все сообщения
Показаны сообщения с ярлыком PJP. Показать все сообщения
среда, 16 марта 2011 г.
вторник, 8 марта 2011 г.
вторник, 15 июня 2010 г.
[PJP]: Google Developers - Numbers Everyone Should Know
From "Google: Designs, Lessons and Advice from Building Large Distributed Systems":
Numbers Everyone Should Know
L1 cache reference ------------------------- 0.5 ns
Branch mispredict --------------------------- 5 ns
L2 cache reference ------------------------- 7 ns
Mutex lock/unlock --------------------------- 25 ns
Main memory reference ------------------- 100 ns
Compress 1K bytes with Zippy ----------- 3,000 ns
Send 2K bytes over 1 Gbps network ---- 20,000 ns
Read 1 MB sequentially from memory --- 250,000 ns
Round trip within same datacenter ------ 500,000 ns
Disk seek ------------------------------------- 10,000,000 ns
Read 1 MB sequentially from disk -------- 20,000,000 ns
Send packet CA->Netherlands->CA ----- 150,000,000 ns
Numbers Everyone Should Know
L1 cache reference ------------------------- 0.5 ns
Branch mispredict --------------------------- 5 ns
L2 cache reference ------------------------- 7 ns
Mutex lock/unlock --------------------------- 25 ns
Main memory reference ------------------- 100 ns
Compress 1K bytes with Zippy ----------- 3,000 ns
Send 2K bytes over 1 Gbps network ---- 20,000 ns
Read 1 MB sequentially from memory --- 250,000 ns
Round trip within same datacenter ------ 500,000 ns
Disk seek ------------------------------------- 10,000,000 ns
Read 1 MB sequentially from disk -------- 20,000,000 ns
Send packet CA->Netherlands->CA ----- 150,000,000 ns
Ярлыки:
PJP
четверг, 10 июня 2010 г.
[PJP]: Broker vs. Brokerless
Broker vs. Brokerless
Table of Contents
- Introduction
- Broker
- No Broker
- Broker as a Directory Service
- Distributed broker
- Distributed directory service
- Conclusion
Table of Contents
- Introduction
- Broker
- No Broker
- Broker as a Directory Service
- Distributed broker
- Distributed directory service
- Conclusion
Ярлыки:
PJP
понедельник, 23 ноября 2009 г.
PJP: Parallel/Concurrent GC
Небольшое замечание по сложившейся терминологии для описания типа GC.
Parallel - значит представляет собой несколько ПАРАЛЛЕЛЬНЫХ потоков. Т.е. сам уборщик мусора состоит из нескольких потоков, которые все вместе лопатят кучу.
Concurrent - значит работает ОДНОВРЕМЕННО с потоками пользователя. Т.е. не требуется делать паузу всей системы(stop-the-world).
Как видно, понятия совершенно независимые. Т.е. каждая конкретная реализация уборщика может обладать этими свойствами независимо.
Parallel - значит представляет собой несколько ПАРАЛЛЕЛЬНЫХ потоков. Т.е. сам уборщик мусора состоит из нескольких потоков, которые все вместе лопатят кучу.
Concurrent - значит работает ОДНОВРЕМЕННО с потоками пользователя. Т.е. не требуется делать паузу всей системы(stop-the-world).
Как видно, понятия совершенно независимые. Т.е. каждая конкретная реализация уборщика может обладать этими свойствами независимо.
воскресенье, 22 ноября 2009 г.
PJP: Сложные Системы и архетип Смерти
Профессионально написанная система не только хорошо работает в стандартных режимах, но также корректно переносит всякого рода переходные режимы:
- пуск
- останов
- пауза
- истощение ресурсов
- backup
- пуск после сбоя
Фактически, профессионализм высокого уровня заключается в одновременном рассмотрении проектируемых/реалируемых систем с различных сторон. Жизненный цикл - одна из таких сторон.
Далее вас ожидает несколько постов посвященных таинству Смерти в Java.
- пуск
- останов
- пауза
- истощение ресурсов
- backup
- пуск после сбоя
Фактически, профессионализм высокого уровня заключается в одновременном рассмотрении проектируемых/реалируемых систем с различных сторон. Жизненный цикл - одна из таких сторон.
Далее вас ожидает несколько постов посвященных таинству Смерти в Java.
Ярлыки:
PJP
понедельник, 12 октября 2009 г.
PJP: Spring (Пн, 12окт)
Рекомендую IoC-контейнер Spring.
- ключевая статья Мартина Фаулера "Inversion of Control Containers and the Dependency Injection pattern" обясняющая зачем все это.
- документация по Spring(просмотрите хотя бы *картинки, *примеры, *справа в рамочках замечания из Chapter 3. The IoC container)
P.S. Знание Cпринга - уже гарантирует работу, а понимание того КАК он работает - хорошую:)
- ключевая статья Мартина Фаулера "Inversion of Control Containers and the Dependency Injection pattern" обясняющая зачем все это.
- документация по Spring(просмотрите хотя бы *картинки, *примеры, *справа в рамочках замечания из Chapter 3. The IoC container)
P.S. Знание Cпринга - уже гарантирует работу, а понимание того КАК он работает - хорошую:)
PJP: Р.Мартин. Быстрая разработка программ (Пн, 12окт).
* принцип персональной ответственности
Для использование одной функциональноcти достаточно использования одного класса (хотя реализовываться может с использованием многих, [скажем это класс - Facade]) + у одного класса - одна функциональность (а не больше).
Для использование одной функциональноcти достаточно использования одного класса (хотя реализовываться может с использованием многих, [скажем это класс - Facade]) + у одного класса - одна функциональность (а не больше).
понедельник, 5 октября 2009 г.
PJP: GRASP Patterns: Pure Fabrication
GRASP(General Responsibility Assignment Software Patterns) patterns described by Craig Larman in his book:
Applying UML and Patterns, 3ed.
Применение UML 2.0 и шаблонов проектирования
Книгу я бы не советовал читать, вода для будущих менеджеров. И паттерны там не кодирования, а распределения ролей:
Applying UML and Patterns, 3ed.
Применение UML 2.0 и шаблонов проектирования
Книгу я бы не советовал читать, вода для будущих менеджеров. И паттерны там не кодирования, а распределения ролей:
- Information Expert
- Creator
- Controller
- Low Coupling
- High Cohesion
- Polymorphism
- Pure Fabrication
- Indirection
- Protected Variations
Ярлыки:
Craig Larman,
GRASP,
Pattern,
PJP,
Pure Fabrication
PJP: словарь: Bean vs Entity
Bean - определяется по форме. Entity - по содержанию.
Java Bean - не путать с EJB и Web beans.
---
Bean(Java Bean): имеет свою страницу на САНе -> тут, скачать спеку можно -> тут, tutorial -> тут.
Если совсем кратко - это класс
- имеющий публичный конструктор без аргументов
- доступ к полям обеспечивается через getter/setter
Entity: класс в той или иной степени соответствующий сущности (не процессу, не роли, не ...) реального мира.
---
Пример Bean and Entity:
Java Bean - не путать с EJB и Web beans.
---
Bean(Java Bean): имеет свою страницу на САНе -> тут, скачать спеку можно -> тут, tutorial -> тут.
Если совсем кратко - это класс
- имеющий публичный конструктор без аргументов
- доступ к полям обеспечивается через getter/setter
Entity: класс в той или иной степени соответствующий сущности (не процессу, не роли, не ...) реального мира.
---
Пример Bean and Entity:
PJP: jcp.org
Абсолютное большинство стандартов Java разрабатывается сообществом JCP (jcp.org, Java Community Process) в виде JSR (Java Specification Requests).
Все JSR-ки в формате pdf можно скачать отсюда.
Пример для JSP:
JavaServer Pages 1.2 (JSR 53)
JavaServer Pages 2.1 (JSR 245)
JSR - это основной источник информации по предмету. Зачастую написаны достаточно легко. Снабжены примерами.
Все JSR-ки в формате pdf можно скачать отсюда.
Пример для JSP:
JavaServer Pages 1.2 (JSR 53)
JavaServer Pages 2.1 (JSR 245)
JSR - это основной источник информации по предмету. Зачастую написаны достаточно легко. Снабжены примерами.
PJP: Code Conventions for the Java Programming Language
Code Conventions for the Java Programming Language
Документ от САНа, соглашение о форматировании, наименовании, оформлениии кода:
- Download HTML (zip, ~62K)
- Download PDF (~127K)
Документ от САНа, соглашение о форматировании, наименовании, оформлениии кода:
- Download HTML (zip, ~62K)
- Download PDF (~127K)
Новые тематики: PJP, Matlab, GPU
Начинаем дополнительные публикации по темам PJP(Professional Java Programming), Matlab, GPU (Graphics Processing Unit)
По PJP буду писать я, Головач Иван.
По Matlab буду писать я, Головач Иван. Подключится(надеюсь) к.т.н. Колупаев Игорь Николаевич, специалист по металлофизике, бооольшой любитель Матлаба.
По GPU пока буду писать я, Головач Иван. Возможно найду спеца по этой тематике.
По PJP буду писать я, Головач Иван.
По Matlab буду писать я, Головач Иван. Подключится(надеюсь) к.т.н. Колупаев Игорь Николаевич, специалист по металлофизике, бооольшой любитель Матлаба.
По GPU пока буду писать я, Головач Иван. Возможно найду спеца по этой тематике.
Ярлыки:
Matlabб GPU,
PJP
Подписаться на:
Сообщения (Atom)