Back to The tech awesomeness
Table of contents
JavaScript chapters

The article for today.

Let's suppose errors are handled now at some point along with error handling of browser issues relative to user groups.

Now what about preventing errors?

Today's topic is validation. The tool for example is rather commonly accepted:
http://www.jslint.com/

Another dichotomy of javascript: is it any chance, that validation help nowadays or not? In between?

Because the jslint-tool itself with the available features subjectively might cover the wide range of various validation scenarios for the developer to be on the safest side.

However, from the other point of view there is quite a few arguments that might lead someone away the validation path.

The first one is the standards are changing and if the newly developing products are validating the code more oftenly, the more mature it grows and the more routine tasks are turned into, the less the intention to validate it over and over. Moreover, the question about the necessity is being arisen, whether it is needed for product on the these mature phases.

The second one is testing + test-coverage and validation. Both processes are attempting to increase the quality of the code. However, to avoid the waste of time by doing in some sense the duplicating steps in these processes for not-needed level of quality, it is also wise to set up from the initiation point of project planning: what is the code quality level needed. With keeping in mind, the traps of code perfectionism and low-level quality, which is bug-prone.

The third one is the nature of javascript projects for validation: what for example, if your project is a mix of different technologies and the validation is giving some strange warning, so that handling and apprehending of those use more time than it is giving as outcome after validation. This argument would also touch the levels of knowledge of the code-base plus the level of knowledge of the javascript.

As a conclusion at this point I would this this topic to following question:

could that be that the more senior the programmer become with third-party project, the more mature the project become, the more native the author to the origins of the project, the more the programmer spent with the javascript, the less validation is required, or vice versa plus the variety of possible cases in the middle?

Waiver: it is not the absolute truth, where it is more close to an attempt to understand validation approaches.

Оновлення від 2022-02-03.

The update as of 2022-02-03.

W.r.t. browsers following a relation there to JavaScript some versions of them are currently observable in such following situation. Out of many browsers at least some browser is leaving activation of JavaScript or not only to some user, some browser is leaving activation of JavaScript or not to some developer in DevTools, thus by that one leaving by default it as always activated some browser is leaving activation of JavaScript or not to some user or developer in DevTools, thus by that one creating some hierarchy of preference of that activation similarly as in some frameworks for web. Probably there are more such options in other browsers. Whether it is in a link with its validation or not at least for privacy as observable also previously there but not with JavaScript in those situations. But. In a way were those previous ones as open source or closed source or semi, still keeping such privacy as an argument for an account, but adding to that that not only privacy but a support of those previous ones was also an argument in browsers by browsers, whether acceptable or not that after such piece of previous software is compilable in a client and that is a browser in such case after their transfer into there, and adding that many approaches were not known at that period of time which became known afterwards, and about mdN+Ndm, it is of no surprise if that among of a come back or a return of those once ready made software and such pieces in some form or another happens there due to unexplicable reasons and according to POLA.

And while browsers are not dependent on network access and alike which was already mentioned in these web pages, it is still far more different with such one. And according to Git is as well. It is evident that both ones are mostly triggeral systems and it is evedent that not each each triggeral system contains git, so browser can not depend on it remotely as a dependency after installation, but it is not evident what prevents some browsers to embed git because of their such compatibility to avoid it as a dependency at least remotely at least optionally. Though that combination of a git and a browser does not has a name yet, such application of git inside as an external dependency for some browser suits it not only for saving web pages with an option to persist them as well locally as well as remotely with that network access and alike but also for such modularity in browser as for example history. From that if my browsing history now is split though several browsers, by that it can be joined at least in one repository though which is not enough towards privacy as mentioned previously at this web page as an alternative approach for such modularity as profiles for that one at least in some browsers.

Still for a browser JavaScript is also as an external dependency as well as previous ones, which it embeds and supports.

