DEVOPSITSEC Telegram 1526
Forwarded from Golang
πŸ–₯ ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ язык программирования Gauntlet, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΠΉ возмоТности Go

ДоступСн ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Π»ΡŒΡ„Π°-выпуск языка программирования Gauntlet, надстройки Π½Π°Π΄ языком Go, Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅ΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС Gauntlet ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ всС возмоТности языка Go, Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² прСдставлСниС Π½Π° языкС Go ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ экосистСмой Go Π±Π΅Π· нСобходимости задСйствования обвязок (binding).

Π Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ инструмСнтарий написан Π½Π° языкС F# ΠΈ распространяСтся ΠΏΠΎΠ» Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv3. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ прСдоставляСтся Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρƒ VSCode.

Π Π΅ΡˆΠ°Π΅ΠΌΡ‹Π΅ Π² Gauntlet ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

β€’ Назойливый Π²Ρ‹Π²ΠΎΠ΄ ошибок, связанных с Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ (Gauntlet добавляСт для всСх Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ Π²ΠΈΠ΄Π° "_ = a").
β€’ Π Π°Π·Π΄ΡƒΡ‚Ρ‹ΠΉ ΠΊΠΎΠ΄ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок. Π’ Gauntlet вмСсто условных Π±Π»ΠΎΠΊΠΎΠ² Π²ΠΈΠ΄Π° "if err != nil" ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ однострочныС выраТСния "try-with".
β€’ Назойливый способ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈ экспорта (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Go Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ экспортируСмыС ΠΈΠΌΠ΅Π½Π° Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈΡΡŒ Π½Π° Π·Π°Π³Π»Π°Π²Π½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ).
β€’ ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Ρ‚Π΅Π½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Π’ Gauntlet ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ выраТСния Π²ΠΈΠ΄Π° 'let properWord = @String len(lines) > 1 ? "lines" : "line"'.
β€’ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ синтаксиса switch-case.
β€’ УслоТнённыС Ρ†ΠΈΠΊΠ»Ρ‹ "for". Π’ Gauntlet ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ "for let _, c in "Hello" {" вмСсто "for _, c := range "Hello" {".
β€’ НСобычный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания (":=" для ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ объявлСния ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…; "=" для измСнСния значСния ΡƒΠΆΠ΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…).
β€’ ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ (Π² Gauntlet поддСрТиваСтся Π²Ρ‹Π·ΠΎΠ² Π²ΠΈΠ΄Π° 'let trimmedLines = fileContentStrVersion => strings.trimSpace(_) => strings.split(_, "\n")'.

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности Gauntlet:

β€’ Бинтаксис "when-is" ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° switch.case, Π½ΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ выраТСниями.
β€’ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° pipe-ΠΊΠ°Π½Π°Π»ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· нСсколько Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ "10 => add(_, 10) => add(_, 30) => divide(_, 2)".
β€’ ВыраТСния "try .. with" ΠΈ "force .. with".
β€’ Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ "wrapper" для создания псСвдонимов Ρ‚ΠΈΠΏΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. "wrapper Int Dollars").


βœ”οΈ Github
βœ”οΈ Gauntlet
βœ”οΈ ΠΠΎΠ²ΠΎΡΡ‚ΡŒ

#Gauntlet #golang

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘Ž9πŸ€ͺ4❀3πŸ‘3πŸ”₯2πŸ–•1



tgoop.com/DevOPSitsec/1526
Create:
Last Update:

πŸ–₯ ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ язык программирования Gauntlet, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΠΉ возмоТности Go

ДоступСн ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Π»ΡŒΡ„Π°-выпуск языка программирования Gauntlet, надстройки Π½Π°Π΄ языком Go, Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅ΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС Gauntlet ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ всС возмоТности языка Go, Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² прСдставлСниС Π½Π° языкС Go ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ экосистСмой Go Π±Π΅Π· нСобходимости задСйствования обвязок (binding).

Π Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ инструмСнтарий написан Π½Π° языкС F# ΠΈ распространяСтся ΠΏΠΎΠ» Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv3. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ прСдоставляСтся Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρƒ VSCode.

Π Π΅ΡˆΠ°Π΅ΠΌΡ‹Π΅ Π² Gauntlet ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

β€’ Назойливый Π²Ρ‹Π²ΠΎΠ΄ ошибок, связанных с Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ (Gauntlet добавляСт для всСх Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ Π²ΠΈΠ΄Π° "_ = a").
β€’ Π Π°Π·Π΄ΡƒΡ‚Ρ‹ΠΉ ΠΊΠΎΠ΄ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок. Π’ Gauntlet вмСсто условных Π±Π»ΠΎΠΊΠΎΠ² Π²ΠΈΠ΄Π° "if err != nil" ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ однострочныС выраТСния "try-with".
β€’ Назойливый способ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈ экспорта (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Go Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ экспортируСмыС ΠΈΠΌΠ΅Π½Π° Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈΡΡŒ Π½Π° Π·Π°Π³Π»Π°Π²Π½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ).
β€’ ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Ρ‚Π΅Π½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Π’ Gauntlet ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ выраТСния Π²ΠΈΠ΄Π° 'let properWord = @String len(lines) > 1 ? "lines" : "line"'.
β€’ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ синтаксиса switch-case.
β€’ УслоТнённыС Ρ†ΠΈΠΊΠ»Ρ‹ "for". Π’ Gauntlet ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ "for let _, c in "Hello" {" вмСсто "for _, c := range "Hello" {".
β€’ НСобычный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания (":=" для ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ объявлСния ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…; "=" для измСнСния значСния ΡƒΠΆΠ΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…).
β€’ ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ (Π² Gauntlet поддСрТиваСтся Π²Ρ‹Π·ΠΎΠ² Π²ΠΈΠ΄Π° 'let trimmedLines = fileContentStrVersion => strings.trimSpace(_) => strings.split(_, "\n")'.

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности Gauntlet:

β€’ Бинтаксис "when-is" ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° switch.case, Π½ΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ выраТСниями.
β€’ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° pipe-ΠΊΠ°Π½Π°Π»ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· нСсколько Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ "10 => add(_, 10) => add(_, 30) => divide(_, 2)".
β€’ ВыраТСния "try .. with" ΠΈ "force .. with".
β€’ Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ "wrapper" для создания псСвдонимов Ρ‚ΠΈΠΏΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. "wrapper Int Dollars").


βœ”οΈ Github
βœ”οΈ Gauntlet
βœ”οΈ ΠΠΎΠ²ΠΎΡΡ‚ΡŒ

#Gauntlet #golang

@golang_google

BY DevOps




Share with your friend now:
tgoop.com/DevOPSitsec/1526

View MORE
Open in Telegram


Telegram News

Date: |

Hui said the messages, which included urging the disruption of airport operations, were attempts to incite followers to make use of poisonous, corrosive or flammable substances to vandalize police vehicles, and also called on others to make weapons to harm police. As the broader market downturn continues, yelling online has become the crypto trader’s latest coping mechanism after the rise of Goblintown Ethereum NFTs at the end of May and beginning of June, where holders made incoherent groaning sounds and role-played as urine-loving goblin creatures in late-night Twitter Spaces. Ng Man-ho, a 27-year-old computer technician, was convicted last month of seven counts of incitement charges after he made use of the 100,000-member Chinese-language channel that he runs and manages to post "seditious messages," which had been shut down since August 2020. The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: Developing social channels based on exchanging a single message isn’t exactly new, of course. Back in 2014, the β€œYo” app was launched with the sole purpose of enabling users to send each other the greeting β€œYo.”
from us


Telegram DevOps
FROM American