teleren/devto huggingface dataset:
How to Use Excel LN Function in Office 365? – (with Examples)
Tags: excelfunctions, excellnfunctioninoff
Published: 2020-08-21 16:55:41

---
title: How to Use Excel LN Function in Office 365? – (with Examples)
published: true
date: 2020-08-21 16:14:35 UTC
tags: ExcelFunctions,ExcelLNFunctioninOff
canonical_url: https://geekexcel.com/how-to-use-excel-ln-function-in-office-365-with-examples/
---

## Excel LN Function in Office 365:

Here, we are going to see the usage of **Excel LN Function in Office 365 ** with its syntax, description, and examples. Get an official version of **MS Excel** from the following link: [https://www.microsoft.com/en-in/microsoft-365/excel](https://www.microsoft.com/en-in/microsoft-365/excel)

 

## LN Function – Description:

- This function **returns the natural logarithm of a number.**
- The natural logarithm is based on constant “ **e** ” (2.71828182845904).
- For example, **LN(56)** returns the natural logarithm number **4.025352**.

## Syntax:

**=LN(number)**

### Parameter Description:

**Number** – The input number to which you want the natural logarithm value.

### Note:

- LN Function is the inverse of the **[EXP (exponential) function](https://geekexcel.com/how-to-use-excel-exp-function-in-office-365-with-examples/).**
- If you give non-numeric values such as letters and special characters to the argument, it will return **#VALUE!** Error.
- If the argument is a negative number, it shows **#NUM!** Error.

## Examples:

- In the below screenshot, you can see the input numbers in **Column A** and its natural logarithm values in **Column B**.

![LN Function](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/08/1-59.png)<figcaption id="caption-attachment-12199">LN Function</figcaption>

- If you use any non-numeric value (letters and symbols) as input number, it returns **#VALUE!** Error.
- Refer to the below example.

![Example 2](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/08/2-44.png)<figcaption id="caption-attachment-12200">Example 2</figcaption>

- If the argument is a negative number, it shows **#NUM!** Error.

![Example 3](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/08/3-36.png)<figcaption id="caption-attachment-12201">Example 3</figcaption>

## Closure:

In this article, you will understand the usage of **Excel LN Function in Office 365** with its syntax, description, and examples. Leave your **suggestions** in the comment section. Thanks for visiting **[Geek Excel.](https://geekexcel.com/)** Keep Learning!!

### Read Also:

- [How to Use IMREAL Function in Excel 365? – [With Examples]](https://geekexcel.com/how-to-use-imreal-function-in-excel-365-with-examples/)
- [How to Use Excel “FACT Function” in Office 365? – {with Examples}](https://geekexcel.com/how-to-use-excel-fact-function-in-office-365-with-examples/)
How to use the fetch API with and without async/await
Tags: fetch, async, await
Published: 2020-08-21 16:12:05

---
title: How to use the fetch API with and without async/await
published: true
description: 'How to use the fetch API with and without async/await' 
tags: fetch, async, await 
//cover_image: https://direct_url_to_image.jpg
---

Sometimes the best way to explain something to someone is to just show them an example.  This was the case when a couple of coworkers had some confusion around using `async`/`await`.  

After verbally explaining, I opened up my web console and gave them a quick example.  This seemed to clarify their understanding.  

I will share the example here in case it's helpful to anyone else. 

![Fetch API example](https://dev-to-uploads.s3.amazonaws.com/i/1f3lz0iy81usfv9txhd0.png)

*SIDE NOTE: This also made me think about how just playing around in the web console is a great way to learn of JavaScript.  It's also an easy way to share knowledge because anyone can just copy what you have into their own web console.*
Ask Octopus - Can I set a global Runbook retention policy?
Tags: octopus, tutorial, runbooks, devops
Published: 2020-08-21 16:09:41

---
title: Ask Octopus - Can I set a global Runbook retention policy?
published: true
description: In 2020.3, we added the ability to configure the retention policy in a Runbook's settings. What do you do if you want to set a new default across all of your Runbooks? Ryan cracks open the API to show you in this week's Ask Octopus.
tags: octopus,tutorial,runbooks,devops
series: Ask Octopus
---

In 2020.3, we added the ability to configure the retention policy in a Runbook's settings. What do you do if you want to set a new default across all of your Runbooks? Ryan cracks open the API to show you in this week's Ask Octopus.

{% youtube tSm8CFmeq7I %}

Do you have a question about how to use Octopus? Email advice@octopus.com and someone from our team will get you an answer. You might even see it in a future episode.

Join our community slack at https://octopus.com/slack
How to Use Excel GCD Function in Office 365? – with Examples
Tags: excelfunctions, excelgcdfunctioninof
Published: 2020-08-21 16:55:53

---
title: How to Use Excel GCD Function in Office 365? – with Examples
published: true
date: 2020-08-21 16:08:26 UTC
tags: ExcelFunctions,ExcelGCDFunctioninOf
canonical_url: https://geekexcel.com/how-to-use-excel-gcd-function-in-office-365-with-examples/
---

## GCD Function in Excel:

In this post, We are going to learn **Excel GCD Function in Office 365** with its syntax, description, and examples. Get an official version of **MS Excel** from the following link: [https://www.microsoft.com/en-in/microsoft-365/excel](https://www.microsoft.com/en-in/microsoft-365/excel)

 

## GCD Function – Description:

-  This function **returns the greatest common divisor of two or more integers**.
- GCD is nothing but the largest positive integer that divides given numbers.
- For example, **GCD(8,4)** returns the output as **4**.

## Syntax:

**=GCD(number1, [number2],…)**

### Arguments Description:

**Number 1** – The first input number.

**Number 2** – It is optional. The second number.

### Note:

- If any argument is non-numeric, it returns **#VALUE!** Error.
- If you give any argument as less than zero, it returns **#NUM!** Error value.

## Examples:

Let’s see some examples to learn how it works.

### Example 1:

- Refer to the below screenshot.
- You can see the input numbers in **Column A, B, and C**. The output is listed in **column D**.
- **GCD(A2, B2)** displayed the output in the **Cell D2**.

![Example 1](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/08/1-56.png)<figcaption id="caption-attachment-12182">Example 1</figcaption>

### Example 2:

- If any argument is non-numeric, it returns **#VALUE!** Error.

![Example 2](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/08/2-41.png)<figcaption id="caption-attachment-12183">Example 2</figcaption>

### Example 3:

- If you give any argument as less than zero, it returns **#NUM!** Error value.

![Example 3](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/08/3-34.png)<figcaption id="caption-attachment-12184">Example 3</figcaption>

From the above examples, you can learn the usage of Excel **GCD** Function.

## A Brief Summary:

In this article, you will learn the usage of **Excel GCD Function in Office 365** with its syntax, description, and examples. Drop your **feedback** in the below comment section. Thanks for visiting **[Geek Excel.](https://geekexcel.com/)** Keep Learning!!

### Read Also:

- [How to Use Excel EXP Function in Office 365? – [With Examples]](https://geekexcel.com/how-to-use-excel-exp-function-in-office-365-with-examples/)
- [How to Use Excel ARABIC Function in Office 365? – {with Examples}](https://geekexcel.com/how-to-use-excel-arabic-function-in-office-365-with-examples/)
The Scale Cube
Tags: scalability
Published: 2020-08-21 16:01:02

---
title: The Scale Cube
published: true
description: Originally published at nandunb.wordpress.com on April 22, 2017.
tags: scalability
---
Last week, we had a lecture on ‘Quality Attributes’ for Software Architecture. Basically quality attributes are properties of the system that can tell you how good or bad the system is performing. Modifiable, Re-usability, Performance, Security, Availability, Usability… and Scalability is one of them. Here is something related to the scalability of a system which I found.

https://miro.medium.com/max/1126/0*woG3aeCME7_k3wGU.

While researching on this topic ‘Scalability’, I found this book called “The Art of Scalability” by MARTIN L. ABBOTT and MICHAEL T. FISHER. And something interesting in it was this model called “The Scale Cube”. Basically what it is, is a representation on how a system could be scaled. Scalability in terms of a system is its ability to scale itself on different conditions without affecting its qualities like the performance.

As in the diagram: 3 axes on the cube (x,y,z) denotes three different ways how the system could be scaled. The X-axis is scaling the application by balancing the load (load balancing) using something the load balancer and having clones of the application behind it. What the load balancer does is it directs the incoming traffic into selected clones based on the active traffic on each of them. For example in database related application, you distribute the queries to copies of databases. In each case, each and every instance of the database or the application would associated only with 1/N load where N is the number of available copies.
The Y-axis decomposed the application into multiple services where coupling is a minimum. A service would be responsible for only a single task. In most of the cases, these services would communicate using either synchronous protocols such as HTTP/REST or asynchronous protocols such as AMQP (Advanced Message Queuing Protocol). They could be developed and deployed independently due to their very low de-coupled existence. Examples for such service you would find within an application may be the User Authentication service, the Stock Management service … etc. Related: Microservices Architecture.
The Z-axis, as in X-axis, runs copies of the application in different servers. But this time, each copy would be responsible for only a specific section of the application and related traffic would be routed to designated server. Database-wise the data is partitioned and distributed among these servers based on the functions each of them are responsible for.

In each case there are pros and cons. The Z-axis has advantages like, less memory usage, less responsibility per server, ease of fault isolation. But, it results in downfalls like the higher complexity of the application and partitioning data.
Building AutoLink component in React
Tags: react
Published: 2020-08-21 11:42:31

---
title: Building AutoLink component in React
published: true
description: How to build a React component which takes the text with URLs and adds links there. It uses a little known string.split feature.
tags: react
canonical_url: https://blog.rstankov.com/building-auto-link-component-in-react
---

I had to implement a React component which takes text and adds links to the detected URLs:

```jsx
<AutoLink>
  This text contains link to http://example.com and https://example.com
</AutoLink>
```

This generates the following HTML:

```html
<p>
  This text contains link to <a href="http://example.com" target="_blank">http://example.com</a> and <a href="https://example.com" target="_blank">https://example.com</a>
</p>
```



In order to build this component, I had to use а little know feature of the [String.prototype.split](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) method. Most people know that if you have the following string `a,c,d,e` you can split it by `,`, you get an array:

```js
"a,b,c".split(/,/) // => ["a", "b", "c"]
```

**Today I learned**, that you can actually include the separator in the results:

```js
"a,b,c".split(/(,)/) // => ["a", ",", "b", ",", "c"]
```

This uses the [regular expression group feature](https://www.regular-expressions.info/brackets.html).

Using this feature, I created a `mapLinks` function. It takes the text and yields the links it detects.

```js
const EXP = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/gi; 

export function mapLinks(text, fn)) {
  // this splits the text, by links but it still keeps those links in the result
  return text.split(EXP).map((chunk, i) => {
    if (chunk.match(EXP)) {
      return fn(chunk, i);
    }

    return chunk;
  });
```


Then I just used this function for the component itself:

```js
export default React.memo(({ children }) => (
  <p>
    {mapLinks(children, (url, i) => (
      <a href={url} target="_blank" key={i}>
        {url}
      </a>
    ))}
  </p>
)}
```
Contribution to open source: rubocop-rspec
Tags: ruby, rails, opensource, development
Published: 2020-08-21 15:53:10

Open source is an essential part of the development industry. At datarockets, we are fully aware of this and always strive to bring something useful to the development community.

For example, we develop different libraries that help us to maintain high-quality code in clients’ projects. We combine best practices with our vision and make these libraries public for everyone. 

This is a story of how a problem in our internal library appeared a useful contribution to the popular Ruby lib – [rubocop-rspec](https://github.com/rubocop-hq/rubocop-rspec). 

In the process of working with our [internal Ruby style config](https://github.com/datarockets/datarockets-style), we faced a problem of repeated test cases.

![The problem of repeated test cases](https://datarockets.com/wp-content/uploads/2020/03/img_5e7dc62f50ad9.png)

In the course of studying the solution to the problem, we found that in rubocop-rspec there are no ready-made cops that could solve our problem and we decided to write our own cop and test it on our projects. In parallel, we opened the issue in the repository with a proposal to add this cop to the rubocop-rspec library.

The maintainers of rubocop-rspec quickly responded and agreed that it would be a pretty useful improvement, after which we started writing this cop. [After weeks of work](https://github.com/rubocop-hq/rubocop-rspec/pull/860), the maintainers were pleased with the result of what we did and accepted the pull request.

Our cop brought instant results even before we completed our work! At the stage of verification on their codebases, the maintainers found flaws in their projects.

![The result of the contribution](https://datarockets.com/wp-content/uploads/2020/03/img_5e7dc63199caf.png)

We are delighted that we were able to make a useful contribution to the developer community, and we will continue to do so.
Repetitive tests with jest - Little Bits
Tags: javascript, testing, tutorial
Published: 2020-08-21 15:50:13

##### Little Bits is a series of short articles explaining quick solutions to common dev problems. No unnecessary descriptions or code snippets. No bullshit.

In this short article, I want to show you how you can run repetitive test cases with Jest. This is specifically useful when testing helpers and utility methods.

#### Useful links:
- [Jest]https://jestjs.io/docs/en/api#1-testeachtablename-fn-timeout

## The problem
Let's say we have a simple method for some kind of string manipulation. The function takes an original string and adds another one to it. We can also define if we want the new string to be added at the end or the beginning, as well as change it to be uppercased.
```javascript
const addToString = (word, addition, placement, upperCase) => {
  let stringToReturn;

  if (placement === 'end') {
    stringToReturn = `${word}${addition}`;
  } else {
    stringToReturn = `${addition}${word}`;
  }

  return upperCase ? stringToReturn.toUpperCase() : stringToReturn;
};
```
To test it we could so something like that:
```javascript
test('changes string node to node_js', () => {
	expect(addToString('node', 'js_')).toBe('js_node');
});

test('changes string node to _jsnode', () => {
	expect(addToString('node', '_js', 'end')).toBe('node_js');
});

...
```
And so on with other possible scenarios.

## How to solve it
Instead, we can use amazing jest method `test.each`:
```javascript
test.each`
  originalWord | addition | placement    | uppercase    | expected
  ${'node'}    | ${'js_'} | ${undefined} | ${undefined} | ${'js_node'}
  ${'node'}    | ${'js_'} | ${'end'}     | ${undefined} | ${'nodejs_'}
  ${'node'}    | ${'js_'} | ${null}      | ${true}      | ${'JS_NODE'}
  ${'node'}    | ${'js_'} | ${'end'}     | ${true}      | ${'NODEJS_'}
`(
  'changes string $originalWord to $expected - uppercase -> $uppercase',
  ({ originalWord, addition, placement, uppercase, expected }) => {
    expect(addToString(originalWord, addition, placement, uppercase)).toBe(expected);
  }
);
....
```
## Summary
As you can imagine, this works really well with bigger methods that have lots of different permutations as you can pass tens of different test scenarios while handling only one assertion. I hope that this article will help you with writing amazing tests.
.map( ) .forEach( ) for( ). 👉 Three ways for create an array and push it:
Tags: javascript, tutorial, html
Published: 2020-08-21 15:16:50

###Hi dev! 👩‍💻 👨‍💻

I want to show you 3 different way for push a value intro your array empty, with the same result.

First of all, we have easy our array like this: 🗂

```javascript
var array = [
    {
        name: 'John'
    },
    {
        name: 'Meg'
    }
];
```

In order by the most easiest, the first method is **.map()**;
We need to create a new variable, take our array, and the return which value we need to push into this new variable:

```javascript
var newArray = array.map(function(singleElement){
    return singleElement.name;
})

console.log(newArray); // return ['John', 'Meg']
```

The second method is **forEach()**; we need to create a new empty array, and then call forEach() method for push our values into a new array created before:

```javascript
var newArray = [];

array.forEach(singleElement =>{
    newArray.push(singleElement.name)
});

console.log(newArray); // return ['John', 'Meg']
```

The third method is the classic one with a **for()** cycle.
We need to create new empty array, cycle our array, define the values you want to push into a new array, and then push it:

```javascript
var newArray = [];

for (var i = 0; i < array.length; i++) {
    var singleElement = array[i];
    var name = singleElement.name;
    newArray.push(name);
}

console.log(newArray); // return ['John', 'Meg']
```

The results is the same for all methods:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/4eyrrzwnhhh0t5nlm59h.png)

Hope this small article is interesting for you 🙋‍♂️
wasted a WEEK of my life because of this
Tags: unity3d, devlog, sfx, indie
Published: 2020-08-21 14:49:06

This is the 5th episode in this devlog series, where I document the entire game making process.
I started added effects to the game and eventually I stuck for a week only to figure out this small thing
Enjoy :)

{% youtube _sQ_LQIf9cU %}

> Like this post? 
> Consider Support me via [Patreon](https://www.patreon.com/eranelbaz)
> Or Subscribe to my [YouTube Channel](https://www.youtube.com/channel/UCVUNeBGM5wZJKcOx0QwAaTA?sub_confirmation=1)
> You can also follow me on [Twitter](https://twitter.com/elbaz_eran)
DeepLと破壊的イノベーション
Tags: translation, innovation
Published: 2020-08-21 14:36:10

論文の執筆にDeepLを使ったというツイートが話題になった．

{% twitter 1296398001267601408 %}


自分はこの状況を破壊的イノベーションだと捉えている．つまり，現在英語を十分操れている人たちにとっては今の機械翻訳の出力はアラがあって使用に耐えないのだが，その他大勢の英語弱者にとってはDeepLに通す方が自分でうんうん唸るよりも流暢な英文が，**簡単**に得られるのだ．

かくいう自分も後者に属する．自分の英語力はアメリカCS大学のTOEFLスクリーニングをようやく突破できるくらい(CMUは無理)で，英語論文の読み書きはできるものの会話は難しい．しかし，それぐらいではDeepLの方が言い回しが自然な英文を生成してくれる．

もちろん，DeepLは文章の意味を正反対にしたり文を落としたりと「ひどい」間違いをすることはあるが，それは英文を見て修正が可能だ．しかも，変更に応じて自動で再翻訳を続けてくれるから，自分のスタイルに合わせて英語のスニペットを選び続けるとあっという間に英文が出来上がる．これはなかなかとんでもない体験だ．

一方で，DeepLの使用には次のような反論もある．

{% twitter 1296695645454004224 %}
{% twitter 1296739714943287296 %}

まさに破壊的イノベーションにおける既存顧客の意見である．例えば，国際学会で直接ディスカッションするときにわざわざDeepLを通すのは大変だし会話の流れを阻害してしまう．セッションの制限時間もある．それに，機械翻訳で生成された文章は無味乾燥でつまらない．それよりも自身の総合的な英語力を高めることが大事なのだ．この意見は正しいし，実際彼らはそのようにして生き残ってきたのであろう．

しかし，状況は変わりつつある．それには機械翻訳技術の向上という内的な要因だけではなく，COVID-19の蔓延という外的要因も考えられる．COVID-19の影響により，今年初めの国際学会の中止・延期が相次いだ．一方で，夏ごろからは学会をオンライン開催するケースも見られ始めた[^1]．この場合，インターネットに乗った会話に対して音声認識技術を活用することができるのだ．

例えば，今年のGoogle入社試験はGoogle Meetを使っての英語コーディング面接だった．Google Meetでは相手の発話をリアルタイムに文字起こししてくれる機能があり，英語の聞き取りに大変便利だったことを覚えている．YouTubeの字幕機能も同じだ．国際学会やテックカンファレンスの発表をリアルタイムに聞き取るのは難しいが，どんどん出てくる字幕を読み取るのはまだ簡単である．もし字幕に翻訳文を出すことができたらどうなるだろう？少なくない人間が利用すると自分は予想している．

[^1]: ところで，国際学会のオンライン開催の常態化により，タイムゾーンの問題から学会のローカル化が進むのではないかという逆説的な懸念を抱いている．午前4時のセッションに参加するのは二度としたくない体験だ．

DeepLの登場によって機械翻訳の受容は一つの段階に達したと感じている．冒頭のツイートのような意見を目にする機会は明らかに増えた．彼らはこれからもDeepLを利用し続けていくことだろう．英語の初学者がDeepLに頼るというケースも増えていくと考えている．機械生成された英文の氾濫は拡大していくに違いない．熟練した英語話者もそのような英語と付き合っていくことが増えれば自身の中の基準が変わっていくことは予期できる．もしかしたら機械翻訳に適した文章が良い文章とみなされる日も来るかもしれない．結局のところ[英語は非ネイティブスピーカーの方が多い言語](https://en.wikipedia.org/wiki/List_of_languages_by_total_number_of_speakers)なのだ．非ネイティブの需要が機械翻訳市場を活性化させ，翻訳性能の向上につながる．それは非ネイティブ話者を引き寄せ，さらなる需要を喚起するであろう．機械翻訳がネイティブを上回るような，破壊的イノベーションの日は来るのだろうか？
Would you like to play with microservices?
Tags: microservices, python, go, node
Published: 2020-08-21 14:34:51

Hello guys,

I just created a (quite long) list of services to implement, just for learning and practice more about microservices, node, deno, python, golang, vlang, and some new tools.

https://github.com/ndaidong/microservices

But studying alone is boring! If you have the same plan to learn the same things with me, feel free to fork and contribute. Together, we can build a set of useful sample source codes for reference.

Or, if you have any other opinion, please share to me :)