Тож випадково після читання двох публікацій про TypeScript та JSON стало вочевид що хоча і TypeScript і є супернабором JavaScript а JSON був на основі піднабора JavaScript це не лише нагадує екосистему а й те що користувачі які розробники і розробниці не лише використовують і застосовують їх як формат чи мову програмування чи нотацію а й використовують чи застосовують їх як набори. Тож хоча TypeScript і нібито огортає чи embed JavaScript але їх спільною рисою чи особливістю як і у JSON є те що це було ще з моменту їх дизайну чи архітектури. Але їх відмінністю є те що TypeScript надає можливість крізькомпіляційного складання у JavaScript але як особливість за допомогою відповідного стороннього складальника або за допомогою свого перевіряльника а JSON ні. Тож це є додатковим одним схожим прикладом до подібних у від 2021-12-04. Що додатково так це те що TypeScript підтримує файли визначення тобто definition files, C++ підтримує файли заголовків тобто header files, у джава java присутні інтерфейси тобто interfaces як файли які мають таку ознаку як її особливість.

З тієї публікації про JSON також описали як з'явився Ajax аякс. Але якщо схожим чином як у від 2021-09-19 вважати Ajax наступником фреймів які використовували до цього, то така табличка.


        НЕ ОНОВЛЮЄТЬСЯ. оновлюється інша далі цією веб сторінкою.
    А0   Frames, iframes
    А1   Ajax in browsers.
    А2   ATyx?

Де Ty є скороченням від TypeScript, тому що TypeScript є супернабором від JavaScript наприклад залишаючи інщі незмінними.

Хоча і як зазначили "As TypeScript is ... existing JavaSctipt programs are also valid TypeScript programs.", то тоді виникає наступна табличка:


    Ajax  --\
              -->  ?
    ATyx  --/

Де невідомо що об'єднує АTyx та Ajax а тобто і А1 з А2 у попередній табличці.

Адже зазначили що "..digiGroups, Noosh, and others used frames to pass information into the user browsers' visual field without refreshing a Web application's visual context, realizing real-time rich Web applications using only the standard HTTP, HTML and JavaSctipt capabilities of...", тобто стандартні можливості, котрі були в наявності не поза їх межами а всередині HTTP, HTML and JavaSctipt були використані для отримання нових особливостей але невідомо чи їх видобуванням як то extraction чи аналізом існуючих моделів їх використання. Там зазначили лише що був наданий новий рівень абстрації для розробників і розробниць у веб використовуючи стандартні можливості деякої ППіНТВСуІ.

До того ж усі з HTTP та HTML та JavaSctipt мають відповідні стандарти. Не згадуючи про гіперпротокол, ДжФрА JFrA, ДжФА JFA чи щось та також для того від 2022-01-24.

Окрім того що обидва і JavaScript і TypeScript є мовами програмування хоча TypeScript і супернабір від JavaScript і огортає чи embed його хоча й за допомогою щонайменш тієї описаної особливості. Якщо їх дійсною об'єднуючою рисою є мова програмування то щоб бути дійсно незалежною від мови програмування тобто language-independent як JSON у цьому випадку тоді точніше programming-language-independent щось наступне у тому A2 має бути саме таким тобто programming-language-independent. У такому випадку залежність від наявності на відміну його поточно відомої відсутності принаймні десь тут чогось накшталт вже наведеного сьогодні у цій веб сторінці від 2021-12-04 зростає щоб уминути можливого подальшого збільшення чогось подібного до цього. З виключеннями якщо принаймні це не для прототипу або такі подібні можливі подальші збільшення допустимі. Тобто це теж має своє деяке значення щодо ієрархічності як у WORA ПРВУ.

Також є декілька відмінностей. У Ajax, JSON як піднабір є огортаним принаймні в основі JavaScript, на додаток до XML. У ATyx цього немає але TypeScript як супернабір огортає JavaScript а тому за попередньої умови і JSON теж. Тобто він огортає не лише нотацію чи формат для даних як і XML для даних але і особливості додатково самого JavaScript. Але за допомогою іншої особливості як то крізькомпіляційного складання. З цього інша відмінність, якої в Ajax аякс не було тобто немає. А саме те що це робить JavaScript як би переважним а сам TypeScript обслуговуючим його саме за допомогою тієї особливості як то крізькомпіляційного складання. У джаваскріпт JavaScript суто не було і не має такої можливості у таких межах тому що JavaScript міг повторно складати таке лише у джейсон;JSON. Тобто ATyx за схожих умов все ж таки має якийсь рівень платфформенності на відміну від відсутності такого у Ajax, а значить це чимось починає нагадувати екосистему Java джава, де різні мови програмування виконуються на тій самій платформі поряд із специфікаціями тобто це дещо нагадує альтернативу цьому для джава. Тому що при появі чогось іншого на додачу до TypeScript для обслуговування таких можливостей чи інакше це стане ще більш схоже з платформенністю як у java джава. Тобто у цих межах тобто у межах ATyx для Java джава і її платформи і її екосистеми і її специфікації можлива альтернатива навіть без копіювання окремих додаткових компонентів.

