Merge pull request #12 from Bouncey/feat/featureBuild
Feat/feature build
This commit is contained in:
committed by
Mrugesh Mohapatra
parent
28fcbc0970
commit
9a4fa06fad
@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Introduction to the React and Redux Challenges
|
||||
block: React and Redux
|
||||
superBlock: Front End Libraries
|
||||
---
|
||||
## Introduction to the React and Redux Challenges
|
||||
|
||||
This is a stub introduction.
|
@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Introduction to the React Challenges
|
||||
block: React
|
||||
superBlock: Front End Libraries
|
||||
---
|
||||
## Introduction to the React Challenges
|
||||
|
||||
This is a stub introduction.
|
@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Introduction to the Redux Challenges
|
||||
block: Redux
|
||||
superBlock: Front End Libraries
|
||||
---
|
||||
## Introduction to the Redux Challenges
|
||||
|
||||
This is a stub introduction.
|
@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Introduction to the Advances Node and Express Challenges
|
||||
block: Advanced Node and Express
|
||||
superBlock: Information Security and Quality Assurance
|
||||
---
|
||||
## Introduction to Advanced Node and Express Challenges
|
||||
|
||||
This is a stub introduction
|
@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Introduction to the Quality Assurance with Chai Challenges
|
||||
block: Quality Assurance with Chai
|
||||
superBlock: Information Security and Quality Assurance
|
||||
---
|
||||
## Introduction to Quality Assurance with Chai Challenges
|
||||
|
||||
This is a stub introduction
|
@ -1,12 +1,8 @@
|
||||
---
|
||||
title: Introduction to Objects
|
||||
title: Introduction to the Basic Data Structure Challenges
|
||||
block: Basic Data Structures
|
||||
superBlock: JavaScript Algorithms and Data Structures
|
||||
---
|
||||
## Introduction to Objects
|
||||
|
||||
The next data structure we will discuss is the JavaScript <dfn>object</dfn>. Like arrays, objects are a fundamental part of JavaScript. However, it is probably safe to say that objects surpass arrays in flexibility, usefulness and in their overall importance to the language — in fact, you may have heard this line before: 'In JavaScript, everything is an object.'<br><br>While an understanding of objects is important to understand the inner workings of JavaScript functions or JavaScript's object-oriented capabilities, JavaScript objects at a basic level are actually just <dfn>key-value pair</dfn> stores, a commonly used data structure across almost all programming languages. Here, we will confine our discussion to JavaScript objects in this capacity.
|
||||
Key-value pair data structures go by different names depending on the language and the specific details of the data structure. The terms <dfn>dictionary</dfn>, <dfn>map</dfn>, and <dfn>hash table</dfn> all refer to the notion of a data structure in which specific keys, or properties, are mapped to specific values.<br><br>Objects, and other similar key-value pair data structures, offer some very useful benefits. One clear benefit is that they allow us to structure our data in an intuitive way; properties can be nested to an arbitrary depth, and values can be anything, including arrays and even other objects.<br><br>Largely due to this flexibility, objects are also the foundation for <dfn>JavaScript Object Notation</dfn>, or <dfn>JSON</dfn>, which is a widely used method of sending data across the web.
|
||||
Another powerful advantage of key-value pair data structures is <dfn>constant lookup time</dfn>. What this means, is that when you request the value of a specific property, you will get the value back in the same amount of time (theoretically) regardless of the number of entries in the object. If you had an object with 5 entries or one that held a collection of 1,000,000, you could still retrieve property values or check if a key exists in the same amount of time.<br><br>The reason for this fast lookup time, is that internally, the object is storing properties using a hashing mechanism which allows it to know exactly where it has stored different property values. If you want to learn more about this please take a look at the optional Advanced Data Structures challenges. All you should remember for now is that <strong>performant access to flexibly structured data make key-value stores very attractive data structures useful in a wide variety of settings</strong>.
|
||||
<br><br>In JavaScript, objects are written as comma-separated lists of key-value pairs, wrapped in curly brackets, with each key and its assigned value separated by a colon:<br> <code>{ key1: 'val-1', key2: 'val-2' }</code><br><br>In the next few challenges, we will examine JavaScript objects more closely, and take a look at <dfn>methods</dfn> and techniques that allow us to access, store, and manipulate an object's data.<br><br>Note that throughout the scope of this discussion, and in general when considering JavaScript objects, the terms <dfn>key</dfn> and <dfn>property</dfn> will be used interchangeably.
|
||||
## Introduction to the Basic Data Structure Challenges
|
||||
|
||||
This is a stub introduction
|
@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Introduction to the Intermediate Algorithm Scripting Challenges
|
||||
block: Intermediate Algorithm Scripting
|
||||
superBlock: JavaScript Algorithms and Data Structures
|
||||
---
|
||||
## Introduction to the Intermediate Algorithm Scripting Challenges
|
||||
|
||||
This is a stub introduction
|
@ -24,23 +24,25 @@ const Layout = ({ children, data: { allChallengeNode: { edges } } }) => (
|
||||
]}
|
||||
/>
|
||||
<Header />
|
||||
<ReflexContainer className='app-wrapper' orientation='vertical'>
|
||||
<ReflexElement flex={0.2} minSize={100}>
|
||||
<aside id='map'>
|
||||
<Map
|
||||
nodes={edges
|
||||
.map(({ node }) => node)
|
||||
.filter(({ isPrivate }) => !isPrivate)}
|
||||
/>
|
||||
</aside>
|
||||
</ReflexElement>
|
||||
<div className='app-wrapper'>
|
||||
<ReflexContainer orientation='vertical'>
|
||||
<ReflexElement flex={0.2} minSize={100}>
|
||||
<aside id='map'>
|
||||
<Map
|
||||
nodes={edges
|
||||
.map(({ node }) => node)
|
||||
.filter(({ isPrivate }) => !isPrivate)}
|
||||
/>
|
||||
</aside>
|
||||
</ReflexElement>
|
||||
|
||||
<ReflexSplitter />
|
||||
<ReflexSplitter />
|
||||
|
||||
<ReflexElement>
|
||||
<main>{children()}</main>
|
||||
</ReflexElement>
|
||||
</ReflexContainer>
|
||||
<ReflexElement>
|
||||
<main>{children()}</main>
|
||||
</ReflexElement>
|
||||
</ReflexContainer>
|
||||
</div>
|
||||
</Fragment>
|
||||
);
|
||||
|
||||
|
@ -1,6 +1,3 @@
|
||||
.app-wrapper {
|
||||
max-height: calc(100vh - (45px + 1.45rem));
|
||||
}
|
||||
|
||||
main {
|
||||
height: 100%;
|
||||
@ -9,17 +6,21 @@ main {
|
||||
.reflex-layout.vertical > .reflex-splitter,
|
||||
.reflex-layout > .reflex-element {
|
||||
/*
|
||||
Note(Bouncey): removing height: 100% makes the element 100% high ¯\_(ツ)_/¯
|
||||
Note(Bouncey): removing height: 100% makes the element 100% high ¯\_(ツ)_/¯
|
||||
*/
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.reflex-layout.vertical .reflex-splitter:hover {
|
||||
border-left: 2px solid #006400 !important;
|
||||
border-right: 2px solid #006400 !important;
|
||||
background-color: #006400;
|
||||
border-left: 2px solid #006400 !important;
|
||||
border-right: 2px solid #006400 !important;
|
||||
background-color: #006400;
|
||||
}
|
||||
|
||||
.reflex-layout.vertical > .reflex-splitter{
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
.app-wrapper {
|
||||
height: calc(100vh - (38px + 0.45rem));
|
||||
}
|
@ -20,7 +20,8 @@ import {
|
||||
initConsole,
|
||||
updateConsole,
|
||||
checkChallenge,
|
||||
updateTests
|
||||
updateTests,
|
||||
disableJSOnError
|
||||
} from './';
|
||||
import { buildFromFiles } from '../utils/build';
|
||||
import {
|
||||
@ -101,7 +102,7 @@ function executeChallengeEpic(action$, { getState }, { document }) {
|
||||
.do(frameTests)
|
||||
.ignoreElements()
|
||||
.startWith(initConsole('// running test'))
|
||||
.catch(err => console.log(err));
|
||||
.catch(err => disableJSOnError(err));
|
||||
})
|
||||
);
|
||||
return merge(buildAndFrameChallenge, challengeResults);
|
||||
|
Reference in New Issue
Block a user