As For JS
3.39K subscribers
110 photos
12 videos
4 files
319 links
As For JavaScript...
Обсуждения — @AsForJsTalks
Download Telegram
Отгадка к вопросу про строку и length.

Строки в js представляются согласно стандарту unicode.

Стандарт unicode єто не простая таблица соотсетсвия символа какого-то номеру. Стандарт unicode єто в том числе и сурогатные пары и самостоятельные алгоритмы для интерпретации последовательности символов.

как следствие - не верь глазам своим. потому как то как оно выглядит внешне, совсем не обязательно закодировано так же внутри.

самый простой пример - zero width spacer. то есть пробел нулевой ширишны.


и все єто пол беды.
вторая половина беды в том, что современный средства отображения - от google dev tools до vsCode пишуться людьми которые дупля не отбивают в том что делают.

хотя и сильно пытаются.

но с успехом, который ничего кроме хохота не вызывает.


Use RegExp Luke. с параметром \v или, на худой конец \u
23-00 По Киеву.
⎡dlgs:4⎦ JavaScript и HTML5 или семантическая верстка для бородатеньких
Беседа с прохожим о базовых принципах семантической верстки, которые были заложены в HTML5 стандарт.
Беседа о тех принципах, которых было бы очень хорошо чтобы знал типичный маленький бородатый джаваскриптер.


https://www.youtube.com/watch?v=MrWXqXWRG2o
20-00 По Киеву.
⎡razbor:13⎦ Разбор видео: Выводим Мурыча на чистую воду от Дмитрия Карловского.

По многочисленным просьбам, максимально корректно, разберем видео от автора Мол Дмитрия Карловского.

Прохладные истории с постными лицами и унылый юмор - гарантирован.

Приходите, гарантировать что будет интересно я не могу, но то, что будет над чем подумать - обещаю.

Буду читать чат на YouTube и личку в Telegram.


https://www.youtube.com/watch?v=RrGMG4S0hLQ
煤渡り
CусуВатари
Гавнюшки (муризм)

СКОРО!
Если кому-то нечего делать.

Дана функция:
function doName( theStrName ) {

return (
()=>true
)
}

Функция doName возвращает стрелочную функцию. Код стрелочной функции значения не имеет. Имеет значение то, что это функция.

Придумайте 4+ варианта того, как можно модифицировать код функции doName, чтобы имя возвращаемой стрелочной функции становилось эквивалентным theStrName

var doArrow = doName ( "AnyName" );
doArrow(); // true
doArrow.name === "AnyName" ; // true

var doAnotherArrow = doName ( "AnotherName" );
doAnotherArrow(); // true
doAnotherArrow.name === "AnotherName" ; // true
игого:
1) Прошли три курса химии
2) впереди лучевая

что это значит:
Пришлось пройти лишний курс (третий) химии
Вероятность ремиссии подтвердилась и она 70+ %

Из положительного:
Парализованную левую часть лица так и не отпустило.


Из отрицательного:
Из-за лишнего курса химии -
у меня не хватает теперь 27 000 гривен (700$) для лучевой и завершение курса.


О ЧЕМ ХОЧУ ПОПРОСИТЬ
Увидите наших - чмокните их в жопу!
Будет трудно - высылайте деньги!
Мочите крабов сопливые медузы!

Разные реквизиты:
Карта Приват UAH: 5168745021397333
Карта Приватr USD: 5168745022222621
Bobrov Maksym


USDT Tron (TRC20): TKoZu59WHiX6L6qvwYTYTsZJerDrnAHBTx

USDT etherium (erc20): 0x75fb8a62dfcf453b2e73f1ef1c407d46f918fffa

TON: UQAGXvuhxg3qU0eFgOxtdDlKXqdp1zPq6yCRSRbRYQClxOzH

bitcoin:bc1q74aru82v4d3alay7p53jdwkmxe4a5gz7fmvfm2?message=AsForJS&time=1686349743