Як JavaScript і JSON так і TypeScript і JavaScript і JSON разом із тією схожістю у момент дизайна чи архітектури як про це попередньо цією веб сторінкою залежно від точки перспективи модельно нагадують цибулинний чи матрьошковий чи кишеньково сфероподібний.

Оновлення від 2022-03-27.

The update as of 2022-03-27.

У проекті з А1 чи з А2 чи іншому у якому відсутня підтримка А0 для підтримки користувачів і користувачок які використовують А0 формошльопство є потребою.

Це нагадує ситуації як наприклад Java Web Start Is Dead. Long Live Java Web Start!.

Адже відомо що їх більше ніж один:

formoshlep;формошльоп;a picture to meta.ua with where it is

This image is on demand. Цей малюнок за запитом.

про це вже є і частково додано до оновлення сьогодні від 2022-03-27

але не знайдено у https://wikipedia.org/wiki/Формошлепcтво та https://wikipedia.org/wiki/Формошльопcтво.

Оновлення від 2022-04-16.

The update as of 2022-04-16.

As Aza Raskin put so in around 2010 wikipedia.org/wiki/Tabnabbing, that is more transparent why in some browser versions by some vendors, JavaScript activation and deactivation is under security tab in settings there. But that is probably leads to something similar to A-1 along with A0, A1, A2, which is for no-NoScript or no-scriptless, meaning that if there are more of such ones as Tabnabbing, then in that mode in >browser there are no such features of NoScript or of scriptless are active whether browser vendors have such incentive or not, because otherwise users of such browsers are unprotected at least from known ones, such as Tabnabbing. What is noticeable that some extensions of some browsers again as in that other situation mentioned in these web pages had already wrapped this situation.

...

And according to https://github.com/gngrOrg/gngr/wiki/FAQ "...70% of security bugs in Chrome are memory safety issues.", so that is at least some attribute of circularity or repeatableness . While to compare in java except some situations and some cases which were mentioned here as of 2022-04-14 which is solved for example as by mentioned here as of 2022-04-13 is such >similar attribute of circularity or repeatableness.

...

And also according to https://github.com/gngrOrg/gngr/wiki/FAQ "Cookies allow servers, especially third parties, to track you." while it blocks them by default as an approach, that is by not enabling A1, AJAX by default but instead blocking them, so that while another approach is to send a "Do not track" it reminds about


    DoNotTrackCookie extends Cookie 
    /* ... extends request-like cookie */ 
    /* ... not extends form-like cookie */ 
    /* ... not extends mode-like cookie */ 
    {/*...*/}

but simultaneously cookies as well as tokens contains almost no limitations on its content.

Оновлення від 2022-05-24.

The update as of 2022-05-24.

About a yesterday's one, as long as it is not excluded that some other type safe language with such feature as in Java in a link with a heap and a stack but which is absent there at the moment have a possibility eventually to be added with it or a similar one unless there was already such occcurence in past. А якщо виключено цими, то це за дизайном і тоді оновлення виключені цим теж принаймні щодо цього і з'являються сумніви щодо використання наприклад такої мови програмування у якій й можливо присутня також проблема щодо підтримки як у деяких додатках і застосунках як у http://thetechawesomeness.ideasmatter.info/feature-as-a-dependency.html. Тобто це не лише виключено за дизайном а й виключено з WIP у такому випадку.

...

