teleren/devto huggingface dataset:
How to make a good setup
Tags: workstations
Published: 2020-07-29 07:15:09

It can be hard to work from home, with everything going on outside; so making a place that feels like a place where you want to work is very important.

#Make it comfy 
Making your place comfy is something that will help you, I don't mean stuff your room with a 1000 pillow's, but rather make so that when you sit down you feel good about sitting in the place.

#Keep it tidy 
You can have a billion dollar hardware but if you don't keep your workspace clean it will affect the way you work. A clean vs a tidy workspace can change your mood. 

#Personalise your workspace 
Make the space yours. By making the workspace yours you can work for longer and you can work better. Add stuff that you like. Or put stickers on your laptop and have a coffee mug near you.
Why shall you shell as a webdev? And other terminal topics 
Tags: beginners, linux, discuss, webdev
Published: 2020-07-29 07:13:15

I have a great affinity for textual interfaces.

Knowing my way around a terminal has, by far and wide, been the skill with the highest ROI (Return On Investment)  in my toolbelt.

It enables you to, in no particular order:

* Create highly-customized, used-on-the-daily [programmer workspaces](https://github.com/k4m4/terminals-are-sexy#readme)
* Automate routine tasks with a [single command](https://github.com/alebcay/awesome-shell#command-line-productivity) 
* Easily and immediately observe the status of your machine, external services and [basically everything else](https://github.com/agarrharr/awesome-cli-apps)
* Run matrix-style commands:
![matrix](https://media1.giphy.com/media/JmJMzlXOiI0dq/giphy.gif)

_Yes, this is a Windows CMD GIF, and not a Linux terminal one. I regret nothing._

## Discuss!

I can not recommend learning the terminal enough. It's a real treat, and I think its versatility practically ensures there's a use case for it somewhere in your workflow - even for non-programmers!
 
What do you think? Shall everyone shell, or is GUI king of the realm?

And specifically - how important are terminal skills for the average web developer? 

### Side Note

See the cover image? Try running `curl parrot.live` from your terminal, and you can get the party parrot too!

See [here](https://github.com/hugomd/parrot.live) for more information.
Centos 7 to 8 Upgrade
Tags: devops, linux, centos
Published: 2020-07-29 07:09:41

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

Red Hat Enterprise Linux 8 was released on 2019-05-07, and everyone is waiting to find out when the CentOS rebuild will occur. This document is meant to cover general questions and a timeline for what is happening.

A CentOS major release takes a lot of planning and changes in tooling as it is based on a much newer version of Fedora than previous versions. This means that everything from the installer, packages, packaging, and build systems need major overhauls to work with the newer OS. This means that there is always a ramp-up period depending on the changes needed to make a rebuild work. The differences between EL-8 and EL-7 are no exception as the kernel has changed drastically, the repository format has added 'modules' and RPMS has grown many features that EL7 and before do not have. About the only item which has not drastically changed between EL7 and EL8 is the init system which is still system.

To upgrade centos 7 to centos 8 

Login as sudo `sudo --login`

Steps :
 * Install Epel release package
```
yum install epel-release -y
```

* Install yum utils
```
yum install yum-utils -y
 ```

* Resolve RPM packages by executing the command.
```
yum install rpmconf -y
rpmconf -a
```
* Perform a clean-up of all the packages you don’t require.
```
 package-cleanup --leaves
 package-cleanup --orphans
```
* Install DNF package manager since Centos 8 uses DNF instead of yum
```
yum install dnf -y 
```

* Remove yum package manager which was part of centos 7
```
dnf -y remove yum yum-metadata-parser 
rm -Rf /etc/yum
```

* Run `dnf upgrade -y `

* install CentOS 8 release package
```
dnf install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-repos-8.2-2.2004.0.1.el8.x86_64.rpm http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.2-2.2004.0.1.el8.x86_64.rpm http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8.2-2.2004.0.1.el8.noarch.rpm
```
* upgrade the EPEL repository.
```
dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
```

* remove all the temporary files.
``` 
dnf clean all 
```

* Remove the old kernel core for CentOS 7.
```
 rpm -e `rpm -q kernel` 
```

* to remove conflicting packages.
``` 
rpm -e --nodeps sysvinit-tools 
```

* launch the CentOS 8 system upgrade
```
 dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync 
```

Troubleshooting for common errors during this step.

* Python 3 dependency error. 
fix by 
``` dnf remove python3 ```
* Segmentation fault 
``` 
rm -rf /var/lib/rpm/__db.*
rpm --rebuilddb
dnf clean all
dnf makecache
```

* install a new kernel for CentOS 8 
```
dnf -y install kernel-core
```

* install CentOS 8 minimal package
```
dnf -y groupupdate "Core" "Minimal Install"
```

* check the version of CentOS installed by running.
```
cat /etc/redhat-release
```

You have complete Centos Upgrade
Google now discounts all reciprocal links
Published: 2020-07-29 07:08:52

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

For a long time, reciprocal links have remained at the forefront of most inbound linking strategies. This is going to have to change. Google now discounts all reciprocal links. The algorithm has been altered to identify the exchange of links by two parties for the purpose of increasing their number of inbound links.

The concept of reciprocal linking defies Google’s original intention with the algorithm. Quality content should attract links. The exchange of links is nothing more than a mutual agreement to unjustifiably promote others’ content with the end goal of promoting your own. Google doesn’t particularly like this (see Link Schemes).

Some even claim that Google is now able to identify three-way linking schemes (i.e. website A links to website B, who links to website C, who links back to A). Whether this is true or not is hard to say. One thing is for certain though: inbound linking strategies should NOT be centered around reciprocal linking. This manufactured form of link creation is not well-received and is ultimately a waste of time. Instead, focus on creating unique, high-quality content in a given niche. The links will ensue.

Read more :- <b><a href="https://www.egoodmedia.com/google-now-discounts-all-reciprocal-links/">Google now discounts all reciprocal links</a><b>

<b>Read More Articles<b>:

•	<a href="https://www.egoodmedia.com/seo-trends-to-follow-in-2020/">Top 6 SEO Trends You Can Follow In 2020</a>
•	<a https://www.egoodmedia.com/6-effective-hashtag-marketing-strategies-to-promote-your-business-in-2020/">6 Effective Hashtag Marketing Strategies To Promote Your Business In 2020</a>

<b>Contact Details<b>:

1-6046704333
422 Richards St Unit 170, Vancouver, BC V6B 2Z4, Canada

<a href="https://www.egoodmedia.com/">Seattle Website Design Company</a>

<b>Visit Reference Profile Websites<b>:

https://bit.ly/2P6VI9X
https://bit.ly/3gaJJnE
https://bit.ly/3jR7YcQ
https://bit.ly/3fazY7E
https://bit.ly/3hGgucI
https://bitly.is/2BDwXiC
https://bit.ly/30ZxhB1
https://bit.ly/3f9Li46
https://bit.ly/2P5oQyp
https://bit.ly/2P5oQyp
https://bit.ly/39CxVbF
https://bit.ly/3jOLd9A
https://bit.ly/2DgYjLM
https://bit.ly/3g9s1kD
https://bit.ly/3hKwWZz
https://bit.ly/39Ce9wJ
https://bit.ly/2P3HJC3
https://w.tt/30RI2oS
https://bit.ly/3g4Qurc
https://bit.ly/3gbpfev
https://bit.ly/2Dd6PLV
https://bit.ly/30VygC9
https://bit.ly/3jOLVUi
https://bit.ly/335f0ok
String的不可变性
Tags: java, string
Published: 2020-07-29 03:17:08



为什么说 String 有不可变性？这种设计有什么好处？

## 一、String 的不可变性

String 是 final 类型，final 类不能被继承。

String 是不可变的，当修改已有字符串的值的时候，（如将 `str = "abc"` 修改为 "abcdef"），不是在原内存地址上修改数据，而是将原引用重新指向新对象、新地址。为什么不可变呢？

在 JDK 1.8 的源码中，java.lang.String 类的起头几行为：

```java
public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {
    /** The value is used for character storage. */
    private final char value[];
  
    /** Cache the hash code for the string */
    private int hash; // Default to 0
    ...
    ...
}
```

String 本质是个 char 数组，用成员变量 value[] 存储。成员变量 value[] 用 final 关键字修饰，表示该字段创建后引用地址不可变；访问权限为 private，表示外部无法访问，成员变量 hash 也是如此。而且 String 没有对外提供可以修改这两个私有属性的方法。

String 类本身声明为 final，不可被继承，即无法通过扩展来绕过限制。

另外一点就是，构造对象时，成员变量使用 [深拷贝](https://cloud.tencent.com/developer/article/1386567) 来初始化，而不是直接复制，以防止输入对象被修改。例如，当传入可变数组 value[] 进行初始化时：

```java
public String(char value[]) {
    this.value = Arrays.copyOf(value, value.length);
}
```

## 二、这样设计的原因及好处：

其实好处就是原因，String 设计出不可变，主要是从性能和安全两方面考虑。

### 1. 字符串常量池

Java 中的字符串常量池（String pool）的存在就是为了性能优化。

字符串常量池是 Java 堆内存中一个特殊的存储区域。当创建一个 String 对象时，首先会去字符串常量池中查找，如果找到，直接返回该字符串的引用，不会创建新的对象。这样做能够减少 JVM 的内存开销，提高性能。如以下代码：

```java
String str1 = "abc";
String str2 = "abc";
```

此时引用 str1 和 str2 指向常量池中的同一个对象 "abc"，如下图所示：

![string-pool-example](https://dev-to-uploads.s3.amazonaws.com/i/gkzzlxbleienh1o64j79.png)


如果 String 是可变类，那么引用 str1 对 String 对象的修改，会直接导致引用 str2 获取错误的值。所以，如果字符串是可变的，那么字符串常量池就没有存在的意义了。

### 2. 缓存 HashCode

Java 中经常会用到字符串的哈希码（hashCode）。在 String 类中，有以下代码：

```java
/** Cache the hash code for the string */
private int hash; 
```

可见，成员变量 hash 中保存了一个 String 对象的 hashCode。因为 String 类不可变，所以一旦对象被创建，该 hash 值便被缓存起来，无法改变了。以后每次使用该对象的 hashCode 的时候，无需重新计算，直接返回即可。这使得字符串很适合作为 HashMap 中的 key，效率大大提高。

### 3. 多线程安全

多线程中，可变类型的值很可能在其它线程中被改变，造成不可预期的后果。而不可变的 String 可以自由在多个线程之间共享，不需要做任何同步处理。

所有，String 类的不可变性是一个精良的设计。
Setting child container fill parent container's width and height
Tags: todayilearned, css, webdev
Published: 2020-07-29 06:47:42

Suppose you want have a template with a `navbar`, `body` and `footer` sections. Our goal is to have the `body` container take up the entire space between `navbar` and `footer`.

```jsx
<div id="root">
  <div class="wrapper">
    <nav>navbar</nav>
    <main>body</main>
    <footer>footer</footer>
  </div>
</div>
```

We start by specifying `width: 100%` and `height: 100%` in `#root`. For demonstration purposes I've some background colors for `navbar`, `body` and `footer`.

```scss
#root {
  width: 100%;
  height: 100%;
}

nav {
  background: pink;
}

footer {
  background: green;
}

main {
  background: yellow;
}

.wrapper {
  background: lightblue;
}
```
![demo-1](https://dev-to-uploads.s3.amazonaws.com/i/vktofrr5r53f6vhmi2hu.png)

We want `.wrapper` to span the entire viewport, so we set `width: 100vw` and `height: 100vh`.

```scss
.wrapper {
  background: lightblue;
  width: 100vw;
  height: 100vh;
}
```
![demo-2](https://dev-to-uploads.s3.amazonaws.com/i/qp17kloyr595bhwg2l76.png)

To get the `body` container to take up the remaining space in blue, we use flexbox.

```scss
.wrapper {
  background: lightblue;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
}
```

We start by setting `display: flex` to `.wrapper`:

![demo-3](https://dev-to-uploads.s3.amazonaws.com/i/p484cmjba2i95ppcm770.png)

We then set `flex-direction: column` to set the direction of the flexible items:

![demo-4](https://dev-to-uploads.s3.amazonaws.com/i/qp17kloyr595bhwg2l76.png)

Next, we specify how much of the remaining space in `.wrapper` should be assigned to the `body` container. We do this with `flex: 1`:

```scss
main {
  background: yellow;
  flex: 1;
}
```

Because we didn't specify a [flex](https://developer.mozilla.org/en-US/docs/Web/CSS/flex) on `navbar` and `footer`, `body` takes up the entire space in its parent container `.main`.

![demo-5](https://dev-to-uploads.s3.amazonaws.com/i/8e2upusb1zzqlvhedyc4.png)

However, if we specify a flex property in `navbar` and `body`, they will take up 1 part and 2 parts of the remaining parent container respectively:

```scss
nav {
  background: pink;
  flex: 1;
}

main {
  background: yellow;
  flex: 2;
}
```

![demo-6](https://dev-to-uploads.s3.amazonaws.com/i/afpmgoarn52v3de18v4v.png)

### And there you have it! :zap:
```scss
#root {
  width: 100%;
  height: 100%;
}

nav {
  background: pink;
  flex: 1;
}

footer {
  background: green;
}

main {
  background: yellow;
}

.wrapper {
  background: lightblue;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
}
```
SCSS Introduction
Tags: css
Published: 2020-07-29 06:31:35

Hey Guys, I realized I've been using `SCSS` in most of my Codepens. But we never really touched based on this topic.

So let's dive into introducing `SCSS` to you all.

> BTW: I have a free Giveaway on Twitter! [🚨 Free Giveaway](https://twitter.com/DailyDevTips1/status/1287735721298726912)

## What Does SCSS Mean?

It stands for `sassy css` and is basically the follow up for `SASS` stylesheets. You will find many people calling it `SASS` or `SCSS`, but either way, they are very similar and used for modular `CSS` setup.

In general, some common use cases are:

- Variables
- Nesting
- @import
- @mixin
- @extend

We won't be going through all these topics today, but I will touch base on them during the next couple of days.

## How Does SCSS Work

A major thing to keep in mind is that a browser won't understand `SCSS` or `SASS` code. We need to process it and turn it into regular `CSS` files.

There are several ways to do this; the simplest is using a pre-processing plugin, for instance for Visual Studio:

[Download Sass Compiler](https://marketplace.visualstudio.com/items?itemName=ritwickdey.live-sass)

This will run in Visual Studio and compile your `SCSS` files into one `CSS` file.

There are also specific `SASS` compilers see the website for more information:

[SASS Compilers](https://sass-lang.com/install)

## Our First SCSS Example

Let's get right in there with a very basic example:

```html
<div class="container">
  <div class="box">
    🤩 SCSS 🤩
  </div>
</div>
```

```css
$primary: #ffd670;
$secondary: #ff9770;

.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background: $primary;
}

.box {
  background: $secondary;
  padding: 50px;
  border-radius: 20px;
  color: $primary;
  font-size: 2rem;
  font-weight: bold;
}
```

As you can see, we can now quickly change our colors, instead of having them repeating in every element styling.

This will result in the following Codepen.

<p class="codepen" data-height="265" data-theme-id="dark" data-default-tab="css,result" data-user="rebelchris" data-slug-hash="OJMYxoZ" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="SCSS Introduction">
  <span>See the Pen <a href="https://codepen.io/rebelchris/pen/OJMYxoZ">
  SCSS Introduction</a> by Chris Bongers (<a href="https://codepen.io/rebelchris">@rebelchris</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>

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

### Thank you for reading, and let's connect!

Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on [Facebook](https://www.facebook.com/DailyDevTipsBlog) or [Twitter](https://twitter.com/DailyDevTips1)
AWS Tutorial: Create An AWS Instance Scheduler With Terraform
Tags: aws, cloud, devops, ec2instances
Published: 2020-07-29 06:16:52

---
title: AWS Tutorial: Create An AWS Instance Scheduler With Terraform
published: True
description: Terraform is a popular IaaS tool used by many to create, update, and maintain their AWS architecture. If you use Terraform to provision your AWS architecture, you won’t be disappointed with our new AWS tutorial video.We provide you with the means to set up your own instance scheduler from Terraform...
tags: AWS, CLOUD, DEVOPS, EC2INSTANCES
//cover_image: ![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/iwb2ipokz80beivjur9i.jpg)
---

Terraform is a popular IaaS tool used by many to create, update, and maintain their AWS architecture. If you use Terraform to provision your AWS architecture, you won’t be disappointed with our new AWS tutorial video.



We provide you with the means to set up your own instance scheduler from Terraform. You are given the necessary scripts to work this magic in the video. And if you are someone who is unfamiliar with Terraform entirely but still interested in learning this method, I suggest you first check out the <a href="https://learn.hashicorp.com/terraform/getting-started/install"> HashiCorp Documentation for getting started with Terraform</a> to get yourselves up to speed.



This video is a sequel to our previous video which explains in-depth, <a href="https://www.youtube.com/watch?v=oooxZsz0hS4">how to set up an AWS instance scheduler</a> from the CloudFormation console. I recommend checking it out first as the details of it won’t be revisited in this part 2. 



The tutorial is short and straight to the point, all you have to do is deploy the script we use and connect your AWS account with Terraform. Instance Schedulers are a great way to maintain the operation of your instances and to save your cloud costs by huge amounts. With Terraform being the main management console for many users, an instance scheduler would come in handy in your cloud management. There are very few tutorials, either as videos or articles, showcasing this feature. I hope this serves as a great way to further your cloud management goals.



You can find the video <a href="https://www.youtube.com/watch?v=kq0qPUrZwwc">here</a>.
React kutubxonasini o'rnatish
Tags: react, windows, uzbekistan
Published: 2020-07-28 18:17:18

Assalomu aleykum. Bu Humoyunmirzo Dolimovning 1-posti.

Bu postimda qanday qilib **React kutubxonasini** o'rnatishni o'rgataman.

### Node.js ni kompyuteringizga o'rnatish.
Birinchi o'rinda sizga React kutubxonasini o'rnatish uchun Node.js kerak bo'ladi. Node.js ni [yuklab olish] (https://nodejs.org/en/)  shu rasmiy web sahifasida yuklab olishingiz mumkin.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/affd34rwbbgdtjauq3qw.jpg)

12.18.3 LTS(Long Time Support) versiyasini ko'chirganningiz ma'qul. 

Node.js ni muvafaqiyatli ko'chirib olganingizdan keyin React kutubxonasini o'rnatishingiz mumkin.


### React Kutubxonasi va Create-react-app
Reactni o'rnatish uchun biz create-react-app ishlatamiz.
Create-react-app bu React kutubxonasini ishlashi uchun kerak bo'lgan barcha kerakli vositalarni ornatishni oson yo'li.

Windows terminalini ochib, Reactni o'rnatmoqchi bo'lgan papkangizga o'tib ```npx create-react-app [proyekt nomi]``` Masalan: ```npx create-react-app koinot```

Ozgina vaqt sabr va siz Xakerlik qilishni boshlashingiz mumkin.

Endi siz React boshlangich sahifasini ko'rish uchun, xozirgina yaratgan proyektingizni npm start ni terminalga yozib ishlatishingiz mumkin.

Shunga oxshahs sahifa ochilishi kerak.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/d9hu8s73k5vtpce2rlds.jpg)
Table sticky column in pure CSS3
Tags: html, css, tutorial, webdev
Published: 2020-07-29 05:55:48

In web application, Table has been mostly used with options for adding multiple columns. By adding have to set few columns like name or checkbox or table header to be fixed on scrolling. 

Few years ago, sticky column has been fixed from javascript or any other client side development. But now-a-days, In CSS3 itself can able to fix this sticky column using position: sticky.

For demo and gif animation check below links.

Demo: http://www.dropinks.com/demos/sticky-table-column-css/

Dribbble: https://dribbble.com/shots/13921527-Table-sticky-column-in-pure-CSS3
Creating Github Pages with Jekyll
Tags: github, jekyll
Published: 2020-07-29 05:47:31

# Intro
The reason I wrote this is because the official documentation didn't work smoothly. Just in case I forgot the step, I decided to write it here for my own documentation.

# Step-by-step
1. Create public repository in Github with following name `username.github.io`
2. Clone it to your local repository
3. Install [RubyInstaller](https://rubyinstaller.org/downloads/) , and follow the step till complete
4. (Optinal) If the installer doesn't automatically run, run following command `ridk install`
5. If you are not sure, install no 1 and 3
6. Install Jekyll by run following command `gem install jekyll bundler`
7. Check whether Jekyll is completely installed by run `jekyll -v`

**Jekyll installation complete, now setting the Github pages**
8. Open your local repository
9. Go up one folder by run `cd ..`
10. Run `jekyll new username.github.io --force` to install jekyll in Github pages
11. Open `Gemfile` file
12. Remove or comment following line `gem "jekyll", "~> 4.1.1"`
13. Add following line `gem "github-pages", group: :jekyll_plugins`
14. Update the version of other plugins, by referring [Github Dependency Documentation](https://pages.github.com/versions/) . As for me, I updated the version of `jekyll-feed` version. Save your work.
15. Go to command prompt and run `bundle update` following update to command

**Configuration done!**

16. Now commit your local repository and push it to Github.
17. Run your pages.
โจทย์ 7 ข้อที่ต้องทำได้ ก่อนสมัครงาน Software Engineer
Tags: algorithms, interview, computerscience, datastructure
Published: 2020-07-29 05:46:42

สมัครงาน Software Engineer เขาสัมภาษณ์อะไรกันบ้าง พี่นายช่างขอเลือกโจทย์มาให้ดูเล่นเป็นแนวทาง

##ข้อ 1 ค่ามากสุดในอาเรย์

โด่งดังจาก[โพสต์](https://www.facebook.com/groups/ThaiPGAssociateSociety/?post_id=1547176728826924)ในสมาคมโปรแกรมเมอร์ไทย

ถ้าเขียน for-loop กับ if เป็น ก็น่าจะทำข้อนี้ได้แล้วนะ

ตัวอย่างอินพุต
```
[6, 1, -50, 200, 7, 9, -13, 20]
```

ผลลัพธ์
```
200
```

##ข้อ 2 ฟิซบัซ (Fizz Buzz)

โจทย์สำหรับ[สัมภาษณ์ programmer ในต่างประเทศ](https://wiki.c2.com/?FizzBuzzTest) ว่ากันว่าสามารถกรองผู้สมัครที่เขียนโปรแกรมไม่เป็นออกไปได้ถึง 99.5%! โม้รึเปล่าเนี่ย

โจทย์ต้องการให้พิมพ์เลข 1-100 แต่ถ้าเลขตัวไหนหารสามลงตัว ให้พิมพ์ "Fizz" ถ้าตัวเลขตัวไหนหารห้าลงตัวให้พิมพ์ "Buzz" ถ้าหารสามก็ลงตัวหารห้าก็ลงตัว ให้พิมพ์ "FizzBuzz"

อาจจะดูเหมือนง่าย แต่อาจจะไม่ง่ายอย่างที่คิด! ตกม้าตายกันมาเยอะแล้ว

ผลลัพธ์
```
1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16, ...
```

##ข้อ 3 ตรวจสอบพาลินโดรม

อีกหนึ่งในโจทย์คลาสสิค

พาลินโดรม (Palindrome) คือข้อความที่อ่านจากหน้าไปหลังหรือหลังไปหน้าแล้วยังเป็นข้อความเดิม เช่น tacocat, tenet ([หนังใหม่](https://www.youtube.com/watch?v=L3pk_TBkihU)ของ Nolan ที่เล่นกับ concept นี้), ยาย, กนก

โจทย์ต้องการให้เราพิมพ์ True ถ้าข้อความที่รับเข้าไปเป็น พาลินโดรม และ False ถ้าไม่ใช่

ตัวอย่างอินพุต
```
tacocat
```

ผลลัพธ์
```
True
```

##ข้อ 4 ชื่อซ้ำกันจากสองรายชื่อ

ให้รายชื่อมาสองรายการ เป็น อาเรย์สองตัว หาชื่อที่ซ้ำกันออกมา

ตัวอย่างอินพุต
```
[alice, bob, trudy, jack]
[janet, alice, james, jack]
```

ผลลัพธ์
```
[alice, jack]
```

##ข้อ 5 จำนวนฟีโบนัชชี

คือจำนวนที่อยู่ในลำดับ
```
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, ..
```
ถ้าใครมองความสัมพันธ์ออก จำนวนถัดไปคือจำนวนก่อนหน้าสองตัวบวกกัน

โจทย์จะบอกลำดับตัวเลขที่ต้องการ และโปรแกรมต้องตอบว่าจำนวนฟีโบนัชชีตัวนั้นมีค่าเท่าไหร่

ถ้าใครเขียนเสร็จเร็ว ลองใส่อินพุตเป็นตัวเลขเยอะๆเข้าไปด้วย!

ตัวอย่างอินพุต
```
12
```

ผลลัพธ์
```
144
```

##ข้อ 6 ผลบวกของตัวเลขสองตัวในอาเรย์

ให้อาเรย์ของตัวเลขมาหนึ่งตัว และผลบวกที่ต้องการ ให้ตอบว่าสามารถหาตัวเลขสองตัวที่บวกกันแล้วได้ผลเท่าที่ต้องการหรือไม่

ตัวอย่างอินพุต
```
[1, 5, 13, 2, 7, 6]
11
```

ผลลัพธ์
```
True
```
(เพราะ 5 + 6 == 13)

อาจจะดูเหมือนง่าย แต่ทำให้ถูกต้องและเร็ว ได้หลายวิธีเลยทีเดียว

##ข้อ 7 คำที่ปรากฎบ่อยที่สุดในบทความ

ให้ string ของบทความภาษาอังกฤษมา และให้หาคำที่ปรากฎบ่อยที่สุด (โดยไม่สนใจตัว lower/uppercase และเครื่องหมายวรรคตอน)

ตัวอย่างอินพุต
```
This sentence has five words. Here are five more words. Five-word sentences are fine. But several together become monotonous.
```

ผลลัพธ์
```
five
```

##ยินดีด้วย!

ถ้าทำได้ทั้งหมดนี้ ขอแสดงความยินดีด้วย เพราะไปสมัครงานที่ไหนก็คงสมัครผ่านโดยไม่ยากแล้ว ติดข้อไหน[ทวีตมาคุยกับพี่ได้](https://twitter.com/pnaichang) แต่ไม่ต้องเอาโจทย์ยากๆมาถามเพราะพี่ทำไม่เป็น

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/64pgnzjto2z4q9rd3r9y.jpg)