PayPal: demimurych@protonmail.com (Может не у всех работать)

Я точно гарантирую, что Вам за это ничего не будет.

И еще, я очень прошу не репостить это сообщение в других группах.
По крайней мере без моего разрешения.

Эта группа моя, я имею право делать тут что хочу.

Прорвемся котаны!

собрано всего uah:
980 / 27 000
8100 / 27 000
8900 / 27 000
9900 / 27 000
10600 / 27 000
11100 / 27 000
13168 / 27000

13228 / 27 000
19008 / 27 000
22113 / 27000
22713 / 27 000

27 013 / 27000
СОБРАНО


29013 / 27000
ЗАЧИНЕНО

но все равно приятно - куплю себе пицу
коту его курицу - шоб он обожрался.
кадавр желудочно неудовлетворенный
Просто для настроения.

Олені, олені — небриті і неголені
Дивні створіння: в них з мозків стирчать коріння
Олені, олені — небриті і неголені — олені

https://www.youtube.com/watch?v=gbF_fwTfZ9U
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача для Senior JS Developer
из моих архивов собеседований

Напишите код (или опишите принцип), который бы запретил выполнение любого метода любой функции кроме заданного. Например кроме console.log.

Например:
// Ваш код 
{
// внутри этого блока можно вызвать ТОЛЬКО console.log
// и не существует никакой возможности вызвать что-то еще
console.log("Start"); // Работает как ожидается
alert("Yo"); // игнорируется
new Promise(); // игнорируется
setTimeout( ()=>{}); // игнорируется
console.log("End"); // Работает как ожидается
}


То есть при выполнении вышеобозначенного примера, мы увидим в коносли:
Start
End


Подчеркиваю, ограничений на использование любых вызовов не существует. То есть внутри блока допускается использование любой функции или любого внешнего API.

Существует только условие, которое определяет - ЧТО именно разрешено использовать (white list методов или функций) .

Использовать Shafow Realm запрещено. Тогда его просто не было. Да и сейчас он под галкой.
Отгадка на задачу Задача для Senior JS Developer
Напишите код (или опишите принцип), который бы запретил выполнение любого метода любой функции кроме заданного. Например кроме console.log.

// Ваш код 
{
// внутри этого блока можно вызвать ТОЛЬКО console.log
// и не существует никакой возможности вызвать что-то еще
console.log("Start"); // Работает как ожидается
alert("Yo"); // игнорируется
new Promise(); // игнорируется
setTimeout( ()=>{}); // игнорируется
console.log("End"); // Работает как ожидается
}



Решение задачи возможно в non strict mode, с использование with и Proxy:

var theWhiteList = {
console
// , Promise
// , setTimeout
// , alert
};

var doNope = function(){};

var theObj = new Proxy(
theWhiteList
, {
get: ()=> doNope
, has: (theObj, theKey)=>!( theObj[theKey] )
}
);


with ( theObj )
{
console.log("Start"); // Работает как ожидается
alert("Yo"); // игнорируется
new Promise(); // игнорируется
setTimeout( ()=>{ console.log("time"); }); // игнорируется
console.log("End"); // Работает как ожидается
}


Обозначенный выше proof of concept легко адаптируется не только для функциональных обьектов, но и для идентификаторов связанных с прочими типами.

В настоящий момент в спецификацию продвигают Shadow Realm, которые позволят создавать подобные песочницы намного более простым способом.

А так же активно обсуждается тема адаптации with для use strict

with - это единсвенный способ прямой манипуляции контекстом исполнения.


Для чего использовались подобные решения?
для создания песочниц, где необходимо было наложить ограничения на выполнение кода третьих лиц.
Не про JS и не про программирование

Внимание:
Для адекватного восприятия следующего - обязательно наденьте шапочку из фольги.

Можно этого и не делать - если Вам нечего защищать.
(Для тех кто не понял - я уже начал и шапочка нужна)


