#%D0%A1%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81

2025-09-08

Деструктуризация в JavaScript

Без сомнений, JavaScript — крайне популярный язык программирования. И разработчики постоянно создают обновления, которые позволяют писать код проще, короче и понятнее. Одним из таких инструментов стала деструктуризация — способ получения данных Привет, Хабр! Меня зовут Александр Дудукало, я автор базового курса по JavaScript . В этом тексте на примерах разберемся, как работает синтаксис и как деструктуризировать массив. Подробности под катом!

habr.com/ru/companies/selectel

#javascript #selectel #js #javascrip #деструктуризация_в_JS #синтаксис #массив #деструктурировать_массив #уроки_программирования

2025-09-08

Деструктуризация в JavaScript

Без сомнений, JavaScript — крайне популярный язык программирования. И разработчики постоянно создают обновления, которые позволяют писать код проще, короче и понятнее. Одним из таких инструментов стала деструктуризация — способ получения данных Привет, Хабр! Меня зовут Александр Дудукало, я автор

habr.com/ru/companies/selectel

#javascript #selectel #js #javascrip #деструктуризация_в_JS #синтаксис #массив #деструктурировать_массив #уроки_программирования

2025-08-15

Почему алгоритм плохо защищает от социальной инженерии: мысленный эксперимент в мире кантианцев-манипуляторов

Что, если самые надёжные системы защиты — двухфакторная аутентификация, тренинги по социнженерии, чёрные списки — на самом деле работают против нас? Что если каждое новое правило, каждый баннер «Осторожно, фишинг!» не укрепляет безопасность, а формирует в пользователе постоянное ощущение угрозы — и делает его уязвимее? Представьте мир, где все действуют разумно: логично, автономно, добродетельно. И при этом хладнокровно убивают или манипулируют, потому что их «добродетель» проходит тест на всеобщность. В этом мысленном эксперименте формальная логика не спасает от морального кошмара. Алгоритм не различает помощь и манипуляцию — он видит синтаксис, но не смысл. А настоящая битва идёт не за пароли, а за интерпретацию. Где проходит грань между заботой и контролем? Когда доверие становится оружием? Чтобы увидеть эти ловушки, нужен не просто код, а взгляд гуманитария. Иначе мы будем строить идеальные системы, в которых человек постепенно перестаёт быть субъектом.

habr.com/ru/articles/937510/

#безопасность #безумие #безопасность_в_сети #семантика #логика #синтаксис #синтаксический_анализ #социальная_инженерия #этика

Аукционный дом Udarnikauctionudarnik
2025-08-14

Лот 207 Аукцион 76-1.

Сакулин П.Н. Сборник статей для упражнения в знаках препинания и для синтактического разбора. Пособие для средних и низших учебных заведений. 3-е изд. Тихомирова. Москва, 1907. 78 с. Твердый владельческий переплет, 21 х 15 см. Без корешка, крышки переплета отдельно от блока.

ru.bidspirit.com/ui/lotPage/so

2025-06-27

Будущее ИИ — формальные грамматики

Почему даже самая мощная LLM иногда выдаёт бессмысленные фразы и противоречия? Всё дело в экспоненциальном росте вариантов (N^M) и свободном копировании человеческих ошибок. Читайте статью, чтобы узнать, как мы с помощью формальных грамматик превращаем хаотичную генерацию в управляемый синтез, усиливая роль семантики и соблюдая структурные правила.

habr.com/ru/companies/postgres

#формальные_языки #формальные_грамматики #guided_decoding #xgrammar #sql_generator #vllm #формальные_языки_и_грамматики #синтаксис #семантика #llm

2025-06-04

[Перевод] Об (отсутствии) синтаксической поддержки обработки ошибок в Go