Synchronous request are time-locking requests or a such type of, where time as a factor locks the process. That is for recently in http://thetechawesomeness.ideasmatter.info/wiki-reinvented.html and about situations of wait-interrupt in http://thetechawesomeness.ideasmatter.info/configuring-alternative-compilers-in-macos.html especially in those ones in which it is not necessary such synchronization for type safety for example. Moreover it many of those ones were for example AJAX-migrated from previous ones as along with A0, A1, A2, A-1. Звірені згідно часу є блокуючими час запитами чи таким типом де час як фактор блокує процес за їх присутністю. Це щодо нещодавного у http://thetechawesomeness.ideasmatter.info/wiki-reinvented.html та ситуації з присутністю wait-interrupt у http://thetechawesomeness.ideasmatter.info/configuring-alternative-compilers-in-macos.html особливо у тих у яких непотрібна таке звірення наприклад щодо наприклад type safety. Більше того багацько з тих в них були наприклад аякс-мігровані з попередніх серед А-1, А0, А1, А2.

Оновлення від 2022-08-20.

The update from 2022-08-20.

При таких масових переміщеннях від відкритокодового до закритокодового досі залишаючись рішенням для того випадку від 2022-06-21 для існуючих проектів можливі переважно з подальшими змінами у коді дещо нагадуючи ситуацію від 2022-05-23 однак без приєднання до ситуації з http://thetechawesomeness.ideasmatter.info/dry-and-wet-and-null.html й можливо навіть навпаки.

While such mass migrations from opensource to closedsource staying as a solution for that situation as of 2022-06-21 for existing projects are possible mostly with further code changes somewhat reminding a situation as of 2022-05-23 but without attachment to situation with http://thetechawesomeness.ideasmatter.info/dry-and-wet-and-null.html and possibly even vice versa.

Чи ті є протирічними ситуаціями чи ні також для того є декілька рішень серед визначників і трекерів як то для слідкування і сігнатур деякі з яких цими веб сторінками.

Whether those situations are contradictory or not there are also some ones for them among identifiers, and trackers, and signatures, some of which one are in these web pages.

While overloading of data is causing some queues sometimes, it is also a method as in C++ even for operators unlike in Java.

Оновлення від 2022-08-29.

The update from 2022-08-29.

Щодо від 2022-02-03 та A1 та A2. Адже TypeScript надає можливість крізькомпіляційного складання у JavaScript код, чимось схоже з тим як у Java у деяких версіях можливо виконувати JavaScript код, цим це надає одноразово при таких складаннях знаходити відомі проблемні JavaScript ситуації і усувати їх за допомогою способу білих переліків чи інших чим зменшує навантаження щодо цього з подальших віртуальних машин й також у багатьох ППіНТВСуІ які виконуватимуть такий складений JavaScript код. Тобто. Якщо попередньо таких способів було щонайменш два а саме рівня розробки і рівня віртуальної машини, то при застосуванні такого методу, присутня можливість для додаткового одразово при таких складаннях.

..

Розширюючи цю табличку від 2022-02-03.


         for data in browsers         for some message handling
         для даних у ППіНТВСуІ        для обробки деяких повідомлень
         ;додано 2023-01-08.
         тож не лише у ППіНТВСуІ
    А-1
    А0   Frames, iframes              signals
    А1   Ajax in browsers. \            asynchronous, message based exception handling mechanism, as in XNU.
                             → для запитів;for requests
                           /
         SQL in RDBMS     /
         from http://thetechawesomeness.ideasmatter.info/transaction-management.html;2023-01-06
    А2   ATyx?                        both signals with Mach exceptions taking priority, as in XNU.

Й http://thetechawesomeness.ideasmatter.info/table-chapters.html;10 після її оновлення від 2023-01-11.

..

Згідно Use mmap With Care May 2, 2019 by Benjamin Schaaf . http://thetechawesomeness.ideasmatter.info/table-chapters.html;14.

Але у цій публікації і більше висновків або підказок для наступних.

У її частині про альтернативу і декілька попередніх.

Помітно що жорстке обмеження архітектури, як то 32bit для розробників і розробниць щодо цієї функції або більш дружньо названої як у Microsoft Windows ніж у швидкому скороченому стилі веде до такої таблички.


    функція                                                ймовірні складнощі

    for crossplatform at least for several ones            during reaching a hard limitation of file size in such case
    mmap or MapViewOfFile

    pread                                                  during sharing and synchronising of portions of a file after after such copies

    no 32bit support route                                 during updates for users

32bit particularly is rigid though faster and aligned.

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

Щотак у цій публікації і подібний запит надійшов од користувача чи користувачки, але це й не дуже впливає із цим на ймовірну складність щодо during updates for users.