Трудности перевода или Оппенгеймер
Если у Вас есть около 9 часов, когда Ваш моск бесполезен, и вы знаете русский и Украинский, или по крайней мере Английский и русский, очень рекомендую посмотреть фильм Оппенгеймер в двух переводах.

Особенно обратите внимание на сцены, где идет речь о коммунистах и ссср. Отдаю должное воображению авторам русского перевода.

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

Кстати, крайне всем рекомендую послушать пару лекций Семихатова на YouTube. Откроете для себя много нового. Ну например, что кот Шредингера это не про то, что кот находится в двух состояниях одновременно, но про неудачную аналогию, где речь идет о том, как в квантовом мире, процесс измерения, может повлиять на результат самого измерения. Впрочем как и в случае JS. С аналогиями все очень сложно.

Вернемся к квантовой механике. В фильме переодически звучат очень простые термины или концепции отсылающие к ней самой. Так вот, по какой-то мне неведомой причине, русский перевод эти концепции упрощает до уровня плоской земли.

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

Монография и статья.
Молекулярная физика и молекулы.


И такие ляпы на протяжении всего фильма. Почти вся терминология, в русском переводе упрощена до уровня плинтуса. Хотя в оригинале как и в Украинском переводе ничего подобного нет.

Ну да черт с ней с пропагандой и физикой. По сути это же одно и тоже - так ведь?

Больше всего доставил сухой песок, после минимум 48 часового дождя.


*Шапочку из фольги можно снять*

Рискну предположить, что Оппенгеймер, Энштейн, Гейзинберг это не те люди которые не понимали того простого факта, что ядерный синтез будет понятен любому студенту с физтеха.

Создание ядерной бомбы вопрос не Гения, а времени. Современность тому пример. И потому, подавать историю Оппенгеймера как историю человека который переживал о том, что он приложил руку к БИМБЕ - это не уважать этого человека.

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

Оппенгеймер переживал до конца дней, что человечество подошло к той черте, когда плоды научного прогресса могут в секунду уничтожить все человечество и при этом остановить этот самый прогресс теперь, можно только сделав тоже самое - уничтожив все человечество.

А ядрёно-атомная бимба это пшик. Это вам не гипотезу Пуанкаре доказать. Где только разобраться в том, что написано может 5 человек на всей земле. Не говоря уже о том, чтобы понять.

Да и страна, которая прокакала такого гения - вызывает у меня опасения силой до поноса.


Дискас.
Не про JS и не про программистов.
но про хорошее настроение от рассово верной группы - пневмослон.

почему все рассово верные группы пишут такие хорошие песни?

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

свято место пусто не бывает: пневмослон!

https://youtu.be/-6An7luR9_Q?si=dDlte1_ctTXQdkuO
Как в вашей душе откликается такая обложка?
As For JS
Как в вашей душе откликается такая обложка?
Это обложка не просто так.
Это обложка под рубрику, где нужно будет решить неординарную задачу.

Решение которой зависит от того, насколько человек мыслит нестандартно, или насколько глубоко знает архитектуру языка JS
ша!

с єтого момента я ввожу диктатуру,
и назначаю себя диктатором єтого чата.

всенародно избранным и пожизненно.

как следствие начинаю репрессии в соответствии с тем как зачесалась моя левая пятка


левая пятка у меня чешется от
1) любого упоминания в уничижительной форме Украины, и ее нации

2) языками общения в группе заявляются все которые лично я могу понять. Если я не понимаю - репрессирую

3) писать претензии можно в лигу сексуальных реформ организации озабоченых наций
As For JS pinned «ша! с єтого момента я ввожу диктатуру, и назначаю себя диктатором єтого чата. всенародно избранным и пожизненно. как следствие начинаю репрессии в соответствии с тем как зачесалась моя левая пятка левая пятка у меня чешется от 1) любого упоминания в уничижительной…»
Please open Telegram to view this post
VIEW IN TELEGRAM