HighLoad++ 2017
Зал «Москва», 7 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/2881.html
У компании Ingram Micro Cloud стенд на HL. На нем мы организуем браузерную игру TheURBN (urbn.odn.pw) с воксельной графикой, в которой каждый может захватывать территорию общего мира и строить небоскребы при помощи кубиков, а за процессом можно наблюдать на стенде. На экранах мы будем в режиме реального времени показывать виртуальный 3D-мир, в котором участники будут строить небоскребы. Большего погружения можно получить в шлеме VR Oculus Rift на нашем стенде.
...
The document discusses Massimiliano Dessì's background and experience as a software architect, developer, and founder/chairman of various user groups. It then provides an overview of MongoDB including its main features such as being document-oriented, easy scalability, high performance, high availability, and rich query language. Examples of MongoDB production deployments are also listed. The rest of the document dives deeper into specific MongoDB concepts, data structures, operations, and query capabilities.
Mongo or Die: How MongoDB Powers Doodle or DieAaron Silverman
"Doodle or Die" is a popular online drawing game built on Node.js and MongoDB. It started off as an entry to the 2011 Node Knockout competition and after winning the category for "Most Fun" has continued to grow into a game that has thousands of players play each day who have produced millions of drawings. This talk will use Doodle or Die as a vehicle to showcase the many strengths of using MongoDB as a go-to database for small and midsize applications. It will also cover lessons learned as we used MongoDB to rapidly develop and scale Doodle or Die.
MongoDB .local Chicago 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...MongoDB
Aggregation pipeline has been able to power your analysis of data since version 2.2. In 4.2 we added more power and now you can use it for more powerful queries, updates, and outputting your data to existing collections. Come hear how you can do everything with the pipeline, including single-view, ETL, data roll-ups and materialized views.
MongoDB .local Toronto 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...MongoDB
Aggregation pipeline has been able to power your analysis of data since version 2.2. In 4.2 we added more power and now you can use it for more powerful queries, updates, and outputting your data to existing collections. Come hear how you can do everything with the pipeline, including single-view, ETL, data roll-ups and materialized views.
Every Click Counts (But All the Money Goes to Me)Avast
Today, social sites make up a big, open vector for people who want monetize their ideas. But sometimes those ideas are not as legitimate as one would hope. One of the more unscrupulous ways to “earn” money is to steal your identity, email accounts, and/or credit card details. Another way is to misuse your computer as a money-making machine for cybercriminals.
Presented at AVAR 2013 by Jan Sirmer and Lukas Hasik, Virus Analysts & Researchers at Avast Software.
The Ring programming language version 1.7 book - Part 196 of 196Mahmoud Samir Fayed
The document provides an overview of scope rules in Ring, including defining variables and accessing variables, conflicts between different scopes, and how Ring finds variables and functions. It also covers syntax flexibility in Ring, allowing customization of language keywords, operators, and structure. Finally, it describes the Trace library for debugging code through breakpoints and an interactive debugger.
MongoDB .local Munich 2019: Tips and Tricks++ for Querying and Indexing MongoDBMongoDB
Query performance can either be a constant headache or the unsung hero of an application. MongoDB provides extremely powerful querying capabilities when used properly. As a member of the solutions architecture team I will share more common mistakes observed and some tips and tricks to avoiding them.
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 10:00
Тезисы:
http://www.highload.ru/2017/abstracts/2975.html
Все мы слышали про изменение кода ядра Linux на лету (kernel live patching). Но кто-нибудь проводит подобные фокусы в user space? Оказалось, что да. Мы тоже попробовали.
И получилось.
Длинная дорога технологии Userspace Live Patching в жизнь:
Что такое Live Patching
1) Изменение части логики процесса.
2) Сохранение состояния процесса.
3) Делать 1+2 БЕЗОПАСНО.
...
The document discusses Massimiliano Dessì's background and experience as a software architect, developer, and founder/chairman of various user groups. It then provides an overview of MongoDB including its main features such as being document-oriented, easy scalability, high performance, high availability, and rich query language. Examples of MongoDB production deployments are also listed. The rest of the document dives deeper into specific MongoDB concepts, data structures, operations, and query capabilities.
Mongo or Die: How MongoDB Powers Doodle or DieAaron Silverman
"Doodle or Die" is a popular online drawing game built on Node.js and MongoDB. It started off as an entry to the 2011 Node Knockout competition and after winning the category for "Most Fun" has continued to grow into a game that has thousands of players play each day who have produced millions of drawings. This talk will use Doodle or Die as a vehicle to showcase the many strengths of using MongoDB as a go-to database for small and midsize applications. It will also cover lessons learned as we used MongoDB to rapidly develop and scale Doodle or Die.
MongoDB .local Chicago 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...MongoDB
Aggregation pipeline has been able to power your analysis of data since version 2.2. In 4.2 we added more power and now you can use it for more powerful queries, updates, and outputting your data to existing collections. Come hear how you can do everything with the pipeline, including single-view, ETL, data roll-ups and materialized views.
MongoDB .local Toronto 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...MongoDB
Aggregation pipeline has been able to power your analysis of data since version 2.2. In 4.2 we added more power and now you can use it for more powerful queries, updates, and outputting your data to existing collections. Come hear how you can do everything with the pipeline, including single-view, ETL, data roll-ups and materialized views.
Every Click Counts (But All the Money Goes to Me)Avast
Today, social sites make up a big, open vector for people who want monetize their ideas. But sometimes those ideas are not as legitimate as one would hope. One of the more unscrupulous ways to “earn” money is to steal your identity, email accounts, and/or credit card details. Another way is to misuse your computer as a money-making machine for cybercriminals.
Presented at AVAR 2013 by Jan Sirmer and Lukas Hasik, Virus Analysts & Researchers at Avast Software.
The Ring programming language version 1.7 book - Part 196 of 196Mahmoud Samir Fayed
The document provides an overview of scope rules in Ring, including defining variables and accessing variables, conflicts between different scopes, and how Ring finds variables and functions. It also covers syntax flexibility in Ring, allowing customization of language keywords, operators, and structure. Finally, it describes the Trace library for debugging code through breakpoints and an interactive debugger.
MongoDB .local Munich 2019: Tips and Tricks++ for Querying and Indexing MongoDBMongoDB
Query performance can either be a constant headache or the unsung hero of an application. MongoDB provides extremely powerful querying capabilities when used properly. As a member of the solutions architecture team I will share more common mistakes observed and some tips and tricks to avoiding them.
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 10:00
Тезисы:
http://www.highload.ru/2017/abstracts/2975.html
Все мы слышали про изменение кода ядра Linux на лету (kernel live patching). Но кто-нибудь проводит подобные фокусы в user space? Оказалось, что да. Мы тоже попробовали.
И получилось.
Длинная дорога технологии Userspace Live Patching в жизнь:
Что такое Live Patching
1) Изменение части логики процесса.
2) Сохранение состояния процесса.
3) Делать 1+2 БЕЗОПАСНО.
...
This talk explains how low level graphics works, the OpenGL rendering pipeline, and digs into pixel buffering techniques, and even includes some example code and demos.
The document provides information about game development using Unity. It discusses concepts like game engines, Unity interface and components, character control, game design, gameplay, basic components, enemy AI, memory management and optimization. It also covers topics such as the anatomy of video games, the game development process, 2D and 3D art, what Unity is and why to use it, its interface and execution order of event functions. Additionally, it summarizes Mecanim workflow, asset preparation, terrain editing, adding water and skyboxes, importing assets, lightmapping, fog, game design, and enemy pathfinding using waypoints.
Ultizen is a Chinese game development company founded in 2005 that provides outsourcing services. It has over 250 staff across multiple facilities in China. Ultizen has experience developing games for platforms like Xbox 360, PS3, and PC. It offers a full range of game development services from art production to programming to quality assurance testing.
This document discusses web game development. It defines games and outlines their key characteristics and classifications. It also covers game development aspects like gameplay, characters, levels, and use of artificial intelligence. Game production involves subsystems like graphics, sound, and networking. Game architecture may involve a single-threaded or multi-threaded kernel, and a client-server model for multiplayer games. Resources for learning web game development are also provided.
Beyond php - it's not (just) about the codeWim Godden
Most PHP developers focus on writing code. But creating Web applications is about much more than just wrting PHP. Take a step outside the PHP cocoon and into the big PHP ecosphere to find out how small code changes can make a world of difference on servers and network. This talk is an eye-opener for developers who spend over 80% of their time coding, debugging and testing.
Knock knock on GameDev gateway! - Introduction to Game developmentMamdouh Tarabishi
The document discusses why people play games and the importance of gaming. It provides examples of real-world applications of games in areas like military training and education. It also summarizes the roles involved in game development teams and key components of games like graphics, physics, animation, AI and levels. The document compares popular game engines like Unity, Unreal and CryEngine and recommends Unity as a good starting point for beginning game development.
The document provides an overview of indie game development tools and technologies for Windows, web, Xbox, and mobile platforms. It discusses the speaker's background in Microsoft development and indie game projects. Various game engines and frameworks are covered, including Construct 2, C++ with DirectX, and Unity. Optimization, multiplatform support, and balancing work life as an indie developer are addressed. Community involvement and feedback are emphasized.
Game accessibility at hanze hogeschoolEelke Folmer
This document summarizes research into making virtual worlds and video games accessible to visually impaired users. It discusses barriers blind people face with visual games and the benefits of inclusive design. Methods explored include sensory substitution using audio and haptics, natural language interfaces, abstraction and detailing of virtual scenes, and games to tag and classify objects. Studies found these approaches helped blind users navigate and interact more efficiently. The goal is to drive innovation through designing for extreme users and foster social, educational and health benefits of gaming for the visually impaired.
This document discusses best practices for developing a chess game app called ChessMate. It covers topics like architecture patterns, design principles, testing practices, code quality, and project organization. Examples are provided to illustrate concepts like separation of concerns, dependency injection, protocol-oriented programming and value types vs reference types. The goal is to build a well-designed, extensible and maintainable chess app following industry standards.
Daniel Greenfeld gave a presentation titled "Intro to Python" where he demonstrated 21 cool things that can be done with Python. These included running Python anywhere, learning it quickly, introspecting objects to see their attributes and methods, performing string operations, formatting strings, basic math operations, and working with lists. The presentation emphasized Python's simplicity, readability, and extensive standard library and ecosystem.
Beyond php it's not (just) about the codeWim Godden
The document discusses database queries and optimization. It begins with an example of a complex database query and explains how to detect problematic queries using tools like slow query log and pt-query-digest. It then discusses indexing strategies and when to use indexes. The document also describes a case study of a client's jobs search site that was experiencing high database load due to inefficient queries in a loop, and how batching the queries into a single query solved the problem.
This document provides an overview of virtual world systems and technologies for developing virtual worlds. It discusses key features of virtual worlds like social interaction, large persistent environments. It then examines some successful 2D and 3D virtual worlds that break conventions. The document stresses that successful development requires balancing the design, content, and technology. It also advises working within time and budget constraints. Finally, it surveys various 2D and 3D virtual world technologies and considerations for choosing a technology.
This document discusses using F# for learning probabilistic models and projects at Microsoft. It covers factor graphs and inference in factor graphs for representing probabilistic models. It then describes two projects - analyzing the TrueSkill ranking algorithm and an internal adCenter competition. It concludes by outlining benefits of F# such as producing correct, succinct and high performance code while being fun to program in.
Daniel Greenfeld gave a presentation titled "Intro to Python". The presentation introduced Python and covered 21 cool things that can be done with Python, including running Python anywhere, learning Python quickly, introspecting Python objects, working with strings, lists, generators, sets and dictionaries. The presentation emphasized Python's simplicity, readability, extensibility and how it can be used for a wide variety of tasks.
1) MongoDB is used to collect analytics data from GitHub pages in real-time with over 10-15 million page views per day stored across 13 servers.
2) Data is stored in a denormalized manner across multiple collections to optimize for space, RAM, and read performance while live querying is supported.
3) As data volume grows over time, the data will need to be partitioned either by time frame, functionality, or individual servers to support the increased load.
This document provides a programmers guide for Cocos2d-x version 3.3. It includes chapters on basic Cocos2d-x concepts such as scenes, nodes, sprites, actions, and the scene graph. The guide explains how to create and manipulate sprites, run actions and sequences of actions, and handle parent-child relationships between nodes. It aims to teach programmers how to use Cocos2d-x to develop cross-platform 2D games.
This is the keynote I gave at the 2018 ACM SIGGRAPH Conference on Motion, Interaction and Games.
Title: Toward a Science of Game Design
Abstract:
Game development is costly, technically challenging, and poorly understood. Increased demand for games as a form of entertainment has motivated research into technology to help ameliorate the burden involved in development. This technology unfortunately has the potential to create more problems than it solves. In this talk, I will argue that this increased demand should motivate more research into human-centered game design, involving both artifact and person. This research requires computationally modeling our human intelligence, as part of an agenda that seeks to codify the precise interplay between a person’s cognition (an inner environment), the game’s controls (an interface), and a fictional universe (an outer environment); the interplay is concerned with attaining design goals by adapting the inner environment to the outer environment. I will present examples of this agenda as embodied through my own work and identify key challenges that I think the MIG community is well-poised to address in service of establishing what Herb Simon might have called a “science of game design.”
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
HighLoad++ 2017
Зал «Калининград», 8 ноября, 15:00
Тезисы:
http://www.highload.ru/2017/abstracts/2964.html
Одноклассники состоят из более чем восьми тысяч железных серверов, расположенных в нескольких дата-центрах. Каждая из этих машин была специализированной под конкретную задачу - как для обеспечения изоляции отказов, так и для обеспечения автоматизированного управления инфраструктурой.
...
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
HighLoad++ 2017
Зал «Калининград», 8 ноября, 16:00
Тезисы:
http://www.highload.ru/2017/abstracts/3032.html
Протокол DNS на семь лет старше, чем Всемирная паутина. Стандарты RFC 882 и 883, определяющие основную функциональность системы доменных имён, появились в конце 1983 года, а первая реализация последовала уже годом позже. Естественно, что у технологии столь старой и при этом по сей день активнейшим образом используемой просто не могли не накопиться особенности, неочевидные обыкновенным пользователям.
...
More Related Content
Similar to Как мы сделали многопользовательскую браузерную игру для HL++ с воксельной графикой / Александр Хаеров (Ingram Micro)
This talk explains how low level graphics works, the OpenGL rendering pipeline, and digs into pixel buffering techniques, and even includes some example code and demos.
The document provides information about game development using Unity. It discusses concepts like game engines, Unity interface and components, character control, game design, gameplay, basic components, enemy AI, memory management and optimization. It also covers topics such as the anatomy of video games, the game development process, 2D and 3D art, what Unity is and why to use it, its interface and execution order of event functions. Additionally, it summarizes Mecanim workflow, asset preparation, terrain editing, adding water and skyboxes, importing assets, lightmapping, fog, game design, and enemy pathfinding using waypoints.
Ultizen is a Chinese game development company founded in 2005 that provides outsourcing services. It has over 250 staff across multiple facilities in China. Ultizen has experience developing games for platforms like Xbox 360, PS3, and PC. It offers a full range of game development services from art production to programming to quality assurance testing.
This document discusses web game development. It defines games and outlines their key characteristics and classifications. It also covers game development aspects like gameplay, characters, levels, and use of artificial intelligence. Game production involves subsystems like graphics, sound, and networking. Game architecture may involve a single-threaded or multi-threaded kernel, and a client-server model for multiplayer games. Resources for learning web game development are also provided.
Beyond php - it's not (just) about the codeWim Godden
Most PHP developers focus on writing code. But creating Web applications is about much more than just wrting PHP. Take a step outside the PHP cocoon and into the big PHP ecosphere to find out how small code changes can make a world of difference on servers and network. This talk is an eye-opener for developers who spend over 80% of their time coding, debugging and testing.
Knock knock on GameDev gateway! - Introduction to Game developmentMamdouh Tarabishi
The document discusses why people play games and the importance of gaming. It provides examples of real-world applications of games in areas like military training and education. It also summarizes the roles involved in game development teams and key components of games like graphics, physics, animation, AI and levels. The document compares popular game engines like Unity, Unreal and CryEngine and recommends Unity as a good starting point for beginning game development.
The document provides an overview of indie game development tools and technologies for Windows, web, Xbox, and mobile platforms. It discusses the speaker's background in Microsoft development and indie game projects. Various game engines and frameworks are covered, including Construct 2, C++ with DirectX, and Unity. Optimization, multiplatform support, and balancing work life as an indie developer are addressed. Community involvement and feedback are emphasized.
Game accessibility at hanze hogeschoolEelke Folmer
This document summarizes research into making virtual worlds and video games accessible to visually impaired users. It discusses barriers blind people face with visual games and the benefits of inclusive design. Methods explored include sensory substitution using audio and haptics, natural language interfaces, abstraction and detailing of virtual scenes, and games to tag and classify objects. Studies found these approaches helped blind users navigate and interact more efficiently. The goal is to drive innovation through designing for extreme users and foster social, educational and health benefits of gaming for the visually impaired.
This document discusses best practices for developing a chess game app called ChessMate. It covers topics like architecture patterns, design principles, testing practices, code quality, and project organization. Examples are provided to illustrate concepts like separation of concerns, dependency injection, protocol-oriented programming and value types vs reference types. The goal is to build a well-designed, extensible and maintainable chess app following industry standards.
Daniel Greenfeld gave a presentation titled "Intro to Python" where he demonstrated 21 cool things that can be done with Python. These included running Python anywhere, learning it quickly, introspecting objects to see their attributes and methods, performing string operations, formatting strings, basic math operations, and working with lists. The presentation emphasized Python's simplicity, readability, and extensive standard library and ecosystem.
Beyond php it's not (just) about the codeWim Godden
The document discusses database queries and optimization. It begins with an example of a complex database query and explains how to detect problematic queries using tools like slow query log and pt-query-digest. It then discusses indexing strategies and when to use indexes. The document also describes a case study of a client's jobs search site that was experiencing high database load due to inefficient queries in a loop, and how batching the queries into a single query solved the problem.
This document provides an overview of virtual world systems and technologies for developing virtual worlds. It discusses key features of virtual worlds like social interaction, large persistent environments. It then examines some successful 2D and 3D virtual worlds that break conventions. The document stresses that successful development requires balancing the design, content, and technology. It also advises working within time and budget constraints. Finally, it surveys various 2D and 3D virtual world technologies and considerations for choosing a technology.
This document discusses using F# for learning probabilistic models and projects at Microsoft. It covers factor graphs and inference in factor graphs for representing probabilistic models. It then describes two projects - analyzing the TrueSkill ranking algorithm and an internal adCenter competition. It concludes by outlining benefits of F# such as producing correct, succinct and high performance code while being fun to program in.
Daniel Greenfeld gave a presentation titled "Intro to Python". The presentation introduced Python and covered 21 cool things that can be done with Python, including running Python anywhere, learning Python quickly, introspecting Python objects, working with strings, lists, generators, sets and dictionaries. The presentation emphasized Python's simplicity, readability, extensibility and how it can be used for a wide variety of tasks.
1) MongoDB is used to collect analytics data from GitHub pages in real-time with over 10-15 million page views per day stored across 13 servers.
2) Data is stored in a denormalized manner across multiple collections to optimize for space, RAM, and read performance while live querying is supported.
3) As data volume grows over time, the data will need to be partitioned either by time frame, functionality, or individual servers to support the increased load.
This document provides a programmers guide for Cocos2d-x version 3.3. It includes chapters on basic Cocos2d-x concepts such as scenes, nodes, sprites, actions, and the scene graph. The guide explains how to create and manipulate sprites, run actions and sequences of actions, and handle parent-child relationships between nodes. It aims to teach programmers how to use Cocos2d-x to develop cross-platform 2D games.
This is the keynote I gave at the 2018 ACM SIGGRAPH Conference on Motion, Interaction and Games.
Title: Toward a Science of Game Design
Abstract:
Game development is costly, technically challenging, and poorly understood. Increased demand for games as a form of entertainment has motivated research into technology to help ameliorate the burden involved in development. This technology unfortunately has the potential to create more problems than it solves. In this talk, I will argue that this increased demand should motivate more research into human-centered game design, involving both artifact and person. This research requires computationally modeling our human intelligence, as part of an agenda that seeks to codify the precise interplay between a person’s cognition (an inner environment), the game’s controls (an interface), and a fictional universe (an outer environment); the interplay is concerned with attaining design goals by adapting the inner environment to the outer environment. I will present examples of this agenda as embodied through my own work and identify key challenges that I think the MIG community is well-poised to address in service of establishing what Herb Simon might have called a “science of game design.”
Similar to Как мы сделали многопользовательскую браузерную игру для HL++ с воксельной графикой / Александр Хаеров (Ingram Micro) (20)
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
HighLoad++ 2017
Зал «Калининград», 8 ноября, 15:00
Тезисы:
http://www.highload.ru/2017/abstracts/2964.html
Одноклассники состоят из более чем восьми тысяч железных серверов, расположенных в нескольких дата-центрах. Каждая из этих машин была специализированной под конкретную задачу - как для обеспечения изоляции отказов, так и для обеспечения автоматизированного управления инфраструктурой.
...
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
HighLoad++ 2017
Зал «Калининград», 8 ноября, 16:00
Тезисы:
http://www.highload.ru/2017/abstracts/3032.html
Протокол DNS на семь лет старше, чем Всемирная паутина. Стандарты RFC 882 и 883, определяющие основную функциональность системы доменных имён, появились в конце 1983 года, а первая реализация последовала уже годом позже. Естественно, что у технологии столь старой и при этом по сей день активнейшим образом используемой просто не могли не накопиться особенности, неочевидные обыкновенным пользователям.
...
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
HighLoad++ 2017
Зал «Калининград», 8 ноября, 13:00
Тезисы:
http://www.highload.ru/2017/abstracts/3010.html
В этом докладе я расскажу, как BigData-платформа помогает трансформировать Почту России, как мы управляем построением и развитием платформы. Расскажу про найденные удачные решения, например, как разбиение на продукты с понятными SLA и интерфейсами между ними помогло нам сохранять управляемость с ростом масштабов проекта.
...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 10:00
Тезисы:
http://www.highload.ru/2017/abstracts/2914.html
Казалось бы, что нужно для организации тестового окружения? Тестовая железка и копия боевого окружения - и тестовый сервер готов. Но как быть, когда проект сложный? А когда большой? А если нужно тестировать одновременно много версий? А если все это вместе?
Организация тестирования большого развивающегося проекта, где одновременно в разработке и тестировании около полусотни фич - достаточно непростая задача. Ситуация обычно осложняется тем, что иногда есть желание потрогать еще не полностью готовый функционал. В таких ситуациях часто возникает вопрос: "А куда это можно накатить и где покликать?"
...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2854.html
Из этого доклада вы узнаете о возможностях репликации и автофейловера PostgreSQL, в том числе о возможностях, ставших доступных в PostgreSQL 10.
Среди прочих, будет затронуты следующие темы:
* Виды репликации и решаемые с ее помощью проблемы.
* Настройка потоковой репликации.
* Настройка логической репликации.
* Настройка автофейловера / HA средствами Stolon и Consul.
После прослушивания доклада вы сможете самостоятельно настраивать репликацию и автофейловер PostgreSQL.
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 17:00
Тезисы:
http://www.highload.ru/2017/abstracts/3096.html
PostgreSQL is the world’s most advanced open source database. Indeed! With around 270 configuration parameters in postgresql.conf, plus all the knobs in pg_hba.conf, it is definitely ADVANCED!
How many parameters do you tune? 1? 8? 32? Anyone ever tuned more than 64?
No tuning means below par performance. But how to start? Which parameters to tune? What are the appropriate values? Is there a tool --not just an editor like vim or emacs-- to help users manage the 700-line postgresql.conf file?
Join this talk to understand the performance advantages of appropriately tuning your postgresql.conf file, showcase a new free tool to make PostgreSQL configuration possible for HUMANS, and learn the best practices for tuning several relevant postgresql.conf parameters.
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 16:00
Тезисы:
http://www.highload.ru/2017/abstracts/3115.html
During this session we will cover the last development in ProxySQL to support regular expressions (RE2 and PCRE) and how we can use this strong technique in correlation with ProxySQL's query rules to anonymize live data quickly and transparently. We will explain the mechanism and how to generate these rules quickly. We show live demo with all challenges we got from the Community and we finish the session by an interactive brainstorm testing queries from the audience.
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 15:00
Тезисы:
http://www.highload.ru/2017/abstracts/2957.html
Расскажем о нашем опыте разработки модуля межсетевого экрана для MySQL с использованием генератора парсеров ANTLR и языка Kotlin.
Подробно рассмотрим следующие вопросы:
— когда и почему целесообразно использовать ANTLR;
— особенности разработки ANTLR-грамматики для MySQL;
— сравнение производительности рантаймов для ANTLR в рамках задачи синтаксического анализа MySQL (C#, Java, Kotlin, Go, Python, PyPy, C++);
— вспомогательные DSL;
— микросервисная архитектура модуля экранирования SQL;
— полученные результаты.
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/3114.html
ProxySQL aims to be the most powerful proxy in the MySQL ecosystem. It is protocol-aware and able to provide high availability (HA) and high performance with no changes in the application, using several built-in features and integration with clustering software. During this session we will quickly introduce its main features, so to better understand how it works. We will then describe multiple use case scenarios in which ProxySQL empowers large MySQL installations to provide HA with zero downtime, read/write split, query rewrite, sharding, query caching, and multiplexing using SSL across data centers.
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 13:00
Тезисы:
http://www.highload.ru/2017/abstracts/2954.html
MySQL Replication is powerful and has added a lot of advanced features through the years. In this presentation we will look into replication technology in MySQL 5.7 and variants focusing on advanced features, what do they mean, when to use them and when not, Including.
When should you use STATEMENT, ROW or MIXED binary log format?
What is GTID in MySQL and MariaDB and why do you want to use them?
What is semi-sync replication and how is it different from lossless semi-sync?
...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 12:00
Тезисы:
http://www.highload.ru/2017/abstracts/3120.html
Количество разработчиков мобильных приложений Сбербанк Онлайн с начала 2016 года выросло на порядок. Для того чтобы продолжать выпускать качественный продукт, мы кардинально перестраиваем процесс разработки.
Количество внутренних заказчиков тех или иных доработок в какой-то момент выросло настолько, что разработчики стали узким местом. Мы внедрили культуру разработки, которую можно условно назвать "внутренним open-source", сохранив за собой контроль над архитектурой и качеством проекта, но позволив разрабатывать новые фичи всем желающим.
...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
HighLoad++ 2017
Зал «Мумбай», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2836.html
При использовании Eventually Consistent распределенных баз данных нет гарантий, что чтение возвращает результаты последних изменений данных, если чтение и запись производятся на разных узлах. Это ограничивает пропускную способность системы. Поддержка свойства Causal Consistency снимает это ограничение, что позволяет улучшить масштабируемость, не требуя изменений в коде приложения.
...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
HighLoad++ 2017
Зал «Мумбай», 8 ноября, 16:00
Тезисы:
http://www.highload.ru/2017/abstracts/2858.html
Аудитория Одноклассников превышает 73 миллиона человек в России, СНГ и странах дальнего зарубежья. При этом ОК.ru - первая социальная сеть по просмотрам видео в рунете и крупнейшая сервисная платформа.
Качественный и количественный рост DDoS-атак за последние годы превращает их в одну из первоочередных проблем для крупнейших интернет-ресурсов. В зависимости от вектора атаки “узким” местом становится та или иная часть инфраструктуры. В частности, при SYN-flood первый удар приходится на систему балансировки трафика. От ее производительности зависит успех в противостоянии атаке.
...
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
HighLoad++ 2017
Зал «Мумбай», 8 ноября, 15:00
Тезисы:
http://www.highload.ru/2017/abstracts/3008.html
Никогда не было и вот снова случилось! Компания Google в результате перенаправления трафика сделала недостпуными в Японии несколько тысяч различных сервисов, большинство из которых никак не связано с самой компанией Google. Однако, подобные инциденты происходят с завидной регулярностью, вот только не всегда попадают в большие СМИ. У таких инцидентов могут быть разные причины, начиная от ошибок сетевых инженеров и заканчивая государственным регулированием.
...
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
HighLoad++ 2017
Зал «Мумбай», 8 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/2925.html
Облака и виртуализация – современные тренды развития IT-технологий. Операторы связи строят свои TelcoClouds на стандартах NFV (Network Functions Virtualization) и SDN (Software-Defined Networking). В докладе начнем с основ виртуализации, далее разберемся, для чего используются NFV и SDN, потом полетим к облакам и вернемся на землю для решения практических задач!
...
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
HighLoad++ 2017
Зал «Мумбай», 8 ноября, 10:00
Тезисы:
http://www.highload.ru/2017/abstracts/3045.html
Как мы заставили Druid работать в Одноклассниках.
«Druid is a high-performance, column-oriented, distributed data store» http://druid.io.
Мы расскажем о том, как, внедрив Druid, мы справились с ситуацией, когда MSSQL-based система статистики на 50 терабайт стала:
- медленной: средняя скорость ответа была в разы меньше требуемой (и увеличилась в 20 раз);
- нестабильной: в час пик статистика отставала до получаса (теперь ничего не отстает);
- дорогой: изменилась политика лицензирования Microsoft, расходы на лицензии могли составить миллионы долларов.
...
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2905.html
Прошло более года с того момента, как Microsoft выпустила первую версию своего нового фреймворка для разработки web-приложений ASP.NET Core, и с каждым днем он находит все больше поклонников. ASP.NET Core базируется на платформе .NET Core, кроссплатформенной версии платформы .NET c открытым исходным кодом. Теперь у С#-разработчиков появилась возможность использовать Mac в качестве среды разработки, и запускать приложения на Linux или внутри Docker-контейнеров.
...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/2913.html
Изначально будут раскрыты базовые причины, которые заставили появиться такой части механизма СУБД, как кэш результатов, и почему в ряде СУБД он есть или отсутствует.
Будут рассмотрены различные варианты кэширования результатов как sql-запросов, так и результатов хранимой в БД бизнес-логики. Произведено сравнение способов кэширования (программируемые вручную кэши, стандартный функционал) и даны рекомендации, когда и в каких случаях данные способы оптимальны, а порой опасны.
...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 13:00
Тезисы:
http://www.highload.ru/2017/abstracts/2947.html
Apache Ignite — Open Source платформа для высокопроизводительной распределенной работы с большими данными с применением SQL или Java/.NET/C++ API. Ignite используют в самых разных отраслях. Сбербанк, ING, RingCentral, Microsoft, e-Therapeutics — все эти компании применяют решения на основе Ignite. Размеры кластеров разнятся от всего одного узла до нескольких сотен, узлы могут быть расположены в одном ЦОД-е или в нескольких геораспределенных.
...
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 12:00
Тезисы:
http://www.highload.ru/2017/abstracts/3005.html
Когда мы говорим о нагруженных системах и базах данных с большим числом параллельных коннектов, особый интерес представляет практика эксплуатации и сопровождения таких проектов. В том числе инструменты и механизмы СУБД, которые могут быть использованы DBA и DevOps-инженерами для решения задач мониторинга жизнедеятельности базы данных и ранней диагностики возможных проблем.
...
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Sinan KOZAK
Sinan from the Delivery Hero mobile infrastructure engineering team shares a deep dive into performance acceleration with Gradle build cache optimizations. Sinan shares their journey into solving complex build-cache problems that affect Gradle builds. By understanding the challenges and solutions found in our journey, we aim to demonstrate the possibilities for faster builds. The case study reveals how overlapping outputs and cache misconfigurations led to significant increases in build times, especially as the project scaled up with numerous modules using Paparazzi tests. The journey from diagnosing to defeating cache issues offers invaluable lessons on maintaining cache integrity without sacrificing functionality.
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
Embedded machine learning-based road conditions and driving behavior monitoringIJECEIAES
Car accident rates have increased in recent years, resulting in losses in human lives, properties, and other financial costs. An embedded machine learning-based system is developed to address this critical issue. The system can monitor road conditions, detect driving patterns, and identify aggressive driving behaviors. The system is based on neural networks trained on a comprehensive dataset of driving events, driving styles, and road conditions. The system effectively detects potential risks and helps mitigate the frequency and impact of accidents. The primary goal is to ensure the safety of drivers and vehicles. Collecting data involved gathering information on three key road events: normal street and normal drive, speed bumps, circular yellow speed bumps, and three aggressive driving actions: sudden start, sudden stop, and sudden entry. The gathered data is processed and analyzed using a machine learning system designed for limited power and memory devices. The developed system resulted in 91.9% accuracy, 93.6% precision, and 92% recall. The achieved inference time on an Arduino Nano 33 BLE Sense with a 32-bit CPU running at 64 MHz is 34 ms and requires 2.6 kB peak RAM and 139.9 kB program flash memory, making it suitable for resource-constrained embedded systems.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELgerogepatton
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
12. Who We Are
Alex Khaerov
a Unit Manager at Ingram Micro Cloud
13. Who We Are
and the Great Team of Engineers
Alex Khaerov
a Unit Manager at Ingram Micro Cloud
14. Who We Are
and the Great Team of Engineers
@themaxbelov @ToxicWar @weglov@spukst3r
Alex Khaerov
a Unit Manager at Ingram Micro Cloud
15. Who We Are
@themaxbelov @ToxicWar @weglov
and the Great Team of voxel jedis, optimisation masters, gurus of the 3d, lords of the big data
@spukst3r
Alex Khaerov
a Unit Manager at Ingram Micro Cloud
40. multi-player
2D computer graphics2D 3D computer graphics
hyped techhyped Virtual Reality tech
Features Concessions
multi-player and networked
The Game
41. multi-player
2D computer graphics2D 3D computer graphics
hyped techhyped Virtual Reality tech
client-based
Features Concessions
multi-player and networked
The Game
42. multi-player
2D computer graphics2D 3D computer graphics
hyped techhyped Virtual Reality tech
client-based Browser
Features Concessions
multi-player and networked
The Game
43. multi-player
2D computer graphics2D 3D computer graphics
hyped techhyped Virtual Reality tech
client-based Browser
voxel “block-style” objects
Features Concessions
multi-player and networked
The Game
44. multi-player
2D computer graphics2D 3D computer graphics
hyped techhyped Virtual Reality tech
client-based Browser
voxel “block-style” objects
Features Concessions
multi-player and networked
The Game
45. multi-player
2D computer graphics2D 3D computer graphics
hyped techhyped Virtual Reality tech
client-based Browser
voxel “block-style” objects
Features Concessions
multi-player and networked
The Game
46. multi-player
2D computer graphics2D 3D computer graphics
hyped techhyped Virtual Reality tech
client-based Browser
voxel “block-style” objects
Features Concessions
world size 1000x1000x200
multi-player and networked
The Game
69. Active Passive
+ Robust to de-sync+ Easy to understand
+ More efficient
- Fragile
Replication problem
70. Active Passive
+ Robust to de-sync+ Easy to understand
+ More efficient
- Fragile
+ Easier to secure
Replication problem
71. Active Passive
+ Robust to de-sync+ Easy to understand
+ More efficient
- Fragile - Single point of failure
+ Easier to secure
Replication problem
72. Active Passive
+ Robust to de-sync+ Easy to understand
+ More efficient
- Fragile - Single point of failure
+ Easier to secure
✔
Replication problem
115. Game-backend
Python 3.6 + aiohttp
uvloop
implemented in Cython and uses libuv
motor
full-featured, non-blocking MongoDB driver for Python
116. Game-backend
Python 3.6 + aiohttp
uvloop
implemented in Cython and uses libuv
motor
full-featured, non-blocking MongoDB driver for Python
gunicorn
Python WSGI HTTP Server for UNIX
122. Game-frontend
Native JavaScript and WebGL?Native JavaScript and WebGL?
Voxel.js
an open source voxel game building toolkit for modern web browsers
123. Game-frontend
Native JavaScript and WebGL?Native JavaScript and WebGL?
Voxel.js
an open source voxel game building toolkit for modern web browsers
a-la minecraft world (X, Y, Z)
124. Game-frontend
Native JavaScript and WebGL?Native JavaScript and WebGL?
Voxel.js
an open source voxel game building toolkit for modern web browsers
a-la minecraft world (X, Y, Z)
voxels (blocks) / chunks
125. Game-frontend
Native JavaScript and WebGL?Native JavaScript and WebGL?
Voxel.js
an open source voxel game building toolkit for modern web browsers
a-la minecraft world (X, Y, Z)
voxels (blocks) / chunks
AABB: Bounding volume
126. Game-frontend
Native JavaScript and WebGL?Native JavaScript and WebGL?
Voxel.js
an open source voxel game building toolkit for modern web browsers
a-la minecraft world (X, Y, Z)
voxels (blocks) / chunks
AABB: Bounding volume
A 3D model with its bounding box drawn in dashed lines.
127. Game-frontend
Native JavaScript and WebGL?Native JavaScript and WebGL?
Voxel.js
an open source voxel game building toolkit for modern web browsers
a-la minecraft world (X, Y, Z)
voxels (blocks) / chunks
AABB: Bounding volume
128. Game-frontend
Native JavaScript and WebGL?Native JavaScript and WebGL?
Voxel.js
an open source voxel game building toolkit for modern web browsers
a-la minecraft world (X, Y, Z)
voxels (blocks) / chunks
Ray castingAABB: Bounding volume
129. Game-frontend
Native JavaScript and WebGL?Native JavaScript and WebGL?
Voxel.js
an open source voxel game building toolkit for modern web browsers
a-la minecraft world (X, Y, Z)
voxels (blocks) / chunks
Ray castingAABB: Bounding volume
Ray casting
130. Game-frontend
Native JavaScript and WebGL?Native JavaScript and WebGL?
Voxel.js
an open source voxel game building toolkit for modern web browsers
a-la minecraft world (X, Y, Z)
voxels (blocks) / chunks
Ray castingAABB: Bounding volume
131. Game-frontend
Native JavaScript and WebGL?Native JavaScript and WebGL?
Voxel.js
an open source voxel game building toolkit for modern web browsers
a-la minecraft world (X, Y, Z)
voxels (blocks) / chunks
Ray castingAABB: Bounding volume Textures
132. Game-frontend
Native JavaScript and WebGL?Native JavaScript and WebGL?
Voxel.js
an open source voxel game building toolkit for modern web browsers
a-la minecraft world (X, Y, Z)
voxels (blocks) / chunks
Ray castingAABB: Bounding volume
player with controls
Textures
133. Game-frontend
Native JavaScript and WebGL?Native JavaScript and WebGL?
Voxel.js
an open source voxel game building toolkit for modern web browsers
a-la minecraft world (X, Y, Z)
voxels (blocks) / chunks
Ray casting
game events (tick/setBlock/collision/renderChunk)
AABB: Bounding volume
player with controls
Textures
139. Game-frontend
voxel.js
your
code
three.js WebGL
Browser
Hardware OpenGL
Driver
Display Mngt System
Creating the scene
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth /
window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );
function animate() {
requestAnimationFrame( animate );
renderer.render( scene, camera );
}
140. Game-frontend
voxel.js
your
code
three.js WebGL
Browser
Hardware OpenGL
Driver
Display Mngt System
Creating the scene
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth /
window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );
function animate() {
requestAnimationFrame( animate );
renderer.render( scene, camera );
}
141. Game-frontend
voxel.js
your
code
three.js WebGL
Browser
Hardware OpenGL
Driver
Display Mngt System
Creating the scene
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth /
window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );
function animate() {
requestAnimationFrame( animate );
renderer.render( scene, camera );
}
142. Game-frontend
voxel.js
your
code
three.js WebGL
Browser
Hardware OpenGL
Driver
Display Mngt System
Creating the scene
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth /
window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );
function animate() {
requestAnimationFrame( animate );
renderer.render( scene, camera );
}
143. Game-frontend
voxel.js
your
code
three.js WebGL
Browser
Hardware OpenGL
Driver
Display Mngt System
Creating the scene
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth /
window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );
function animate() {
requestAnimationFrame( animate );
renderer.render( scene, camera );
}
144. Game-frontend
voxel.js
your
code
three.js WebGL
Browser
Hardware OpenGL
Driver
Display Mngt System
Creating the scene
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth /
window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );
function animate() {
requestAnimationFrame( animate );
renderer.render( scene, camera );
}