Давно вже не писав для хабра, сьогодні хотілося б поміркувати на тему того, як організувати просту механіку рівнів для гри Bounce на той випадок, якщо хтось захоче зробити щось схоже і будуть питання. Думаю, особливих вступів не потрібно, тому почнемо!

image

Читати далі →

В 2016-му статично типізований JavaScript виявився дуже затребуваним. Тими або іншими засобами, що дозволяли усунути недоліки динамічної природи JS, скористалися багато компанії. Нас теж привернула перспектива задіяти величезний потенціал статичної типізації у своїх розробках.


Вибираючи інструменти, ми попередньо зупинилися на TypeScript і Flow. Хоча ці проекти і розрізняються, спрямовані вони на рішення однієї і тієї ж задачі. А саме, дозволяючи контролювати типи даних, вони забезпечують більш досконалий, у порівнянні з чистим JS, організацію коду, покращують можливості рефакторінгу, дозволяють програмістам працювати швидше і впевненіше.

Читати далі →



За рік, що минув з релізу Kotlin 1.0, мови сталися прориви по багатьом фронтах: від підтримки в Gradle Spring до виходу книги «Kotlin in Action». Число Kotlin-рядків на GitHub зросла більш ніж учетверо, перевищивши 10 мільйонів. А тепер вийшла версія 1.1, додає компіляцію в JavaScript, і це виглядає гучного заявкою на нову частку ринку. Чи означає це все, що ось тепер час Kotlin по-справжньому прийшло, і нам всім пора активно використовувати мову в продакшені?

Андрій Бреслав (JetBrains) і Антон Кекс (Codeborne) багато знають про Kotlin (і обидва скоро виступлять на JPoint з доповідями про нього), але при цьому дивляться на нього з різних сторін: поки Антон розробляє на цій мові, Андрій працює над самим мовою. Ми вирішили, що про сьогодення і майбутнє Kotlin цікаво поговорити з ними обома відразу, отримавши повну картину. Почавши з питань про бурхливому зростанні, потім встигли обговорити ще багато що:

  • Взаємодія з розробниками і процес еволюції мови
  • Компіляцію в JS, проект Kotlin Native і мультиплатформеність в загальному
  • Недосконалості
  • Kotlin-паззлеры
  • Очікування і амбіції

Читати далі →

Кожен раз починаючи писати React додаток, ви так чи інакше виберіть якийсь варіант:
  • копі-паст вашого попереднього проекту
  • якийсь бойлерплейт або навіть генератор (типу Yeoman)
  • готовий фреймворк не вимагає конфігурації
  • пишете самі все з нуля
Кожен із способів має свої сильні і слабкі сторони, як на довгому, так і на короткій дистанції.
Деякі рішення приховують складність на початку, дозволяючи зробити швидкий старт. Це щось подібне рішення під ключ, але в результаті такі рішення можуть виявитися недостатньо гнучкими і складними в підстроюванні. З іншого боку, на початку все може здаватися злегка монструозным і неповоротким, і щоб почати потрібно трохи повозитися, але зате потім переваги стануть очевидними. Завжди є можливість зробити все з нуля, рівно так, як хочеться, але в такому випадку Ви будете відповідати за незліченні аспекти і Вам будуть потрібні глибокі знання у всіх що беруть участь технологіях.
Читати далі →

Основна концепція блокчейна досить проста: розподілена база даних, яка підтримує постійно зростаючий список впорядкованих записів.

Однак, багато чого залишається незрозумілим, коли ми говоримо про блокчейне, так само залишається багато проблем, які ми намагаємося вирішити з його допомогою. Це відноситься і до популярних блокчейн проектам, таким як Биткоин (Bitcoin) і Эфириума (Ethereum). Термін «блокчейн» зазвичай сильно прив'язаний до концепції типи грошових переказів, смарт-контрактів або кріптовалюти.

Це робить розуміння блокчейна складніше, ніж є насправді. Особливо вихідний код. Тут я пройдуся по супер-простий реалізації блокчейна в 200 рядків коду JavaScript під назвою NaiveChain.

Структура блоку
Перший логічний крок — визначитися зі структурою блоку. Щоб залишити все як можна простіше, ми включили тільки найнеобхідніше: індекс, позначка, дані, геш і хеш попереднього блоку.

image
Хеш попереднього блоку необхідно знайти в блоці для збереження цілісності ланцюга

Читати далі →

Тайсон Ніл Деграс в детекторі нейтрино
Привіт! Мене звуть Артем, і я займаюся тестуванням веб-додатків в Badoo. Я регулярно читаю профілі великих компаній на Github для того, щоб дізнатися щось нове у веб-розробці, так і в тренди (іноді в майбутні тренди). І це переклад статті про Neutrino від Mozilla.
Neutrino — це інструмент, що об'єднує в собі кращі компоненти набору сучасних JavaScript-інструментів і простоту відсутності початкових налаштувань.
Читати далі →


Скринкастинг в Chrome
Скринкастинг (демонстрація екрану, скриншаринг) вже працює в браузері Google Chrome і дозволяє захоплювати як вікно самого браузера, так і вікно будь-якого іншого додатка. Наприклад, можна захопити Firefox, запущений у сусідньому вікні.

Все б чудово, але є проблема з безпекою. У браузері Chrome скринкастинг вимкнений.

Для його включення необхідно скористатися Chrome Desktop Capture API і ми покажемо в цій статті як це зробити.

Розширення для скринкастинга
Щоб скринкастинг заробив, юзер повинен встановити розширення (Chrome Extension), яке створене спеціально для вашого сайту (домену).
Читати далі →

beta.gitlance.net/top/javascript
Джерело зображення: beta.gitlance.net/top/javascript


Оцінюючи розробника ПЗ в якості потенційного партнера, працівника або підрядника, багатьом доводилося в якийсь момент витратити час на копання в його репозиторіях на Github, намагаючись зрозуміти, що за проекти той пише і якої якості у нього код. Це заняття малоефективно, до того ж ще пов'язане з певними труднощами як оцінювання ступеня вкладу розробника в той чи інший репозиторій, якості його коду; можна гадати про те, чи це дійсно його код, і так далі.
Розробникам ж, зі свого боку, важко піднести свій талант в доступній і наочній формі. Багато хто в підсумку створюють власні веб-сайти з перерахуванням цікавих проектів, в яких брали участь або самі є їх авторами, що, звичайно, дає результат, але теж з перемінним успіхом.
Ми ж віримо, що є спосіб краще, і саме тому створили GitLance. По суті своїй, коміти в Git подібно бухгалтерській книзі надійно фіксують внесок кожного з учасників, а на Github знаходиться безліч публічних репозиторіїв Git разом з їх розробниками, а також порівняти кількість їх взаємних оцінок у вигляді зірочок на репозиторіях і форков, що йдуть від них. Так чому б не скористатися цим для генерації кодового графа?

Читати далі →