Программисты на Go уже давно и долго жалуются на слишком многословную обработку ошибок. Все мы близко (а иногда и болезненно) знакомы со следующим шаблоном кода: x, err := call() if err != nil { // обработка err} Проверка if err != nil встречается настолько часто, что может становиться объёмнее остального кода. Обычно это происходит в программах, выполняющих много вызовов API, в которых обработка ошибок рудиментарна и они просто возвращаются. Некоторые программы в итоге выглядят примерно так: func printSum(a, b string) error { x, err := strconv.Atoi(a) if err != nil { return err } y, err := strconv.Atoi(b) if err != nil { return err } fmt.Println("result:", x + y) return nil } Из десятка строк кода тела этой функции реальную работу выполняют только четыре (вызовы и последние две строки). Остальные шесть строк — это шум. Код слишком многословен, поэтому неудивительно, что жалобы на обработку ошибок уже годами находятся на вершине списков в опросах разработчиков. (Какое-то время жалобы на обработку ошибок обгоняла только досада из-за отсутствия дженериков, но теперь, когда Go поддерживает дженерики, обработка ошибок снова вернулась на первое место.) Команда разработчиков Go воспринимает отзывы сообщества со всей серьёзностью, поэтому мы много лет пытались придумать решение этой проблемы.

habr.com/ru/articles/915468/

#обработка_ошибок #синтаксис #error_handling #ошибки

2025-05-07

Часть 1. Почему Go-ассемблер и векторизация могут быть полезны: идея для ускорения

Когда речь заходит о производительности в Go, большинство разработчиков полагаются на стандартные библиотеки и встроенные инструменты оптимизации, но компилятор Go не всегда генерирует оптимальный машинный код. В таких случаях можно взять дело в свои руки и использовать ассемблерные инструкции для ускорения критически важных участков. Ассемблер может показаться сложным и пугающим, но он открывает большие возможности для работы с низкоуровневыми оптимизациями. Готовы разобраться, как это работает? Тогда погнали! Привет, Хабр! Меня зовут Игорь Панасюк, я работаю в Яндекс, преподаю в ИТМО, а также в свободное время выступаю на конференциях, делюсь опытом в соцсетях и помогаю развитию Go-сообщества.

habr.com/ru/companies/oleg-bun

#golang #optimization #intermediate_representation #ssa #ассемблер #машинный_код #simd #intrinsic #синтаксис #VMOV

2025-01-22

[Перевод] Самый странный лексический синтаксис, который я обнаружила, исследовав 42 языка программирования

Программирование — это не только алгоритмы и логика, но и удивительное разнообразие синтаксиса языков. Работая над новым средством подсветки синтаксиса для llamafile, разработчик Justine Tunney* исследовала 42 языка программирования — от классического C и экзотического Tcl до мощного Ruby. Justine делится своими открытиями о том, насколько причудливым и непредсказуемым может быть лексический синтаксис. Например, триграфы в C — устаревший инструмент для поддержки клавиатур с ограниченными символами, фиксированные длины строк в FORTRAN, вложенные комментарии в Haskell или строки с двойными квадратными скобками в Lua. Ruby вообще оказался чуть ли не самым сложным языком для подсветки из-за его контекстно-зависимого синтаксиса. Под катом вы найдете описание разработки инструмента подсветки и исследование того, как языки программирования решают одни и те же задачи по-разному. Если вам интересны синтаксис, языковые особенности и сложности лексического анализа – эта статья для вас. *Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис

habr.com/ru/companies/ncloudte

#синтаксис #синтаксис_языков #синтаксис_javascript #синтаксис_c #ruby #перевод #мойофис #perl #basic #ada

2025-01-10

Gambit Scheme: переопределяем скобки

Рассмотрим недавно вошедшую в Gambit Scheme возможность по переопределению семантики скобок. Gambit Scheme – используемый автором диалект Scheme, имеющий очень быстрый интерпретатор и компилятор с рядом полезных расширений, которые могут быть построены из исходного кода без внешних зависимостей, а также в полной мере поддерживают интернациональные символы UTF-8.

habr.com/ru/articles/872704/

#Scheme #Lisp #Программирование #синтаксис

2024-12-14

Вопросы к UI. Шаблон компонента. Основная часть

Ну что, продолжаем критиковать существующие подходы создания пользовательских интерфейсов, стоить теории - как привести все это дело в порядок, и ныться о том, как мы до такого докатились. Данная статья является основной частью ранее опубликованную работы, посвященной синтаксису и способам определения шаблонов компонентов. Читать

habr.com/ru/articles/866638/

#пользовательские_интерфейсы #фронтенд #фронтендразработка #синтаксис

2024-12-08

Вопросы к UI. Вступление

Не знаю как до вас донести это, и насколько осторожно следует подбирать слова. Мне больно от того, как сейчас происходит создание пользовательских интерфейсов, а существующие подходы кажутся каким‑то недоразумением. И поймите, речь обо всех платформах — веб, мобилки, десктоп. Будучи разработчиком, и исследуя «новые» способы реализации UI, сквозь годы опыта смотришь на все это дело с тяжелым вздохом, мотаешь головой из стороны в сторону, и все что хочется — захлопнуть крышку ноутбука и заняться чем‑то другим. А сталкиваясь с этим изо дня в день на работе — не знаю, как мы не кричим от этого, правда не знаю. И нет, не стану говорить о том, что текущие инструменты не работают, это неправда. Приложив достаточное количество усилий, и да, возможно, несколько раз ударив себя же по лицу, вы с их помощью выполните все или почти все возложенные на вас задачи. Вопрос лишь в том — какой ценой. Читать

habr.com/ru/articles/864816/

#пользовательские_интерфейсы #фронтенд #фронтендразработка #синтаксис

2024-12-05

Синтаксис, синглтон и смертельный ромб в С++: взгляд опытного разработчика на C

Давайте знакомиться: меня зовут Анатолий Семятнёв, я и моя команда разрабатываем ПО для опорных сетей 5G в YADRO. В IT-сфере работаю давно, и мой опыт в основном связан с языком С: занимался Board Support Package (BSP) и драйверами, много работал с операционной системой QNX. До того, как начал полноценно работать на С++, сталкивался с языком в нулевые, писал на С++98. Тем не менее все это время я краем глаза поглядывал, что происходит в С++, и хотел вернуться к программированию на этом языке. Читал книги, делал пет-проекты, смотрел записи конференций и митапов по С++. А когда пришел в YADRO, стал писать на С++. Мне с ходу дали большую фичу для имплементации, я писал много кода, и получал комментарии от коллег. В этом материале собрал все, что изучил или вспомнил по итогам код-ревью. Что рассмотрим в статье: • Ключевые концепции — explicit, final, default, string — и как их использовать. • Инициализацию мемберов с помощью пустого брейс-листа. • Синглтон Майерса в корутинах. • «Смертельный ромб» и все, что связано с виртуальным наследованием.

habr.com/ru/companies/yadro/ar

#с++_программирование #с++ #синглтон #корутины #синтаксис #explicit #final #default #string #виртуальное_наследование

2024-11-07

Синтаксический анализатор на стеках и lambda-выражениях (Axolotl)

Синтаксический анализатор на стеках и lambda-выражениях (Axolotl) В этой статье рассматривается практическая реализация синтаксического анализатора, основанного на стеке состояний и lambda-выражениях. Такой подход упрощает обработку синтаксиса, делая его гибким и легко масштабируемым. В статье описана архитектура анализатора, от лексического анализа до правил обработки состояний и обработки ошибок. Обсудим, как использовать состояния для синтаксического анализа ключевых конструкций и продемонстрируем простые, но эффективные методы для управления состояниями. Эта реализация — отличный выбор для быстрого прототипирования и собственных учебных языков.

habr.com/ru/articles/856616/

#Аксолотль #Axolotl #язык_программирования #анализатор #синтаксический_анализ #синтаксис #shunting_yard #стек #парсер #парсеркомбинаторы

2024-08-29

10 кубиков синтаксического сахара

В питоне очень много полезного и интересного синтаксического сахара. Настолько много, что у неподготовленных пользователей может случиться сахарный диабет. Здесь вы увидите несколько уникального для питона синтаксического сахара, его примеры правильного и неправильного применения.

habr.com/ru/articles/839558/

#синтаксический_сахар #синтаксис #языковые_конструкции #pythonic

2024-05-03

Как LLM учат понимать синтаксис

Скорее всего, вы поняли заголовок правильно, хотя в нём есть стилистическая ошибка — двусмысленность (кто-то учит LLM, или они учат кого-то?). Человеческое понимание языка остается ориентиром и пока недостижимой целью для языковых моделей. При всей небезошибочности первого и при всех невероятных успехах последних. Например, человеку обычно не составляет труда однозначно трактовать двусмысленные фразы исходя из контекста. Более того, мы с удовольствием используем такие каламбуры в шутках разного качества. Из самого известного приходит на ум только “В Кремле голубые не только ели, но и пили” (предложите свои варианты в комментариях — будет интересно почитать). Есть ещё “казнить нельзя помиловать”, но эта двусмысленность разрешается запятой. Самый известный пример в английском: “ Time flies like an arrow; Fruit flies like a banana”. Человек скорее всего после некоторых раздумий поймёт это как “ Время летит как стрела, мухи любят банан ” (хотя мне, например, понадобилось на это несколько секунд). Яндекс переводчик понимает эту фразу так: “ Время летит как стрела, фрукты разлетаются как бананы ”. Google translator демонстрирует зоологическую эрудированность: “ Время летит как стрела; Фруктовые мушки, как банан ”, а ChatGPT предлагает “ Время летит как стрела; Мухи на фруктах летают как бананы ”. В общем, никто не справился.

habr.com/ru/companies/ntr/arti

#llm #nlp #large_language_model #transformers #трансформеры #синтаксис #обработка_естественного_языка

2024-04-23

Возможное решение проблемы ссылок в языках программирования

Любому программисту знакомо понятие "ссылка". Под этим термином обычно понимают небольшой объект, главная задача которого обеспечить доступ к другому объекту, физически расположенному в другом месте. Из-за этого ссылки удобно использовать, они легко копируются, и с их помощью очень просто получить доступ к объекту, на который эта ссылка ссылается и можно получить доступ к одним и тем же данным из разных мест программы. К сожалению ссылки, точнее ручное управление памятью, является наиболее частой причиной возникновения различных ошибок и уязвимостей в программном обеспечении. А все попытки автоматического управления памятью с помощью различных менеджеров упираются в необходимость контролировать создание и удаление объектов, а так же периодически запускать сборщик мусора, что отнюдь не положительно сказывается на производительности приложений. Тем не менее, ссылки в той или иной форме поддерживаются во всех языках программирования, хотя под этим термином часто подразумеваются не полностью эквивалентные термины. Например, под словом "ссылка" можно понимать ссылку как адрес в памяти (как в С++) и ссылку, как указатель на объект (как в Python или Java) . Хотя встречаются языки программирования, которые пытаются решать данные проблемы за счет концепции "владения" ( Rust , Аргентум или NewLang ). О возможном решении этих, и других имеющихся проблем со ссылками далее и пойдет речь.

habr.com/ru/articles/809773/

#разработка_языков_программирования #программирование #python #c++ #синтаксис

2024-03-28

5 способов писать эффективный код на Go: от названий переменных до архитектуры

Если вы задумывались, какие практики использовать, чтобы писать код на Go быстро и качественно, этот материал для вас. Руководитель группы разработки подсистем Геннадий Ковалев и эксперт по разработке ПО Даниил Подольский обсуждают пять способов повысить эффективность разработки в команде Go-программистов: они расскажут, как называть переменные, составлять документацию и продумывать архитектуру так, чтобы специалистам в команде и смежных отделах было легко работать с написанным кодом. Статья будет полезна начинающим специалистам и командам, которые недавно работают вместе. Опытных разработчиков приглашаем в комментарии — расскажите, какие практики для повышения эффективности кода используете вы.

habr.com/ru/companies/yadro/ar

#работа_в_команде #go #эффективность #архитектура #нейминг #синтаксис #юниттесты #swagger #чистая_архитектура

Найменшенькийbalaraz@social.net.ua
2024-03-18

У синтаксисі Haskell як і у Python відступи грають важливу роль. Коли у нас є довге визначення і ми хочемо розбити його на менші й зрозуміліші частини потрібно якось уточнити що це не нове оголошення, а продовження попереднього.

Для прикладу візьмемо вираз if then else, бо інші ми ще не вивчали.

f x = if x > 0 then True else False

У цьому виразі немає великих значень чи формул, але ми розглянемо його для простого розуміння. Розбити його на окремі рядки ми можемо так.

f x =
  if x > 0
  then True
  else False

Або так.

f x =
  if x > 0 then
    True
  else
    False

Кількість пробілів не має значення. Головне що їх було, або таж кількість, або більше. Якщо відступ відсутній, то це означає що починається нове оголошення.

!! Один символ табуляції завжди вважається як 8 пробілів.

#ukrhaskell #програмування #haskell #відсупи #табуляція #синтаксис #syntax #spaces #tab

2024-02-23

Мета-Переводчики: реальность или фантастика?

Всем Хабр! В этой статье пойдет речь о переводчиках. Но не в привычном (во всяком случае, в IT-мире) понимании, - а с точки зрения математики. Да-да, это редкий случай, когда нас будут интересовать переводчики вне позиции смыслов. Сразу оговорюсь, как это стало чаще заводиться в моих статьях: Создать Мета-Переводчик

habr.com/ru/articles/794286/

#переводчик #машина_тьюринга #автоматы #GPT #синтаксис #грамматика #иерархия_Хомского #языки

2024-01-23

В плену JavaScript: как веб-разработка стала заложницей одного языка

В мире веб-разработки JavaScript давно стал не просто инструментом, а основополагающей силой, без которой современный интернет трудно представить. Однако эта монополия языка несёт в себе не только преимущества, но и серьезные риски. Мы собрали ведущих экспертов по JavaScript, чтобы в рамках дискуссии на YouTube обсудить перспективы развития языка и шансы его свержения с Олимпа веб-разработки.

habr.com/ru/companies/lanit/ar

#javascript #typescript #вебразработка #синтаксис #синтаксис_typescript #синтаксис_javascript #языки_программирования

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst