반응형
반응형

A list of one-liners you should know to up your knowledge of JavaScript.

1.# Copy content to the clipboard

In order to improve the user experience of the website, we often need to copy the content to the clipboard, so that users can paste it to the designated place.

const copyToClipboard = (content) => navigator.clipboard.writeText(content)

copyToClipboard("Hello fatfish")

2.# Get the mouse selection

Have you encountered this kind of situation before?

We need to get the content selected by the user.

const getSelectedText = () => window.getSelection().toString()

getSelectedText()

3.# Shuffle an array

Shuffle an array? This is very common in lottery programs, but it’s not truly random.

const shuffleArray = array => array.sort(() => Math.random() - 0.5)

shuffleArray([ 1, 2,3,4, -1, 0 ]) // [3, 1, 0, 2, 4, -1]

4.# Convert rgba to hexadecimal

We can convert the rgba and hexadecimal color values to each other.

const rgbaToHex = (r, g, b) => "#" + [r, g, b].map(num => parseInt(num).toString(16).padStart(2, '0')).join('')

rgbaToHex(0, 0 ,0) // #000000
rgbaToHex(255, 0, 127) //#ff007f

5.# Convert hexadecimal to rgba

const hexToRgba = hex => {
  const [r, g, b] = hex.match(/\w\w/g).map(val => parseInt(val, 16))
  return `rgba(${r}, ${g}, ${b}, 1)`;
}

hexToRgba('#000000') // rgba(0, 0, 0, 1)
hexToRgba('#ff007f') // rgba(255, 0, 127, 1)

6.# Get the average of multiple numbers

Using reduce we can get the average value of a set of arrays very conveniently.

const average = (...args) => args.reduce((a, b) => a + b, 0) / args.length

average(0, 1, 2, -1, 9, 10) // 3.5

7.# Check if a number is even or odd

How can you tell if a number is odd or even?

const isEven = num => num % 2 === 0

isEven(2) // true
isEven(1) // false

8.# Deduplicate elements in an array

To remove duplicate elements in an array, using Set will make it very easy.

const uniqueArray = (arr) => [...new Set(arr)]

uniqueArray([ 1, 1, 2, 3, 4, 5, -1, 0 ]) // [1, 2, 3, 4, 5, -1, 0]

9.# Check if an object is an empty object

Is it easy to determine if an object is empty?

const isEmpty = obj => Reflect.ownKeys(obj).length === 0 && obj.constructor === Object

isEmpty({}) // true
isEmpty({ name: 'fatfish' }) // false

10.# Reverse a string

const reverseStr = str => str.split('').reverse().join('')

reverseStr('fatfish') // hsiftaf

11.# Calculate the interval between two dates

const dayDiff = (d1, d2) => Math.ceil(Math.abs(d1.getTime() - d2.getTime()) / 86400000)

dayDiff(new Date("2023-06-23"), new Date("1997-05-31")) // 9519

12.# Find the day of the year in which the date falls

Today is June 23, 2023, so what day is it this year?

