mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-05-28 18:26:54 +00:00
Switch to secure images
Switching non imgur links
@@ -6,7 +6,7 @@
|
|||||||
2. Open Varpanel.
|
2. Open Varpanel.
|
||||||
3. In PATH variable, add the relevant path (for example).
|
3. In PATH variable, add the relevant path (for example).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Via Command Line
|
### Via Command Line
|
||||||
|
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ If you are a user of sublime text (I hope you are, it kicks ass. You can get it
|
|||||||
|
|
||||||
Here's an example, which activates after typing `div` and then tab:
|
Here's an example, which activates after typing `div` and then tab:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Step 1.
|
## Step 1.
|
||||||
|
|
||||||
Click `Tools > New Snippet...` in the navigation bar. This will open a snippet skeletton file which will look like this:
|
Click `Tools > New Snippet...` in the navigation bar. This will open a snippet skeletton file which will look like this:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Step 2.
|
## Step 2.
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm Arguments Optional
|
# Algorithm Arguments Optional
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Explanation:
|
### Explanation:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm Binary Agents
|
# Algorithm Binary Agents
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Explanation:
|
### Explanation:
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm Boo Who
|
# Algorithm Boo Who
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Problem Explanation:
|
### Problem Explanation:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm Check for Palindromes
|
# Algorithm Check for Palindromes
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Explanation:
|
### Explanation:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm Chunky Monkey
|
# Algorithm Chunky Monkey
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Explanation
|
### Explanation
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm Confirm the Ending
|
# Algorithm Confirm the Ending
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Explanation:
|
### Explanation:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm Convert HTML Entities
|
# Algorithm Convert HTML Entities
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Problem Explanation:
|
### Problem Explanation:
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm DNA Pairing
|
# Algorithm DNA Pairing
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Problem Explanation:
|
### Problem Explanation:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm Diff Two Arrays
|
# Algorithm Diff Two Arrays
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
:triangular_flag_on_post: Remember to use [**`Read-Search-Ask`**](FreeCodeCamp-Get-Help) if you get stuck. Try to pair program :busts_in_silhouette: and write your own code :memo:
|
:triangular_flag_on_post: Remember to use [**`Read-Search-Ask`**](FreeCodeCamp-Get-Help) if you get stuck. Try to pair program :busts_in_silhouette: and write your own code :memo:
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm Drop It
|
# Algorithm Drop It
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Explanation:
|
### Explanation:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm Everything Be True
|
# Algorithm Everything Be True
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Explanation:
|
### Explanation:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm Factorialize A Number
|
# Algorithm Factorialize A Number
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Problem Explanation:
|
### Problem Explanation:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm Map the Debris
|
# Algorithm Map the Debris
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Problem Explanation:
|
### Problem Explanation:
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ This task can still be daunting even after watching a tutorial. You will want to
|
|||||||
|
|
||||||
Another way to think about this problem is to start from an empty space. Introduce the first letter to the space. This space will now contain the first sub-permutation. Here's a diagram illustrating the idea:
|
Another way to think about this problem is to start from an empty space. Introduce the first letter to the space. This space will now contain the first sub-permutation. Here's a diagram illustrating the idea:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
// An approach to introduce a new character to a permutation
|
// An approach to introduce a new character to a permutation
|
||||||
@@ -48,7 +48,7 @@ for(var i = 0; i <= source.length; ++i) {
|
|||||||
|
|
||||||
Finding each permutation could then be done non-recursively by including the above in a function taking a source array and returning a destination array. For each letter of the input string, pass that character, as well as the array returned from the previous call of the function.
|
Finding each permutation could then be done non-recursively by including the above in a function taking a source array and returning a destination array. For each letter of the input string, pass that character, as well as the array returned from the previous call of the function.
|
||||||
|
|
||||||
A way to visualize this is by considering a tree that starts with the first character of your string: 
|
A way to visualize this is by considering a tree that starts with the first character of your string: 
|
||||||
|
|
||||||
## Hint: 1
|
## Hint: 1
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algorithm Where Art Thou
|
# Algorithm Where Art Thou
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Problem Explanation
|
### Problem Explanation
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@ To learn about Merge Sort, a basic knowledge about [Recursion](http://programmer
|
|||||||
The biggest advantage of using Merge sort is that the [time complexity](https://www.youtube.com/watch?v=V42FBiohc6c&list=PL2_aWCzGMAwI9HK8YPVBjElbLbI3ufctn) is only n*log(n) to sort an entire Array. It is a lot better than n^2 running time of bubble sort or insertion sort.
|
The biggest advantage of using Merge sort is that the [time complexity](https://www.youtube.com/watch?v=V42FBiohc6c&list=PL2_aWCzGMAwI9HK8YPVBjElbLbI3ufctn) is only n*log(n) to sort an entire Array. It is a lot better than n^2 running time of bubble sort or insertion sort.
|
||||||
Before we write the JavaScript code, let us understand how merge sort works with the help of a diagram.
|
Before we write the JavaScript code, let us understand how merge sort works with the help of a diagram.
|
||||||
|
|
||||||
![alt tag] (http://i67.tinypic.com/2ahe49y.png)
|
![alt tag] (https://i67.tinypic.com/2ahe49y.png)
|
||||||
|
|
||||||
- Initially we have an array of 6 unsorted integers Arr(5, 8, 3, 9, 1, 2)
|
- Initially we have an array of 6 unsorted integers Arr(5, 8, 3, 9, 1, 2)
|
||||||
- We split the array into two halves Arr1 = (5, 8, 3) and Arr2 = (9, 1, 2).
|
- We split the array into two halves Arr1 = (5, 8, 3) and Arr2 = (9, 1, 2).
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
The number beside your picture on Free Code Camp tells you how many Brownie Points you have.
|
The number beside your picture on Free Code Camp tells you how many Brownie Points you have.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
There are two ways you can get Brownie Points:
|
There are two ways you can get Brownie Points:
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -39,11 +39,11 @@ So now you have your toolkit but you ask "What do I do with my tools, how do I u
|
|||||||
|
|
||||||
This is what out container looks like without `display: flex;`
|
This is what out container looks like without `display: flex;`
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
After adding `display: flex;` we get the below, the default flex properties are applied causing it to show as such
|
After adding `display: flex;` we get the below, the default flex properties are applied causing it to show as such
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Flex Direction
|
### Flex Direction
|
||||||
|
|
||||||
@@ -53,19 +53,19 @@ Flexbox applies row as the default for the direction. Here is what they all look
|
|||||||
|
|
||||||
`flex-direction: row;`
|
`flex-direction: row;`
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
`flex-direction: row-reverse;`
|
`flex-direction: row-reverse;`
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
`flex-direction: column;`
|
`flex-direction: column;`
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
`flex-direction: column-reverse;`
|
`flex-direction: column-reverse;`
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Flex Wrap
|
### Flex Wrap
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ Here is a simple HTML template which includes the latest compiled and minified C
|
|||||||
```
|
```
|
||||||
|
|
||||||
<kbd>
|
<kbd>
|
||||||
<a href="http://jsbin.com/gebolikiru/edit?html,output"><img src="http://i.imgur.com/wBLOt8L.png"> <strong>JSBin Demo</strong></a>
|
<a href="http://jsbin.com/gebolikiru/edit?html,output"><img src="https://i.imgur.com/wBLOt8L.png"> <strong>JSBin Demo</strong></a>
|
||||||
</kbd>
|
</kbd>
|
||||||
|
|
||||||
We have used a CDN in this example, but you can checkout other ways of installing Foundation [here](http://foundation.zurb.com/sites/download/).
|
We have used a CDN in this example, but you can checkout other ways of installing Foundation [here](http://foundation.zurb.com/sites/download/).
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ Here is a simple HTML template which includes the latest compiled and minified C
|
|||||||
```
|
```
|
||||||
|
|
||||||
<kbd>
|
<kbd>
|
||||||
<a href="http://jsbin.com/sekojaxali/edit?html,output"><img src="http://i.imgur.com/wBLOt8L.png"> <strong>JSBin Demo</strong></a>
|
<a href="http://jsbin.com/sekojaxali/edit?html,output"><img src="https://i.imgur.com/wBLOt8L.png"> <strong>JSBin Demo</strong></a>
|
||||||
</kbd>
|
</kbd>
|
||||||
|
|
||||||
We have used a CDN in this example, but you can checkout other ways of installing Skeleton [here](https://github.com/dhg/Skeleton#getting-started).
|
We have used a CDN in this example, but you can checkout other ways of installing Skeleton [here](https://github.com/dhg/Skeleton#getting-started).
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
# Clojure
|
# Clojure
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[Clojure](https://clojure.org/) is a dialect of Lisp with a focus on functional programming. It was released in 2007 by Rich Hickey, and has since gained a lot of popularity among web developers.
|
[Clojure](https://clojure.org/) is a dialect of Lisp with a focus on functional programming. It was released in 2007 by Rich Hickey, and has since gained a lot of popularity among web developers.
|
||||||
|
|
||||||
|
|||||||
+7
-7
@@ -39,12 +39,12 @@ See also: ☛ [**How to type Backticks**](Code-Formatting#typing-backticks) |
|
|||||||
|
|
||||||
### QWERTY Estonian (Key's that have been marked with red border)
|
### QWERTY Estonian (Key's that have been marked with red border)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[1]: http://en.wikipedia.org/wiki/Dead_key
|
[1]: http://en.wikipedia.org/wiki/Dead_key
|
||||||
[2]: http://i.stack.imgur.com/TOn1U.png
|
[2]: https://i.stack.imgur.com/TOn1U.png
|
||||||
[3]: http://i.stack.imgur.com/TOn1U.png
|
[3]: https://i.stack.imgur.com/TOn1U.png
|
||||||
[4]: http://i.stack.imgur.com/BTBIE.png
|
[4]: https://i.stack.imgur.com/BTBIE.png
|
||||||
[5]: http://i.stack.imgur.com/BTBIE.png
|
[5]: https://i.stack.imgur.com/BTBIE.png
|
||||||
[6]: http://i.stack.imgur.com/9o9hM.png
|
[6]: https://i.stack.imgur.com/9o9hM.png
|
||||||
[7]: http://i.stack.imgur.com/9o9hM.png
|
[7]: https://i.stack.imgur.com/9o9hM.png
|
||||||
|
|||||||
@@ -6,4 +6,4 @@
|
|||||||
- Crop, Resize and Optimize as many times or as required.
|
- Crop, Resize and Optimize as many times or as required.
|
||||||
4. Download animated GIF.
|
4. Download animated GIF.
|
||||||
5. Upload image to [imgur.com](http://imgur.com).
|
5. Upload image to [imgur.com](http://imgur.com).
|
||||||
6. Link image using ``.
|
6. Link image using ``.
|
||||||
|
|||||||
+1
-1
@@ -2,4 +2,4 @@
|
|||||||
|
|
||||||
> Editing or Deleting a previous message within 10 mins. of posting
|
> Editing or Deleting a previous message within 10 mins. of posting
|
||||||
|
|
||||||

|

|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Here's how to earn our verified Back End Development Certification
|
# Here's how to earn our verified Back End Development Certification
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
1. API Projects
|
1. API Projects
|
||||||
2. Dynamic Web Application Projects
|
2. Dynamic Web Application Projects
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ When this happens, you must delete the value in `localStorage` storing that resp
|
|||||||
- Navigate to the `Resources` tab
|
- Navigate to the `Resources` tab
|
||||||
- Expand the `Local Storage` item in the left pane
|
- Expand the `Local Storage` item in the left pane
|
||||||
- Select `http://www.freecodecamp.com`
|
- Select `http://www.freecodecamp.com`
|
||||||
- Find the challenge you wish to delete data in the right pane 
|
- Find the challenge you wish to delete data in the right pane 
|
||||||
- Right click the desired challenge and select `Delete`
|
- Right click the desired challenge and select `Delete`
|
||||||
|
|
||||||
## In Firefox:
|
## In Firefox:
|
||||||
@@ -27,10 +27,10 @@ When this happens, you must delete the value in `localStorage` storing that resp
|
|||||||
- From there, using directly the console:
|
- From there, using directly the console:
|
||||||
|
|
||||||
- Type `console.log(localStorage);` and hit `Enter`.
|
- Type `console.log(localStorage);` and hit `Enter`.
|
||||||
- Click in `Storage` link. 
|
- Click in `Storage` link. 
|
||||||
- The **Storage** panel will appear at right.
|
- The **Storage** panel will appear at right.
|
||||||
- Filter the results to find the Algorithm, Front End Project or Challenge causing the problem.
|
- Filter the results to find the Algorithm, Front End Project or Challenge causing the problem.
|
||||||
- When located, mouse over it and click the `x` at right. 
|
- When located, mouse over it and click the `x` at right. 
|
||||||
- Once removed, check if the problem was solved. Refresh or close and open the browser if necessary.
|
- Once removed, check if the problem was solved. Refresh or close and open the browser if necessary.
|
||||||
|
|
||||||
**Note:** This can also be done with the [Storage Inspector](https://developer.mozilla.org/en-US/docs/Tools/Storage_Inspector), but seems like Firefox hangs out when there are so many values.
|
**Note:** This can also be done with the [Storage Inspector](https://developer.mozilla.org/en-US/docs/Tools/Storage_Inspector), but seems like Firefox hangs out when there are so many values.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Here's how to earn our verified Data Visualization Certification
|
# Here's how to earn our verified Data Visualization Certification
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
1. React Projects
|
1. React Projects
|
||||||
2. Data Visualization Projects
|
2. Data Visualization Projects
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Here's how to earn our verified Front End Development Certification
|
# Here's how to earn our verified Front End Development Certification
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
1. Complete all of our current Basic Algorithms
|
1. Complete all of our current Basic Algorithms
|
||||||
2. Complete all of our current Basic Front End Projects
|
2. Complete all of our current Basic Front End Projects
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
In order to participate in our nonprofit projects, you first need to earn our Full Stack Development Certification. This certification signifies that you've completed the first 800 hours of our curriculum.
|
In order to participate in our nonprofit projects, you first need to earn our Full Stack Development Certification. This certification signifies that you've completed the first 800 hours of our curriculum.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Here's how to earn our verified Full Stack Development Certification:
|
## Here's how to earn our verified Full Stack Development Certification:
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -4,8 +4,8 @@ Shows what revision and author last modified each line of a file and blame them.
|
|||||||
|
|
||||||
:point_right: :no_good: -- :see_no_evil: :hear_no_evil: :speak_no_evil:
|
:point_right: :no_good: -- :see_no_evil: :hear_no_evil: :speak_no_evil:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
**Reference:** <https://git-scm.com/docs/git-blame>
|
**Reference:** <https://git-scm.com/docs/git-blame>
|
||||||
|
|
||||||
## [](http://i.imgur.com/xancoby.png)
|
## [](https://i.imgur.com/xancoby.png)
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@ Our open source community's Wiki focuses on answering your questions about learn
|
|||||||
- Local Group Communities
|
- Local Group Communities
|
||||||
- Nonprofit Projects
|
- Nonprofit Projects
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The best way to access this wiki is via [CamperBot](CamperBot), located in our Gitter channels. CamperBot is a community designed tool useful for accessing our wiki content without ever leaving Gitter.
|
The best way to access this wiki is via [CamperBot](CamperBot), located in our Gitter channels. CamperBot is a community designed tool useful for accessing our wiki content without ever leaving Gitter.
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ During my first semester in college, we had a course about introduction to algor
|
|||||||
|
|
||||||
A **flowchart** represents your program flow from top to bottom. Each command is represented on this. Depending on the nature of the command there are different shapes you can use. A few of them that I mostly use (you can google more on this, google is your friend when you know what to google for) are:
|
A **flowchart** represents your program flow from top to bottom. Each command is represented on this. Depending on the nature of the command there are different shapes you can use. A few of them that I mostly use (you can google more on this, google is your friend when you know what to google for) are:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
More information about this you can find here <https://en.wikipedia.org/wiki/Flowchart>.
|
More information about this you can find here <https://en.wikipedia.org/wiki/Flowchart>.
|
||||||
|
|
||||||
|
|||||||
@@ -13,4 +13,4 @@
|
|||||||
- Try to solve the problem in more than one way, always try to make it better, more readable, a lower complexity time, less memory
|
- Try to solve the problem in more than one way, always try to make it better, more readable, a lower complexity time, less memory
|
||||||
- If none of the above steps work, ask for help :)
|
- If none of the above steps work, ask for help :)
|
||||||
|
|
||||||

|

|
||||||
|
|||||||
+1
-1
@@ -61,7 +61,7 @@ See Also: :loop: [**Quick JS**](https://github.com/freecodecamp/freecodecamp/wik
|
|||||||
|
|
||||||
## CoderPad Demo Access Forever
|
## CoderPad Demo Access Forever
|
||||||
|
|
||||||
[](http://i.imgur.com/PQQjg9k.gif)
|
[](https://i.imgur.com/PQQjg9k.gif)
|
||||||
|
|
||||||
- [Eloquent Javascript](http://www.eloquentjavascript.net)<br>
|
- [Eloquent Javascript](http://www.eloquentjavascript.net)<br>
|
||||||
Fantastic, thorough introduction to the basics and features of Javascript, complete with in-browser interactive code
|
Fantastic, thorough introduction to the basics and features of Javascript, complete with in-browser interactive code
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# JavaScript Truth Table
|
# JavaScript Truth Table
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
This is why you should always use `===` and `!==`.
|
This is why you should always use `===` and `!==`.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||

|

|
||||||
+1
-1
@@ -11,4 +11,4 @@ Linux is a free, open-source, customizable operating system (OS) developed by th
|
|||||||
- [Why run Linux?](Linux-Advantages.md)
|
- [Why run Linux?](Linux-Advantages.md)
|
||||||
- [How to get Linux](Linux-Install.md)
|
- [How to get Linux](Linux-Install.md)
|
||||||
|
|
||||||
[logo]: http://files.gamebanana.com/img/ico/sprays/tux1.png "Linux mascot - Tux"
|
[logo]: https://files.gamebanana.com/img/ico/sprays/tux1.png "Linux mascot - Tux"
|
||||||
|
|||||||
@@ -6,14 +6,14 @@ How to find out who is an Admin for your Local Group:
|
|||||||
|
|
||||||
- First, click the Members tab below the cover photo. Then the click on the dropdown box that says "all members"**
|
- First, click the Members tab below the cover photo. Then the click on the dropdown box that says "all members"**
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- Next, use the drop down box to select "Admins"**
|
- Next, use the drop down box to select "Admins"**
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- You should now be able to see who is designated as an Admin for your Local Group.
|
- You should now be able to see who is designated as an Admin for your Local Group.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Message this person to introduce yourself and let them know you're interested in being an admin. After this, go schedule your first meetup.
|
Message this person to introduce yourself and let them know you're interested in being an admin. After this, go schedule your first meetup.
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
# Local Group Central
|
# Local Group Central
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Free Code Camp Study Groups represent a localized experience of our community, and they are entirely run and organised by people like you who are devoted to learning how to code and helping others do so. Their Facebook sites are the place to organize Coffee-and-Code style events, pair-program locally in hack sessions, or share news about other coding-related events in your area. They are meant to gather people within 15-20 minutes of each other.
|
Free Code Camp Study Groups represent a localized experience of our community, and they are entirely run and organised by people like you who are devoted to learning how to code and helping others do so. Their Facebook sites are the place to organize Coffee-and-Code style events, pair-program locally in hack sessions, or share news about other coding-related events in your area. They are meant to gather people within 15-20 minutes of each other.
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
If you deploy your applications to Heroku you can only upload 5 applications, if you want to deploy a new one, you need to verify you account with your credit card.
|
If you deploy your applications to Heroku you can only upload 5 applications, if you want to deploy a new one, you need to verify you account with your credit card.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
These are the steps you need to follow to deploy to [OpenShift](https://www.openshift.com/app/account/new).
|
These are the steps you need to follow to deploy to [OpenShift](https://www.openshift.com/app/account/new).
|
||||||
|
|
||||||
@@ -20,25 +20,25 @@ These are the steps you need to follow to deploy to [OpenShift](https://www.open
|
|||||||
|
|
||||||
- [Add a new application](https://openshift.redhat.com/app/console/application_types)
|
- [Add a new application](https://openshift.redhat.com/app/console/application_types)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- Choose a name (second input will be same for all you apps)
|
- Choose a name (second input will be same for all you apps)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- Fill our Git URL and our branch name
|
- Fill our Git URL and our branch name
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- "Create Application". It will take some time
|
- "Create Application". It will take some time
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- Enter to "Application", then into your App and check it's started.
|
- Enter to "Application", then into your App and check it's started.
|
||||||
|
|
||||||
 
|
 
|
||||||
|
|
||||||
## Enviroment variables
|
## Enviroment variables
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -92,4 +92,4 @@ We also have guides in our Wiki to assist you in your contributions. You can fin
|
|||||||
|
|
||||||
_**Happy Contributing**_ :smiley:
|
_**Happy Contributing**_ :smiley:
|
||||||
|
|
||||||
<p align="center">Need Help? Read <a href="https://github.com/FreeCodeCamp/wiki/blob/master/.github/CONTRIBUTING.md"><b>CONTRIBUTING</b></a> Guidelines<br>or Chat with us in <kbd><a href="https://gitter.im/FreeCodeCamp/Wiki"><img src="http://i.imgur.com/ThSWa6Y.png?2"> <b>FreeCodeCamp/Wiki</b></a></kbd></p>
|
<p align="center">Need Help? Read <a href="https://github.com/FreeCodeCamp/wiki/blob/master/.github/CONTRIBUTING.md"><b>CONTRIBUTING</b></a> Guidelines<br>or Chat with us in <kbd><a href="https://gitter.im/FreeCodeCamp/Wiki"><img src="https://i.imgur.com/ThSWa6Y.png?2"> <b>FreeCodeCamp/Wiki</b></a></kbd></p>
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
If you still see problems after [Getting Help on Gitter](FreeCodeCamp-Gitter-Help), you will want to try to see if anyone else has posted about a similar problem.
|
If you still see problems after [Getting Help on Gitter](FreeCodeCamp-Gitter-Help), you will want to try to see if anyone else has posted about a similar problem.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
1. Go to FreeCodeCamp's [Github Issues](https://github.com/FreeCodeCamp/FreeCodeCamp/issues) page.
|
1. Go to FreeCodeCamp's [Github Issues](https://github.com/FreeCodeCamp/FreeCodeCamp/issues) page.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -14,7 +14,7 @@ Sprints, on average, will last as much as 30 days or as little as a 7 days depen
|
|||||||
|
|
||||||
In addition, in some organizations developers will meet daily to discuss project progress, needs, and roadblocks. These meetings are sometimes referred to as SCRUM meeting or Daily Stand-up Meeting. The person or persons are sometimes invited to listen however they are only in attendance as observers.
|
In addition, in some organizations developers will meet daily to discuss project progress, needs, and roadblocks. These meetings are sometimes referred to as SCRUM meeting or Daily Stand-up Meeting. The person or persons are sometimes invited to listen however they are only in attendance as observers.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The above is an example of a sprint plan which has been laid out in six 30 day sprints. You can see that there is a Sprint Dev in each of the six sprints but from Sprint 2 on there is something labeled as a **Sprint # Increment**.
|
The above is an example of a sprint plan which has been laid out in six 30 day sprints. You can see that there is a Sprint Dev in each of the six sprints but from Sprint 2 on there is something labeled as a **Sprint # Increment**.
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ To install Terminator enter `sudo apt-get install terminator` into the terminal.
|
|||||||
|
|
||||||
Screenshot of Terminator:
|
Screenshot of Terminator:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
#### Oh My ZSH!
|
#### Oh My ZSH!
|
||||||
|
|
||||||
@@ -42,4 +42,4 @@ Checkout the [Official Documentation](https://github.com/robbyrussell/oh-my-zsh/
|
|||||||
|
|
||||||
:point_left: Previous | :book: Home :book: | Next :point_right:
|
:point_left: Previous | :book: Home :book: | Next :point_right:
|
||||||
:---|:---:|---:
|
:---|:---:|---:
|
||||||
[**Customising Ubuntu**](Ubuntu-Customising) | [**Table of Contents**](Setting-Up-Ubuntu-For-Programming) | [**Installing DevTools and modern web browsers**](Ubuntu-Installing-DevTools)
|
[**Customising Ubuntu**](Ubuntu-Customising) | [**Table of Contents**](Setting-Up-Ubuntu-For-Programming) | [**Installing DevTools and modern web browsers**](Ubuntu-Installing-DevTools)
|
||||||
|
|||||||
+1
-1
@@ -85,4 +85,4 @@ We also have guides in our Wiki to assist you in your contributions. You can fin
|
|||||||
|
|
||||||
_**Happy Contributing**_ :smiley:
|
_**Happy Contributing**_ :smiley:
|
||||||
|
|
||||||
<p align="center">Need Help? Read <a href="https://github.com/FreeCodeCamp/wiki/blob/master/.github/CONTRIBUTING.md"><b>CONTRIBUTING</b></a> Guidelines<br>or Chat with us in <kbd><a href="https://gitter.im/FreeCodeCamp/Wiki"><img src="http://i.imgur.com/ThSWa6Y.png?2"> <b>FreeCodeCamp/Wiki</b></a></kbd></p>
|
<p align="center">Need Help? Read <a href="https://github.com/FreeCodeCamp/wiki/blob/master/.github/CONTRIBUTING.md"><b>CONTRIBUTING</b></a> Guidelines<br>or Chat with us in <kbd><a href="https://gitter.im/FreeCodeCamp/Wiki"><img src="https://i.imgur.com/ThSWa6Y.png?2"> <b>FreeCodeCamp/Wiki</b></a></kbd></p>
|
||||||
|
|||||||
+14
-14
@@ -12,7 +12,7 @@ In an effort to make contributing to the wiki and to [FreeCodeCamp](https://gith
|
|||||||
|
|
||||||
Navigate to the [Wiki.](https://github.com/FreeCodeCamp/wiki) You will encounter something similar to the image in _Figure 0a_ below. This will give you three options to add changes for your [pull requests.](https://help.github.com/articles/using-pull-requests/) They are by no means numbered in the way you should try them, I just went from left to right. Each one have their purpose.
|
Navigate to the [Wiki.](https://github.com/FreeCodeCamp/wiki) You will encounter something similar to the image in _Figure 0a_ below. This will give you three options to add changes for your [pull requests.](https://help.github.com/articles/using-pull-requests/) They are by no means numbered in the way you should try them, I just went from left to right. Each one have their purpose.
|
||||||
|
|
||||||
_Figure 0a_
|
_Figure 0a_
|
||||||
|
|
||||||
### 1. Upload Files Button
|
### 1. Upload Files Button
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ After you select it, you will see something similar to _Figure 3a_ below. You ha
|
|||||||
- **Add Details:** Below the title you can add extra information using Github markdown. This means you can add links, images, videos, checklists, and everything else that is supported. Please see the link in the Requirements section.
|
- **Add Details:** Below the title you can add extra information using Github markdown. This means you can add links, images, videos, checklists, and everything else that is supported. Please see the link in the Requirements section.
|
||||||
- **Select how to contribute:** If you have write access like me then you can commit directly which is strongly advised not to do even for the core team. However, regular users will be unable to select this option anyway. The best way is to create a new branch for the pull request as seen on _Figure 1b_. This allows you to write a name for the branch. It is suggested to use a descriptive name that will give a glimpse of what the branch is about, for example `wiki-guide` for this guide, or `Palindromes` for an article about palindromes. The name shown on the image is an example of a **bad name!**
|
- **Select how to contribute:** If you have write access like me then you can commit directly which is strongly advised not to do even for the core team. However, regular users will be unable to select this option anyway. The best way is to create a new branch for the pull request as seen on _Figure 1b_. This allows you to write a name for the branch. It is suggested to use a descriptive name that will give a glimpse of what the branch is about, for example `wiki-guide` for this guide, or `Palindromes` for an article about palindromes. The name shown on the image is an example of a **bad name!**
|
||||||
|
|
||||||
- _Figure 1a_ 
|
- _Figure 1a_ 
|
||||||
|
|
||||||
After you select your files, you will be presented with a screen like _Figure 1b & Figure 1c_ where you have the options to:
|
After you select your files, you will be presented with a screen like _Figure 1b & Figure 1c_ where you have the options to:
|
||||||
|
|
||||||
@@ -34,18 +34,18 @@ After you select your files, you will be presented with a screen like _Figure 1b
|
|||||||
- **Compare to branch:** This should be the branch you create for your pull request.
|
- **Compare to branch:** This should be the branch you create for your pull request.
|
||||||
- **Details:** As before, you will have a chance to change the title and details which will have the previous values.
|
- **Details:** As before, you will have a chance to change the title and details which will have the previous values.
|
||||||
|
|
||||||
- _Figure 1b_
|
- _Figure 1b_
|
||||||
|
|
||||||
- **Files Preview:** You will have the chance to see what your files look like from _Figure 1c_. **Note** that here I changed the actual pull request for another one with a better branch name and a draft of this guide instead of just random images.
|
- **Files Preview:** You will have the chance to see what your files look like from _Figure 1c_. **Note** that here I changed the actual pull request for another one with a better branch name and a draft of this guide instead of just random images.
|
||||||
|
|
||||||
- You can select to view the code with differences between the previous version and the new one if you are modifying an existing file.
|
- You can select to view the code with differences between the previous version and the new one if you are modifying an existing file.
|
||||||
- The current view is the Rich difference that allows to view the changes on the same file, red for deletions, green for additions. Lastly you have the option to view the file as if it was live.
|
- The current view is the Rich difference that allows to view the changes on the same file, red for deletions, green for additions. Lastly you have the option to view the file as if it was live.
|
||||||
|
|
||||||
- _Figure 1c_
|
- _Figure 1c_
|
||||||
|
|
||||||
Next is to click on `Create Pull Request`. it is the green button and it will take you to view your pull request. it will look similar to _Figure 1d_ bellow.
|
Next is to click on `Create Pull Request`. it is the green button and it will take you to view your pull request. it will look similar to _Figure 1d_ bellow.
|
||||||
|
|
||||||
- _Figure 1d_
|
- _Figure 1d_
|
||||||
|
|
||||||
The first thing you will notice is the title with the pull request number, in the example it is `#393`. Next, is the status of the pull request, it will either be `Open`, `Closed` or `Merged`.
|
The first thing you will notice is the title with the pull request number, in the example it is `#393`. Next, is the status of the pull request, it will either be `Open`, `Closed` or `Merged`.
|
||||||
|
|
||||||
@@ -57,27 +57,27 @@ If your pull request closes an issue then you can add `Closes #` followed by the
|
|||||||
|
|
||||||
The following is how it looks when you are able to edit your own pull request.
|
The following is how it looks when you are able to edit your own pull request.
|
||||||
|
|
||||||
_Figure 1e_ 
|
_Figure 1e_ 
|
||||||
|
|
||||||
Always delete the branch after the pull request has been merged or closed. There might be cases where this will be done automatically, but if for whatever reason you see something like in _Figure 1f_ then press delete.
|
Always delete the branch after the pull request has been merged or closed. There might be cases where this will be done automatically, but if for whatever reason you see something like in _Figure 1f_ then press delete.
|
||||||
|
|
||||||
_Figure 1f_ 
|
_Figure 1f_ 
|
||||||
|
|
||||||
### 2. New Pull Request Button
|
### 2. New Pull Request Button
|
||||||
|
|
||||||
This is used to create [pull requests](FreeCodeCamp-Guide-Pull-Request) from files that are already in existing branches, not really for adding new files. So if you are looking to add new files then check the other options. It will look like this:
|
This is used to create [pull requests](FreeCodeCamp-Guide-Pull-Request) from files that are already in existing branches, not really for adding new files. So if you are looking to add new files then check the other options. It will look like this:
|
||||||
|
|
||||||
- _Figure 2a_ 
|
- _Figure 2a_ 
|
||||||
|
|
||||||
You will have to select the **base** branch which and then select the branch you want to submit a pull request against to. This means your changes are already on the branch and for some reason you did not submit the pull request before. Because of **write access** being required regular users should not be able to create new branches on the repository.
|
You will have to select the **base** branch which and then select the branch you want to submit a pull request against to. This means your changes are already on the branch and for some reason you did not submit the pull request before. Because of **write access** being required regular users should not be able to create new branches on the repository.
|
||||||
|
|
||||||
Once you select the branches you will get something similar to _Figure 2b_ below.
|
Once you select the branches you will get something similar to _Figure 2b_ below.
|
||||||
|
|
||||||
- _Figure 2b_ 
|
- _Figure 2b_ 
|
||||||
|
|
||||||
If you want to use a fork instead of a branch then you will click the link and get something that looks like the image from _Figure 2c_ bellow.
|
If you want to use a fork instead of a branch then you will click the link and get something that looks like the image from _Figure 2c_ bellow.
|
||||||
|
|
||||||
- _Figure 2c_ 
|
- _Figure 2c_ 
|
||||||
|
|
||||||
Going back to _Figure 2b_ you will note that you get information like the base branch, the branch with your changes, and how many commits there are along with file changes. From there it's the same as the tutorial for uploading files, please see _Figures 1b_ and onwards with the details that come along with it. But basically you just fill out the details and submit the pull request.
|
Going back to _Figure 2b_ you will note that you get information like the base branch, the branch with your changes, and how many commits there are along with file changes. From there it's the same as the tutorial for uploading files, please see _Figures 1b_ and onwards with the details that come along with it. But basically you just fill out the details and submit the pull request.
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ However, something new is the fact that you can **Assign** people, usually contr
|
|||||||
|
|
||||||
This is the option to choose if you want to directly create your files and submit a pull request from the browser. Unlike the **New Pull Request** button, this option allows you to create new files.
|
This is the option to choose if you want to directly create your files and submit a pull request from the browser. Unlike the **New Pull Request** button, this option allows you to create new files.
|
||||||
|
|
||||||
_Figure 3a_ 
|
_Figure 3a_ 
|
||||||
|
|
||||||
As you can see from _Figure 3a_ there are similar options when it comes to creating a new file for a pull request online. This is the way to directly contribute from the web, even from your smart phone!
|
As you can see from _Figure 3a_ there are similar options when it comes to creating a new file for a pull request online. This is the way to directly contribute from the web, even from your smart phone!
|
||||||
|
|
||||||
@@ -102,18 +102,18 @@ As you can see from _Figure 3a_ there are similar options when it comes to creat
|
|||||||
|
|
||||||
### Editing Existing Files
|
### Editing Existing Files
|
||||||
|
|
||||||
Besides creating new files, you might also need to edit existing ones for which you will need to locate the file on the repository. Clicking it will give the following view: _Figure 4a_ 
|
Besides creating new files, you might also need to edit existing ones for which you will need to locate the file on the repository. Clicking it will give the following view: _Figure 4a_ 
|
||||||
|
|
||||||
1. Clicking the pencil will allow you to edit the file as a pull request.
|
1. Clicking the pencil will allow you to edit the file as a pull request.
|
||||||
|
|
||||||
- The following is the view that a regular user would get as they do not have write access. Please note the message in blue. Everything else is pretty much standard now, if not see _Figure 1b_ and onwards. However, this is the most accurate view as it is from a non admin account.
|
- The following is the view that a regular user would get as they do not have write access. Please note the message in blue. Everything else is pretty much standard now, if not see _Figure 1b_ and onwards. However, this is the most accurate view as it is from a non admin account.
|
||||||
|
|
||||||
- _Figure 4b_ 
|
- _Figure 4b_ 
|
||||||
|
|
||||||
2. Clicking the trash bin will create a pull request to delete the file.
|
2. Clicking the trash bin will create a pull request to delete the file.
|
||||||
|
|
||||||
- Deleting the file is very similar, just add the details for the pull request information.
|
- Deleting the file is very similar, just add the details for the pull request information.
|
||||||
|
|
||||||
- _Figure 4c_ 
|
- _Figure 4c_ 
|
||||||
|
|
||||||
If you have any further questions feel free to come over the Gitter chat and ask for help, see the [list](Official-Free-Code-Camp-Chat-Rooms) or if you need help with the wiki the visit the [room.](https://gitter.im/FreeCodeCamp/Wiki)
|
If you have any further questions feel free to come over the Gitter chat and ask for help, see the [list](Official-Free-Code-Camp-Chat-Rooms) or if you need help with the wiki the visit the [room.](https://gitter.im/FreeCodeCamp/Wiki)
|
||||||
|
|||||||
+1
-1
@@ -14,6 +14,6 @@ Our wiki articles are written in [GitHub-flavored Markdown](https://github.com/a
|
|||||||
|
|
||||||
- [Algorithm Style Guide](Algorithm-Style-Guide)
|
- [Algorithm Style Guide](Algorithm-Style-Guide)
|
||||||
|
|
||||||
If you have any questions regarding contributing to the Free Code Camp Wiki, feel free to contact Wiki Moderators in <kbd><a href="https://gitter.im/FreeCodeCamp/Wiki"><img src="http://i.imgur.com/ThSWa6Y.png?2"> <b>FreeCodeCamp/Wiki</b></a></kbd>
|
If you have any questions regarding contributing to the Free Code Camp Wiki, feel free to contact Wiki Moderators in <kbd><a href="https://gitter.im/FreeCodeCamp/Wiki"><img src="https://i.imgur.com/ThSWa6Y.png?2"> <b>FreeCodeCamp/Wiki</b></a></kbd>
|
||||||
|
|
||||||
We look forward to wiki-ing with you!
|
We look forward to wiki-ing with you!
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
# Algoritmo ¡Bu!
|
# Algoritmo ¡Bu!
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Explicación del problema:
|
### Explicación del problema:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algoritmo Confirma la Terminación
|
# Algoritmo Confirma la Terminación
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Explicación:
|
### Explicación:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algoritmo de Argumentos Opcionales.
|
# Algoritmo de Argumentos Opcionales.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Explicación:
|
### Explicación:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Algoritmo Mensaje Secreto
|
# Algoritmo Mensaje Secreto
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Explicación:
|
### Explicación:
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@ La wiki de nuestra comunidad hace foco en responder tus preguntas sobre aprender
|
|||||||
- Grupos locales
|
- Grupos locales
|
||||||
- Proyectos sin fines de lucro.
|
- Proyectos sin fines de lucro.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
La manera más simple de acceder a la wiki es vía [CamperBot](CamperBot) en nuestros canales de Gitter. CamperBot es una útil herramienta diseñada por la comunidad para acceder al contenido de nuestra wiki sin necesidad de salir de Gitter.
|
La manera más simple de acceder a la wiki es vía [CamperBot](CamperBot) en nuestros canales de Gitter. CamperBot es una útil herramienta diseñada por la comunidad para acceder al contenido de nuestra wiki sin necesidad de salir de Gitter.
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
El número junto a tu imagen de perfil en Free Code Camp indica cuantos Puntos Brownie tienes.
|
El número junto a tu imagen de perfil en Free Code Camp indica cuantos Puntos Brownie tienes.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Existen dos maneras de ganar Puntos Brownie:
|
Existen dos maneras de ganar Puntos Brownie:
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@ Notre communauté open source Wiki permet de répondre a toutes vos questions co
|
|||||||
- les communautés locales
|
- les communautés locales
|
||||||
- les projets à but non lucratif
|
- les projets à but non lucratif
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
La meilleure façon d'accéder à ce wiki est via <CamperBot>, situé dans nos salons Gitter. CamperBot est un outil communautaire conçu pour accéder à notre contenu Wiki sans jamais quitter Gitter.
|
La meilleure façon d'accéder à ce wiki est via <CamperBot>, situé dans nos salons Gitter. CamperBot est un outil communautaire conçu pour accéder à notre contenu Wiki sans jamais quitter Gitter.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@
|
|||||||
- 지역 캠프사이트 커뮤니티(Local Group Communities)
|
- 지역 캠프사이트 커뮤니티(Local Group Communities)
|
||||||
- 비영리 프로젝트(Nonprofit Projects)
|
- 비영리 프로젝트(Nonprofit Projects)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
오픈 소스 커뮤니티 위키에 접속하는 가장 좋은 방법은 Gitter 채널에 있는 [CamperBot](https://github.com/FreeCodeCamp/wiki/blob/master/camperbot)을 이용하는 것입니다. CamperBot은 Gitter를 종료하지 않고도 위키 컨텐츠에 접속할 수 있는 유용한 커뮤니티 디자인 툴입니다.
|
오픈 소스 커뮤니티 위키에 접속하는 가장 좋은 방법은 Gitter 채널에 있는 [CamperBot](https://github.com/FreeCodeCamp/wiki/blob/master/camperbot)을 이용하는 것입니다. CamperBot은 Gitter를 종료하지 않고도 위키 컨텐츠에 접속할 수 있는 유용한 커뮤니티 디자인 툴입니다.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user