• Размышления о стандартной библиотеке JavaScript. Core.js

      Один пацан писал все на JavaScript, и клиент, и сервер, говорил что нравится, удобно, читабельно. Потом его в дурку забрали, конечно.
      — С просторов интернета

      К чему это я? Занятная штука — JavaScript. Основа современного web и на фронтэнде альтернатив как таковых не имеет.

      JavaScript это, в том числе, и стандартная библиотека, о которой здесь и пойдёт речь. Под стандартной библиотекой я подразумеваю модули, конструкторы, методы, что должны присутствовать на любой платформе, будь то браузер или сервер, без лишних действий со стороны программиста, не включая API, специфичный для платформы. Даже если вы пишите не на JavaScript, а на языке в него компилируемом, скорее всего, вам придется иметь дело с его стандартной библиотекой.

      Ванильная стандартная библиотека JavaScript, в целом, неплоха. Это не только стандартная библиотека по спецификации языка ECMA-262 актуальных версий — от 3 до черновика 6. Часть API вынесена в отдельные спецификации, например, API интернационализации ECMA-402. Многие возможности, без которых сложно представить JavaScript, например, setTimeout, относятся к web-стандартам. Консоль не стандартизована вовсе — приходится полагаться на стандарт де-факто.

      Вот только не такая уж она и стандартная — везде разная. Есть старые IE, в которых из коробки мы получаем стандартную библиотеку ES3 90-бородатого года даже без Array#forEach, Function#bind, Object.create и консоли, и есть, например, Node.js, на которой многие уже вовсю используют возможности грядущего ES6.

      Хочется иметь универсальную, действительно стандартную библиотеку, как на сервере, так и в любом браузере, максимально соответствующую современным стандартам, а также реализующую необходимый функционал, что (пока?) не стандартизован. Статья посвящена библиотеке core.js — реализация моих соображений по поводу стандартной библиотеки JavaScript. Кроме того, эта статья еще и шпаргалка по современной стандартизованной стандартной библиотеке JavaScript и заметки о её перспективах.

      Содержание, или что получим на выходе:


      Читать дальше →
    • Алгоритм для выявления сообществ в больших сетях

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

        Бельгийские разработчики представили новый алгоритм, который превосходит все существующие аналоги по вычислительной скорости. Вследствие этого его можно применять на базах беспрецедентного размера: анализ типичной сети из 2 млн нодов занимает 2 минуты. Он получил название Лувенский метод (Louvain Method), поскольку создан в то время, когда все разработчики трудились в Лувене (Бельгия).
        Читать дальше →
      • Google Docs Viewer

        Google Docs ViewerGoogle Docs Viewer — это онлайн-сервис работающий на платформе Google Docs и позволяющий непосредственно в веб-браузере и без авторизации просматривать документы поддерживаемые сервисом Google Docs, например Adobe PDF, Microsoft Word или Microsoft PowerPoint.

        Преимуществом такого варианта является возможность просмотра документов множества форматов без загрузки на локальный диск. Другим преимуществом является безопасность — не все PDF и DOC документы безопасны для просмотра через Adobe Reader и MS Word.

        Читать дальше →
      • Что нужно знать про оплату банковскими картами через интернет

          Прочитав вот этот топик, я увидел, что очень многие хабралюди (в том числе и автор топика) не представляют себе, как работает оплата банковскими картами в интернете. Руководствуясь домыслами и предположениями, а не фактами, автор делает вывод, будто бы карты Сбербанка наиболее уязвимы для мошенничества в интернете. Поэтому я решил рассказать о том, как на самом деле устроена оплата банковскими картами в интернете, чтобы хабралюди на основании фактов, а не домыслов, представляли себе, как это работает, и где их могут поджидать реальные, а не мнимые, опасности.

          Disclaimer: Я работаю в Сбербанке России. Моя работа связана с помощью клиентам, а не с карточками, однако раньше я работал в области e-commerce, и очень хорошо знаю, как работает схема оплаты карточками в интернете.

          Читать дальше →
        • Как не надо покупать на Ebay

            В связи с обещанием открыть полноценный русскоязычный сайт EBay на хабре появились хорошие посты о том, как покупать надо, например:

            Советы из личного опыта от olyapka,
            Как правильно покупать от darbin.

            У людей был удачный опыт покупок, и они им делятся. Я делюсь своим негативным опытом, чтобы другие пользователи поняли: сложного в покупках ничего нет, но лишняя осторожность все-таки не повредит. Всегда ведь лучше учиться на чужих ошибках, а не на своих!
            Семь ошибок по порядку
          • Акинатор и математика

              На Хабре уже несколько раз всплывала тема Акинатора, в том числе и с тегом не знаю как оно работает. Я на него наткнулся недавно и, разумеется, был восхищен. Затем, как вероятно и многим другим, мне в голову пришла мысль: «А как же это работает?» Ответа на этот вопрос я нигде не нашел, а потому задался целью написать аналогичную по функциональности программу, разобравшись по ходу дела что к чему.
              Читать дальше →
            • OAuth: описание протокола простым и понятным языком

                OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

                Пример кросс-авторизации


                Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
                Под катом - повествование с примерами
              • Сумма прописью на Java

                  Здравствуйте.

                  Буду краток.
                  Понадобилось «по работе» выводить в отчетах сумму прописью. Проект на Java. Посмотрев что есть готового, как всегда, пришел в выводу что «своя рубашка ближе к телу». К тому же хотелось именно самому написать, набраться опыта, так как на Java перешел не так давно…

                  Матерые явисты уже давно нашли или сами решили подобную задачу, а начинающим, возможно, пригодится:

                  Читать дальше →
                  • –3
                  • 5.2k
                  • 9
                • 4 лекция курса IT-предпринимательство. О важности письменной и устной коммуникации в проекте. Видеоверсия

                    imageВ рамках проекта IT-предпринимательство прошла 4 лекция.
                    Поднималась тема, которой, как кажется, владеют все стартаперы в совершенстве — коммуникация. Однако оказывается, что в русскоговорящих странах ситуация с коммуникацией плачевная. Мы приучены думать в негативе.

                    В лекции рассказывалось, как правильно разговаривать с заказчиками, с партнерами, с клиентами. В том числе из разных стран. Чем отличаются в коммуникации немцы, французы, американцы. Как правильно готовить «проблемные» письма и строить отношения в команде.

                    Лекцию читал Олег Ридченко — директор по управлению проектами компании Intetics.

                    Снова, крайне рекомендовано к просмотру.
                    Смотреть видеоверсию в двух частях
                    Читать дальше →
                  • Сказки о СУБД

                      Введение


                      Часто, когда произносится термин «СУБД», под ним понимается только реляционная СУБД (здесь и далее по тексту будем считать термины синонимами) — это вызвано прежде всего тем, что большинство СУБД на рынке сейчас являются именно реляционными. Реляционная модель ориентирована на организацию данных в виде двумерных таблиц, а ее реализация опирается на работы Эдгара Кодда1. Реляционная модель — это хорошо и плохо: хорошо в следствии простоты реализации, плохо с точки зрения работы с объектно-ориентированными языками программирования.
                      Табличка сарказм.
                    • Настройки MMS для iPhone

                        Возможно кому то это упростит жизнь.



                        image

                        МТС-Москва


                        MMSC: httр://mmsc
                        Proxy: 192.168.192.192:8080
                        APN: mms.mts.ru
                        Username: mts
                        Password: mts
                        Image size: любой
                        UserAgent: iPhone

                        Билайн-Россия


                        MMSC: httр://mms/
                        Proxy: 192.168.094.023:8080
                        APN: mms.beeline.ru
                        Username: beeline
                        Password: beeline
                        Image size: любой
                        UserAgent: iPhone

                        Мегафон-Россия


                        MMSC: httр://mmsc:8002
                        Proxy: 10.10.10.10:8080
                        APN: mms
                        Username: mms
                        Password: mms
                        Image size: любой
                        UserAgent: iPhone

                        Остальные регионы и операторы
                      • Как написать отличную статью и завоевать умы


                          Web 2.0, существование которого некоторыми отрицается, привел в интернет много авторов, которые стали писать статьи и заметки на самые разные темы. В зависимости от ресурса, вид, содержание, оформление и размер таких статей различаются, но у них есть один общий компонент — авторский текст, который, собственно, почти всегда, является сутью статьи. Такие статьи, в основном, пишутся не профессиональными журналистами, а простыми пользователями, которые в силу разных причин делятся своими мыслями, идеями или полученной информацией.

                          В данной статье мне хотелось бы предложить несколько вариантов того, как стоит создавать статьи, как их подавать и как поддерживать жизнь своей статьи.
                          Читать дальше →
                        • Корпоративная система хранения информации (база знаний)

                            Думаю, в каждой компании есть необходимость где-то хранить различную документацию. Самый простой пример — регламенты работ в разных отделах, шаблоны документов, стандарты качества и т.п. Вот и мне пару лет назад пришлось внедрять такую систему прежде всего для своих нужд, а уж потом ее подхватили и остальные. Понятно, что это wiki-система. Ибо только такие системы с легкостью позволяют хранить такую информацию и дают прекрасные возможности по совместной работе над ней. Тогда я выбрал движок MediaWiki. Это такая довольно аскетичная система, на которую можно прикручивать различные плагины, но все равно ее можно сравнить с Линуксом. Со временем стало понятно, что простым людям эта система дается сложно, в ней сложно контролировать структуру документов, в ней сложно работать с правами доступа к документам.

                            решение проблемы
                            • +18
                            • 3.4k
                            • 8
                          • Управление знаниями. C чего начать

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

                              Избежать этого никак не получится, но можно уменьшить затраты на передачу знаний. Для этого служит дисциплина под названием Управление знаниями.

                              Читать дальше →
                            • Что спросить работодателя на собеседовании, чтобы не попасть в болото

                                Большинство работодателей на собеседовании дадут вам возможность задать любые вопросы. Это отличный шанс определить, хорош ли работодатель и стоит ли на него работать. Одной из смертельных болезней для коллектива является имитация бурной деятельности (далее ИБД). Она возникает там, где руководство заключается не в координировании работ, а заменено формальным контролем, где коллектив топчется на месте, десятками лет не получая новых задач, где нет места вашему стремлению к новым технологиям, где вы не научитесь ничему новому. Интрига усиливается тем обстоятельством, что имитатор никогда не признается, что он лишь имитирует работу. Наоборот, он будет напускать на себя и свою деятельность важность. Лишь когда вы поваритесь в коллективе годик, вы поймёте, что не надо было сюда идти, что вы просто теряете время. Но есть несколько простых признаков, по которым можно легко вычислить болезнь. О них эта заметка.
                                Читать дальше →
                              • Смертельная болезнь оказалась программным багом 23andMe

                                  У немецкого программиста Лукаса Хартманна (Lukas F. Hartmann) недавно случился второй день рождения. Он узнал, что диагностированная у него по результатам генетического теста смертельная болезнь — всего лишь баг программы. В смысле, не его генетической программы, а компьютерной программы статистического анализа генетической информации.

                                  23andMe — частная биотехнологическая компания из США, которая осуществляет изучение генома всего за $99. Человек должен отправить в фирму капельку слюны, а в ответ получит логин и пароль для доступа к результатам анализа (предупреждение: отправка генетического материала из России запрещена законодательством РФ, фирма 23andMe не высылает контейнеры для образцов в Россию).
                                  Читать дальше →
                                • Минздрав США угрожает компании 23andMe

                                    Агентство FDA (Food and Drug Administration) при министерстве здравоохранения и социальных служб США опубликовало письмо в адрес исполнительного директора стартапа 23andMe Энн Войчицки с предупреждением о правовых последствиях невыполнения предписанного действия.

                                    Чиновники предупреждают, что анализ персональных геномов является медицинской деятельностью, а работа без соответствующего разрешения нарушает закон Federal Food, Drug and Cosmetic Act (FD&C Act). В частности, компания предлагает услуги персонального сервиса генотипирования (PGS), в рамках которого предоставляет индивидуальный отчёт о наличии или отсутствии 254 заболеваний и состояний, в том числе в тематических категориях «наследственные заболевания», «риски для здоровья» и «реакция на лекарства». При этом PGS позиционируется как средство для раннего предупреждения о риске серьёзных заболеваний, таких как диабет, ишемическая болезнь сердца, рак груди. Анализ ДНК помогает найти неизвестных родственников, определить родословную, получать новую информацию о своих генетических маркерах по мере их расшифровки научным сообществом.

                                    FDA считает, что большинство способов использования PGS указывают на то, что контейнер для приёма образцов слюны — это медицинский прибор, а генотипирование — медицинская услуга. Такие приборы и услуги требуют разрешения FDA.
                                    Читать дальше →
                                  • Налоги в США. Часть 1. Введение, income tax, федеральный налог, налог штата, Social Security taxes

                                      Введение


                                      Последние месяцы на Хабре мне часто попадаются обсуждения налогов в США. Как правило, это происходит в топиках, где обсуждение по какой-то причине скатилось к вечным темам «у нас все плохо — у них хорошо», «у нас хорошо — у них все плохо», «пора валить отсюда», «Да в США такие налоги, что непонятно, как бедные люди вообще там выживают» и т.п.

                                      В очередной раз наткнувшись на такое обсуждение, я спросил тут же в комментарии и даже задал соответствующий хабравопрос — народ, а может вместо того, чтобы беспорядочно спорить о налогах в США в куче разных топиков, давайте я напишу отдельный подробный пост на эту тему, и там и будем спорить? За этот комментарий и хабравопрос я получил изрядно кармы и хабрасилы, и, собственно, на этом можно было бы и остановиться ибо цель достигнута, муа-ха-ха. Однако, меня уже начинают спрашивать некоторые люди, где же обещанная статья, и судя по всему, отвертеться от написания поста мне не удастся…

                                      Обсуждающие налоги в таких топиках делятся, как правило, на три заметные группы:

                                      • Те, кто о налогах в США знает мало, но хотел бы узнать побольше из первых рук, а так же задать в одном месте все интересующие вопросы и получить ответы всего за 0.99$ за один ответ!
                                      • Те, кто реально разбирается в предмете (в 90% случаев это люди, работающие и живущие в США). В обсуждениях участвуют обычно короткими репликами, так как вопрос сложный и расписывать все в деталях каждый раз лень и вообще дело неблагодарное.
                                      • Те, кто о налогах в США знает из разных сомнительных источников, вроде блогпостов диванных аналитиков, но мнение имеет.

                                      Для первых я и решил написать этот пост. От вторых я с благодарностью приму замечания и дополнения. Третьи могут не беспокоиться.

                                      В первой части я напишу про налоги вообще, про федеральный налог и налог штатов и как они вычисляются и про Social Security / Medicare tax.

                                      Во второй части (coming soon) — про годовой цикл налогообложения и различные формы — W-2, W-4, 1040NZ и прочее и прочее.

                                      В третьей части (coming soon) — про процесс подачи Tax Return, про сайты которые помогают заполнять здоровенные формы, про применение налоговых вычетов, и, ГЛАВНОЕ о налогах в США — если есть основания, как можно получить обратно существенную часть удержанных с вас налогов. Поэтому, читая этот пост, держите в голове — большинство людей платит существенно меньшие налоги, чем те, которые я тут вычисляю для примера без учета возможных вычетов.

                                      Поехали.
                                      Читать дальше →
                                    • Технология REST вместо OPC в системах промышленной автоматизации

                                        Данный топик просвещен проблеме обмена данными в системах промышленной автоматизации м\у ПЛК и различным программном обеспечении. Прежде чем приступить непосредственному к изложению, хочу сказать, что нахожусь в дурацком положении… Дело в том, что основная часть моих коллег по цеху не являются ИТ-специалистами и работаю в рамках тех инструментальных средств, которые являются стандартом «де-факто» — SCADA пакеты, среды разработки для ПЛК и OPC сервера. Мало кого из них интересует, что находится под «капотом» этих инструментов, хотя большинство проблем, об которые они спотыкаются, кроются именно там и заложены в базовых технологиях. С другой стороны АСУ ТП довольно специфичная область и я не уверен, что программист без опыта работы в данной сфере сможет проникнутся тем, что я попытаюсь донести в этом посте. Вот и получается, что данный топик предназначен для небольшого процента специалистов, которые разбираются в ИТ и АСУ ТП одновременно.
                                        Читать дальше →