const dayInYear = (d) => Math.floor((d - new Date(d.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24)

dayInYear(new Date('2023/06/23'))// 174

13.# Capitalize the first letter of the string

const capitalize = str => str.charAt(0).toUpperCase() + str.slice(1)

capitalize("hello fatfish")  // Hello fatfish

14.# Generate a random string of specified length

const generateRandomString = length => [...Array(length)].map(() => Math.random().toString(36)[2]).join('')

generateRandomString(12) // cysw0gfljoyx
generateRandomString(12) // uoqaugnm8r4s

15.# Get a random integer between two integers

const random = (min, max) => Math.floor(Math.random() * (max - min + 1) + min)

random(1, 100) // 27
random(1, 100) // 84
random(1, 100) // 55

16.# Specified digits rounded

const round = (n, d) => Number(Math.round(n + "e" + d) + "e-" + d)

round(3.1415926, 3) //3.142
round(3.1415926, 1) //3.1

17.# Clear all cookies

const clearCookies = document.cookie.split(';').forEach(cookie => document.cookie = cookie.replace(/^ +/, '').replace(/=.*/, `=;expires=${new Date(0).toUTCString()};path=/`))

18.# Detect if it is dark mode

const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches

console.log(isDarkMode)

19.# Scroll to the top of the page

const goToTop = () => window.scrollTo(0, 0)

goToTop()

20.# Determine if it is an Apple device

const isAppleDevice = () => /Mac|iPod|iPhone|iPad/.test(navigator.platform)

isAppleDevice()

21.# Random Boolean values

const randomBoolean = () => Math.random() >= 0.5

randomBoolean()

22.# Get the type of the variable

const typeOf = (obj) => Object.prototype.toString.call(obj).slice(8, -1).toLowerCase()

typeOf('')     // string
typeOf(0)      // number
typeOf()       // undefined
typeOf(null)   // null
typeOf({})     // object
typeOf([])     // array
typeOf(0)      // number
typeOf(() => {})  // function

23.# Determine if the current tab is active or not

const checkTabInView = () => !document.hidden

24.# Check if an element is focused

const isFocus = (ele) => ele === document.activeElement

25.# Random IP

const generateRandomIP = () => {
  return Array.from({length: 4}, () => Math.floor(Math.random() * 256)).join('.');
}

generateRandomIP() // 220.187.184.113
generateRandomIP() // 254.24.179.151

More content at PlainEnglish.io.

 

 

https://javascript.plainenglish.io/25-killer-javascript-one-liners-thatll-make-you-look-like-a-pro-d43f08529404

 

25 Killer JavaScript One-Liners That’ll Make You Look Like a Pro

A list of one-liners you should know to up your knowledge of JavaScript.

javascript.plainenglish.io

 

반응형
반응형

What’s new in Flutter 3.10

https://nyonggodwill11.medium.com/whats-new-in-flutter-3-10-c54124eee63b

 

What’s new in Flutter 3.10

Seamless web and mobile integration, breakthrough graphics performance via Impeller in stable, and more

nyonggodwill11.medium.com

반응형
반응형

https://medium.com/@PurpleGreenLemon/php-isnt-that-bad-so-why-the-hate-c7b374b87ee4

 

PHP isn’t that bad, so why the hate?

Because it’s currently 77% of the internet right now

medium.com

PHP는 진화하고 레벨을 올리느라 바빴지만 우리가 사용하는 도구도 마찬가지입니다. 다른 활성 생태계와 마찬가지로 PHP는 끊임없는 개발로 가득 차 있기 때문입니다.

실제로 2023년 개발자 설문조사에 따르면 PHP 개발자의 64.8%가 정기적으로 프레임워크를 사용하는 것으로 나타났습니다. 모든 PHP 개발자의 절반 이상이 이러한 도구를 신뢰하고 있습니다!

그렇다면 왜 그렇게 인기가 있습니까? 글쎄, 몇 가지 큰 선수를 살펴 보겠습니다.

  • Laravel : 이것은 PHP 프레임워크의 수퍼맨입니다. 2023년 중반 현재 GitHub 에서 60,000개 이상의 별표를 받은 현재 가장 인기 있는 PHP 프레임워크입니다Laravel의 명성은 우아한 구문과 개발 속도입니다. ORM, 라우팅, 보안, Blade라는 놀라운 템플릿 엔진 등이 있습니다. Laravel은 PHP의 많은 단점을 해결하여 안전하고 유지 관리 가능한 PHP 코드를 더 쉽고 빠르게 작성할 수 있도록 합니다.
  • Symfony : Symfony는 PHP 프레임워크의 배트맨과 같습니다. 한동안 사용되어 왔으며 매우 유연하며 많은 대규모 웹 사이트 및 응용 프로그램에서 사용됩니다. 재사용 가능한 PHP 라이브러리를 사용하여 양식 생성, 개체 구성, 라우팅, 인증 등과 같은 작업을 완료할 수 있습니다. Symfony는 GitHub 에서 25,000개 이상의 별을 보유하고있으며 안정성과 수명으로 유명합니다.
  • CodeIgniter : CodeIgniter는 가볍고 설치가 간단하므로 슈퍼 히어로 비교의 플래시입니다. 모든 기능을 갖춘 웹 애플리케이션을 만들기 위해 간단하고 우아한 툴킷이 필요한 개발자에게 적합합니다. 2023년 현재 GitHub 에서 19,000개 이상의 별을 자랑합니다 .

이러한 프레임워크와 Yii , CakePHP  Zend Framework 와 같은 다른 프레임워크는 모두 PHP를 작업하기에 더 즐겁고 생산적인 언어로 만드는 데 기여했습니다. 그들은 좋은 코딩 관행을 시행하고, 재사용 가능한 코드를 제공하고, 프로그래밍의 반복적인 부분을 많이 처리하여 재미있는 일에 집중할 수 있도록 합니다. 요컨대, 그들은 당신의 PHP 생활을 훨씬 더 좋게 만듭니다.

오늘의 PHP: 평판, 현실 및 미래 가능성

PHP의 명성에 관해서는 험난한 여정이었습니다.

"프로그래밍의 핵심"에서 "웹 개발의 다크호스"가 되기까지 PHP의 여정은 헐리우드의 약자 이야기에 불과합니다. 하지만 기억하세요. 헐리우드가 좋은 보상을 좋아하는 것처럼 프로그래밍 세계도 마찬가지입니다.

따라서 몇 가지 신화를 없애자.

오해 #1: PHP는 구식이다.

그렇게 빠르지 않아, 친구! PHP 8의 도입으로 언어는 장갑을 끊는 것과는 거리가 멀다는 것을 보여주었습니다. 사실, 그것은 단지 따뜻해지고 있습니다. PHP는 여기에 있으며 동시대 제품과 경쟁할 수 있는 현대적인 기능으로 상당한 근육을 갖추고 있습니다.

오해 #2: PHP는 느리다.

옛날 옛적에 아마도. 그러나 오늘? 절대적으로하지. PHP 7 이후의 속도 향상은 엄청났습니다. 벤치 마크 테스트는 이전 버전보다 최대 3배 빠른 PHP 8 실행 스크립트를 보여줍니다. 따라서 PHP가 느리다고 말하는 사람이 있으면 캘린더를 확인하도록 요청하세요. 우리는 더 이상 2009년이 아닙니다!

신화 #3: PHP는 안전하지 않습니다.

모든 언어는 잘못 사용하면 안전하지 않습니다. 신뢰할 수 있는 프레임워크 사용을 포함하여 PHP 개발의 최신 모범 사례를 통해 PHP는 다른 언어만큼 안전할 수 있습니다. 구부러진 못에 대해 망치를 탓하지 마십시오!

PHP에 대한 보다 공정한 평가를 위한 간청

PHP는 그렇게 나쁘지 않습니다 .

그러나 농담과 비판의 대상이 되었던 PHP가 더 이상 PHP가 아니라는 점을 인식하는 것도 중요합니다 .

수년에 걸쳐 PHP는 성숙해졌습니다. 겸손한 시작에서 웹의 거의 80%를 지원하는 수준으로 성장했습니다. 과거의 비판을 해결하고 다른 최신 프로그래밍 언어와 정면으로 맞서는 기능을 도입했습니다.

다른 언어와 마찬가지로 PHP도 만병통치약이 아닙니다.

단점, 장점 및 단점이 있습니다. 그러나 이제 오래된 밈을 뒤로 할 때입니다. 다음에 웹 개발 프로젝트에 착수할 때 과거의 명성에 따라 PHP를 할인하지 마십시오.

PHP에 공정한 기회를 주고 현재 장점에 대해 평가하면 PHP 팬이 될 수 있습니다.

PHP 커뮤니티에서 말했듯 이 방 안의 코끼리가 아니라 ElePHPants 에 관한 것입니다.

따라서 조롱에도 불구하고 웹을 더 나은 곳으로 만들기 위한 사명을 지속적으로 적용하고 개선하고 지속한 이 언어의 탄력성을 축하합시다.

반응형
반응형

피드백은 메시지를 분명히 전달하고 이해했는지를
확인하는 훌륭한 방법이다.
그러나 ‘상황이 일어난 후’에 이뤄진다는 단점이 있다.
미래의 성공 가능성을 높이기 위해 ‘상황이 일어나기 전’,
즉, 사람들이 어떤 일에 착수하기 전에
성공에 필요한 정보를 미리 제공하는
피드포워드(feedforward)가 필요하다.
- ‘CEO도 반하는 평사원 리더’에서


피드백은 이미 일어난 일을 평가하는 반면,
피드포워드는 성취해야 하는 내용의 기대치를 명확히 합니다.
피드백은 교정을 위한 것인 반면,
피드포워드는 커뮤니케이션이 제대로 됐는지
알 수 있을 때까지 기다리지 않고
발생 가능한 문제를 미리 예방할 방법을 알려줍니다.
저성과의 80%는 커뮤니케이션에 원인이 있다고 합니다.
훌륭한 리더는 피드백과 피드포워드를 적절히 활용합니다.

반응형
반응형

우리의 몸은
기본적으로 스트레스를 수용하도록
설계되었지만 그것은 짧은 시간 동안만
가능하다. 오늘날 대다수의 사람들이
겪고 있는, 24시간 내내 정신없이
밀려드는 스트레스가 위험한
이유가 여기에 있다.


- 레이첼 켈리의《내 마음의 균형을 찾아가는 연습》중에서 -


* 스트레스는 피해 갈 수 없습니다.
그런데 스트레스도 때로는 삶의 에너지가
될 수 있다는 연구 결과가 속속 발표되고 있습니다.
그러나 전제가 있습니다. 오래 지속되지 않아야 합니다.
24시간 계속되면 위험합니다. 중간중간 풀어야
합니다. 그래야 그다음 더 큰 스트레스도
소화해 낼 수 있습니다.

반응형

'아침편지' 카테고리의 다른 글

어머니의 사랑  (0) 2023.08.05
동사형 꿈  (0) 2023.08.04
빨래를 보면 다 보인다  (0) 2023.08.02
희망이란  (0) 2023.08.01
밀가루 반죽  (0) 2023.07.31
반응형

https://www.netflix.com/kr/title/81144910?s=a&trkid=13747225&trg=cp&vlang=ko&clip=81678126

리키시 | 넷플릭스 공식 사이트

절박한 상황에 내몰린 청년이 스모 선수의 길을 택한다. 그의 건방진 시합 태도가 팬들의 마음을 사로잡으며 전통에 얽매인 스모계에 파란이 일기 시작하는데.

www.netflix.com

반응형

+ Recent posts