• Особенности разработки API: какой API является хорошим?

      Наверное, абсолютно все читатели используют API, работая с фрэймворками, библиотеками, виджетами, как некий язык общения между сущностью и основным приложением. И вы наверняка замечали, что некоторыми API удобнее пользоваться, а в некоторых есть явные проблемы. Всеволод Шмыров (@vsesh) в своем докладе на Frontend Conf, расшифровку которого вы найдете под катом, постарался ответить на вопрос, какой API является хорошим.

      Рассказ опирается на опыт разработки АPI Яндекс.Карт, и хотя это и JavaScript-библиотека, многие принципы и особенности его разработки применимы и к другим типам АPI, к примеру, к серверным API и Standalone библиотекам. Все то, о чем пойдет речь, относится именно к публичному АPI. Если к API вашей библиотеки обращаются только ваши коллеги, которым вы можете легко рассказать, что где-то что-то надо поменять, то вы, скорее всего, не столкнетесь с теми проблемами, с которыми сталкиваются разработчики публичного АPI.

      image

      Однако, в докладе не будет ответа на вопрос, нужен ли вам свой API. Надеемся, после прочтения вы взвесите все «за» и «против» и сами поймете, нужен ли он вам. Всеволод просто расскажет, с какими сложностями приходится сталкиваться разработчикам API, какие проблемы решать и что еще делать, а именно про эти четыре важных пункта:


      Читать дальше →
    • Поиск и устранение неисправностей Node.js-приложений под капотом

        С момента появления Node.js диагностика совершенствовалась в несколько этапов, от отладки приложений до глубокого анализа производительности. В этот раз речь пойдет о стратегиях использования таких инструментов, как core dump debuggers, flame graphs, ошибках в production и утечке памяти.


        В основе материала — расшифровка доклада Николая Матвиенко из Grid Dynamics с нашей декабрьской конференции HolyJS 2017 Moscow.
        Читать дальше →
        • +42
        • 9.8k
        • 1
      • Оптимизация веб-серверов для повышения пропускной способности и уменьшения задержки

        • Translation


        Привет! Меня зовут Макс Матюхин, я работаю в SRV-команде Badoo. Мы в Badoo не только активно пишем посты в свой блог, но и внимательно читаем блоги наших коллег из других компаний. Недавно ребята из Dropbox опубликовали шикарный пост о различных способах оптимизации серверных приложений: начиная с железа и заканчивая уровнем приложения. Его автор – Алексей Иванов – дал огромное количество советов и ссылок на дополнительные источники информации. К сожалению, у Dropbox нет блога на Хабре, поэтому я решил перевести этот пост для наших читателей.

        Читать дальше →
        • +78
        • 35.9k
        • 7
      • 5 правил работы с суммами

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


          Читать дальше →
        • Selenium: новая надежда

          • Translation

          Представляю вам перевод моей статьи на Medium.com: часть 1, часть 2. Поскольку первая часть статьи содержит в основном уже изложенное в этом посте, то привожу перевод только второй части.



          Худеем и переезжаем в контейнеры


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


          1. Как создать легко масштабируемые рабочие ноды, используя стандартный Selenium Hub
          2. Почему можно и нужно запускать большинство браузеров в контейнерах и как это делается
          3. Какие open-source инструменты для этого существуют

          Читать дальше →
        • Про веб-клиент 1С

            Одной из приятных особенностей технологии 1С:Предприятие является то, что прикладное решение, разработанное по технологии управляемых форм, может запускаться как в тонком (исполняемом) клиенте под Windows, Linux, MacOS X, так и как веб-клиент под 5 браузеров – Chrome, Internet Explorer, Firefox, Safari, Edge, и все это – без изменения исходного кода приложения. Более того – внешне приложение в тонком клиенте и в браузере функционирует и выглядит практически идентично.
            Найдите 10 отличий (под катом 2 картинки):
            Читать дальше →
          • Релиз VirtualBox 5.0

              Вчера утром была выпущена бесплатная кроссплатформенная виртуальная машина Oracle VirtualBox версии 5.0. Среди улучшений: drag-and-drop файлов и папок, шифрование жесткого диска на лету и многое другое. Краткий список улучшений под катом, скачать можно с официального сайта.
              Читать дальше →
            • Оригинальный CheatSheet HotKeys для Photoshop

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



                UPD: спасибо Injected за вариант без градиента.
              • Разработка привлекательных реалистичных пользовательских интерфейсов

                • Translation
                Cекрет разработки привлекательных интерфейсов заключается в реализме. Ваша задача — придать плоским элементам объём, используя свойства реальных объектов, вроде неровностей и шероховатостей, бликов и теней, различных текстур поверхностей. В идеале они должны выглядеть как предметы на вашем столе. Создавая классный интерфейс, в первую очередь нужно думать не «как», а «почему».
                Читать дальше →
              • Прогнозирование результатов матчей чемпионата мира

                  Недавно завершился чемпионат мира, в котором победила сборная Испании. Самым известным «предсказателем» мундиаля стал осьминог Пауль, безошибочно предсказавший восемь результатов футбольных матчей подряд (в том числе исход финала).

                  Но, как оказалось, английские ученые тоже решили не отставать от осьминога и разработали модель, которая позволила предсказать победу Испании в финале и объяснить поражении Англии против Германии.
                  Читать дальше →
                • Медиацентр собственными руками

                    Предисловие



                    Как то раз за кружечкой пива рассказал другу об идее создания своего медиацентра из барахла что скопился на работе.
                    Задачи которые должен решать:
                    • проигрывать любое видео
                    • звук 5.1
                    • тишина в студии
                    • подключение к локальной сети
                    • скачивание торрентов
                    • управлялся с помощью пульта
                    • сидя на диванчике ползать по интернету с беспроводной клавиатурой и мышью
                    • ремонтопригодность

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

                      После поста о восстановлении флешек, оказалось, что у многих теперь есть рабочие, бесхозные флешки, которые обязательно нужно задействовать. Почему бы не сделать из них загрузочные флешки с дистрибутивами необходимых ОС? Это может здорово пригодиться при установке/переустановке операционных систем на нетбуки, где отсутствуют приводы оптических носителей. А иногда может даже ускорить процесс установки и сделать его намного тише на компьютере, где привод есть.
                      Хотя на Хабре уже описывались варианты создания загрузочных флешек, но вариант, который предлагаю я — слишком прост и по своему универсален, чтобы обойти его стороной.

                      image
                      Читать дальше →
                    • WD SiliconEdge Blue: SSD от знаменитого производителя винчестеров

                        Может ли ноутбучный Western Digital Blue проработать пару суток в нестерильном помещении без корпуса, то есть в буквальном смысле – начинкой наружу? И мало того проработать, а еще и остаться при этом невредимым, не понеся потерь в долговечности? Конечно же, хочется сразу сказать решительное «нет» и… ошибиться. Ведь WD с недавних пор делает не только привычные жесткие диски, но и SSD, причем последние встраиваются в уже существующее цветовое разделение. То есть Green – «экологичные», Blue – мэйнстрим, а Black – самые быстрые. По идее, SSD просились либо в зеленую тусовку, либо в черную. Ан нет – SSD почему-то отправили к синим, как бы намекая, что и по скорости, и по экономичности еще есть куда стремиться.

                        Пока в линейке WD SiliconEdge всего три модели – на 64, 128 и 256 Гбайт. Меня зацепило, что у всех трех одинаковые характеристики: скорости чтения до 250 Мбайт/с, а записи – до 170 Мбайт/с. Это неплохие показатели, а младшая модель выглядит особенно симпатично с учетом цены 5400 рублей. В общем, будучи в одном дружественном магазине я покрутил в руках этот SSD, внешне ничем не отличающийся от нормального винчестера, да и занес в кассу нужную сумму. Вот бы заранее знать – во что ввязываюсь…

                        WD SSD
                        Читать дальше →
                      • Отечественное дизайнерское образование. Бессмысленное и беспощадное

                          То, что у нас в стране все как-то не очень хорошо с дизайном знают, наверное, все. Еще хуже, чем с дизайном самим по себе у нас только с обучением дизайну. Между миром, где дизайну учат (или пытаются на нем паразитировать в случае с союзами дизайнеров) и миром, где этот дизайн делают, лежит огромная пропасть. Эти два мира живут параллельно и их соприкосновения друг с другом, как правило, заканчиваются масштабными битвами разной степени эпичности.
                          Вот одна из таких историй
                        • Tungstene распознает Photoshop

                            В конце мая на ряде европейских web-ресурсов прошло сообщение, которое до Рунета пока толком не дошло. В блогах посудачили, покрутили пальцем у виска, поболтали о том о сём, да и разошлись.

                            Тем не менее, разработка француза Roger Cozien (Роже Козьена), доктора математики, криминалиста и основателя общества цифровой экспертизы Exo Makina, имеет достаточное потенциальное значение, чтобы быть разобранной более подробно.

                            Знакомьтесь, Tungstene или «Вольфрам». Без «е» на конце в английском написании — антифотошоп и «смерть глянцу», как окрестили его некоторые особо впечатлительные фотоблоггеры.
                            Читать дальше →
                          • Поднимаем свой IRC-bouncer

                              Привет, Хабр!

                              В этом посте я попытаюсь подробно (даже картинки будут) показать и рассказать как поднимать свой баунсер.

                              Ба́унсер (англ. bouncer, bnc) — программа, позволяющая скрыть реальный адрес в IRC. Пользователь подключается к находящемуся на другом компьютере баунсеру, который в свою очередь подключается к IRC-сети под видом IRC-клиента. В результате в IRC-сети виден не реальный адрес пользователя, а адрес того сервера, на котором установлен баунсер. Фактически баунсер используется как прокси-сервер, в том числе для «обмана» тех сетей, в которых запрещены прокси. Но это не самое главное их преимущество.

                              Т.е. фактически главное предназначение баунсера — скрыть реальный IP-адрес пользователя, и хранить логи с канала, когда юзер не подключен до IRC-сервера.
                              image
                              Самыми популярными баунсерами являются psyBNC, ezbounce и ZNC.
                              В этом посте я подробно остановлюсь на psyBNC.

                              Читать дальше →
                            • Ускоряем Joomla в 1000 раз

                                Целевая аудитория: программисты, администраторы Joomla и другие пользователи имеющие элементарные навыки работы с PHP.

                                Joomla — медленная, очень медленная. Joomla «из коробки» редко может выдавать более 4 запросов в секунду. Включим кеш, поставим PHP accelerator, займемся оптимизацией и возможно мы сможем получить 20 запросов в секунду.

                                А что дальше, менять CMS? Конечно менять, но слишком часто пользователи просятся назад на Joomla. Сразу оговорюсь, задача статьи не повлиять на выбор CMS, обсуждать скорости работы различных CMS решений или недостатки архитектуры Joomla.
                                Читать дальше →
                              • Hetzner — новые условия по трафику

                                  С сегодняшнего дня у выделенных серверов Hetzner новые условия по трафику.
                                  Ранее, до переключения на 10мбит, предлагалось 2 Терабайт трафика в месяц, 1Тб на 100мбит за 14.90 евро дополнительно.

                                  Сегодня зашел в их панель и увидел… Теперь 5 Терабайт + 6.90 евро за дополнительный терабайт.

                                  Это свалившие с российских серверов так помогли Hetzner'у ???
                                • Бледно-голубая точка



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

                                    Pale Blue Dot или Бледно-голубая точка это знаменитая фотография Земли, сделанная зондом Вояджер-1 с растояния 5,9 миллиардов километров. Многие даже называют ее самой важной фотографией в истории человечества. Название и сама идея сделать такой снимок принадлежит Карлу Сагану, одному из самых известных популяризаторов науки.

                                    В 1994 году вышла одноименная книга «Pale blue dot: a vision of the human future in space», а в 1996 году Карл Саган произносит свою вступительную речь. Именно ее я предлагаю вам послушать.

                                    Оригинал (Голос Сагана на видео-хостингах положили на множество разных картинок, и похожих роликов много)

                                    P.S. Это эссе хоть и (мне кажется) уже фигурировало на Хабре, и перевод на русский существует (хотя меня он просто убил мне он не нравится), я просто давно хотел перевести его :)