Pull to refresh
-19
0

Разбираем Async/Await в JavaScript на примерах

Reading time 9 min
Views 53K
Skillbox corporate blog JavaScript *Programming *Studying in IT
Translation


Автор статьи разбирает на примерах Async/Await в JavaScript. В целом, Async/Await — удобный способ написания асинхронного кода. До появления этой возможности подобный код писали с использованием коллбэков и промисов. Автор оригинальной статьи раскрывает преимущества Async/Await, разбирая различные примеры.
Читать дальше →
Total votes 41: ↑34 and ↓7 +27
Comments 1

Осваиваем компьютерное зрение — 8 основных шагов

Reading time 3 min
Views 84K
Python *Programming *Data Mining *Big Data *Machine learning *
Привет, читатель.

Для тебя уже не является новостью тот факт, что все на себе попробовали маски старения через приложение Face App. В свою очередь для компьютерного зрения есть задачи и поинтереснее этой. Ниже представлю 8 шагов, которые помогут освоить принципы компьютерного зрения.

image

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

Total votes 40: ↑35 and ↓5 +30
Comments 10

Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I

Reading time 9 min
Views 315K
OTUS corporate blog SQL *Microsoft SQL Server *Interview
Translation


Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик»




Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопросами по SQL с собеседований я познакомлю вас с наиболее часто задаваемыми вопросами по SQL (Structured Query Language — язык структурированных запросов). Эта статья является идеальным руководством для изучения всех концепций, связанных с SQL, Oracle, MS SQL Server и базой данных MySQL.

Читать дальше →
Total votes 62: ↑33 and ↓29 +4
Comments 87

Книга «Совершенный алгоритм. Графовые алгоритмы и структуры данных»

Reading time 8 min
Views 15K
Издательский дом «Питер» corporate blog Algorithms *Professional literature *
image Привет, Хаброжители! Алгоритмы — это сердце и душа computer science. Без них не обойтись, они есть везде — от сетевой маршрутизации и расчетов по геномике до криптографии и машинного обучения. «Совершенный алгоритм» превратит вас в настоящего профи, который будет ставить задачи и мастерски их решать как в жизни, так и на собеседовании при приеме на работу в любую IT-компанию.

Во второй книге Тим Рафгарден — гуру алгоритмов — расскажет о графовом поиске и его применении, алгоритме поиска кратчайшего пути, а также об использовании и реализации некоторых структур данных: куч, деревьев поиска, хеш-таблиц и фильтра Блума.

В данном посте представлен отрывок «Фильтры Блума: основы»
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 6

Среда, лексическая область видимости и замыкания в JavaScript

Reading time 4 min
Views 11K
NIX corporate blog JavaScript *Programming *
Translation


Перевод JavaScript Environment, Lexical Scope and Closures.

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

Аналогичным образом устроена программа. То, что вы создаете снаружи — внешние функции, условные операторы, циклы и другие блоки — представляет собой внешнюю, глобальную среду.
Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Comments 8

Ответственный подход к JavaScript-разработке, часть 2

Reading time 14 min
Views 17K
RUVDS.com corporate blog Website development *JavaScript *
Translation
В апреле этого года мы опубликовали перевод первого материала из цикла, посвящённого ответственному подходу к JavaScript-разработке. Там автор размышлял о современных веб-технологиях и об их рациональном использовании. Теперь мы предлагаем вам перевод второй статьи из этого цикла. Она посвящена некоторым техническим деталям, касающимся устройства веб-проектов.


Читать дальше →
Total votes 34: ↑34 and ↓0 +34
Comments 4

Разработка приложения на SwiftUI. Часть 1: поток данных и Redux

Reading time 5 min
Views 6.1K
Skillbox corporate blog Programming *Development for iOS *Swift *Studying in IT
Translation


После участия в сессии State of the Union на WWDC 2019 я решил детально изучить SwiftUI. Я потратил много времени на работу с ним и теперь приступил к разработке реального приложения, которое может оказаться полезным широкому кругу пользователей.

Его я назвал MovieSwiftUI — это апп для поиска новых и старых фильмов, а также их сбора в коллекцию при помощи TMDB API. Я всегда любил фильмы и даже создал компанию, работающую в этой сфере, правда давно. Компанию сложно было назвать классной, а вот приложение — да!
Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 1

Как реализовать чистую архитектуру на Android?

Reading time 5 min
Views 18K
Programming *Development of mobile applications *Development for Android *
Translation

Как реализовать чистую архитектуру на Android?


Что вы найдёте в этой статье?


В 2016 году я начал изучать Java, а в начале 2017 года — Android. С самого начала я уже знал, что существует понятие архитектуры приложений, но не знал, как это применить в своём коде. Я находил много разных гайдов, но понятнее от этого мне не становилось.


Эта статья — именно та, которую мне хотелось бы прочитать в начале своего пути.

Читать дальше →
Total votes 26: ↑21 and ↓5 +16
Comments 5

Создание минимального Docker-контейнера для Go-приложений

Reading time 4 min
Views 38K
Go *
Sandbox
Привет, Хабр! Предлагаю вашему вниманию перевод статьи основателя сервиса Meetspaceapp Nick Gauthier «Building Minimal Docker Containers for Go Applications».

Время чтения: 6 минут

Существует множество, как официальных, так и поддерживаемых сообществом контейнеров для различных языков программирования (включая Go). Но эти контейнеры могут быть довольно большими. Давайте сперва сравним стандартные методы создания контейнеров для Go-приложений, а затем я покажу способ создания крайне маленьких статических контейнерезированных Go-приложений

Часть 1: Наше «приложение»


Для тестирования нам потребуется какое-нибудь маленькое приложение. Давайте будем фетчить google.com и выводить размер HTML.

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "os"
)

func main() {
    resp, err := http.Get("https://google.com")
    check(err)
    body, err := ioutil.ReadAll(resp.Body)
    check(err)
    fmt.Println(len(body))
}

func check(err error) {
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }
}

Если мы запустимся, то получим только какое-то число. У меня вышло около 17К. Я целенаправленно решил использовать SSL, но причину объясню позднее.
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Comments 10

Главный секрет разработки хороших Electron-приложений

Reading time 7 min
Views 16K
RUVDS.com corporate blog Website development *JavaScript *
Translation
Кое-кто люто ненавидит Electron-приложения. То, что приложение включает в себя браузер Chromium, кажется, мягко говоря, странным. Это ощущение усиливается в ходе работы с такими приложениями. Они потребляют много памяти, медленно загружаются и не отличаются особенно высокой скоростью реакции на воздействия пользователя. Непросто разработать хорошее приложение для веба. Зачем же веб-технологии притащили в настольную среду? Ведь возникает такое ощущение, что в этой среде они создают кучу проблем?

Автор материала, перевод которого мы сегодня публикуем, говорит, что не станет выступать в роли защитника Electron, хотя всё говорит об успешности этой платформы. Правда, никто не собирается сбрасывать со счетов излишества, которые присущи Electron-приложениям. Можно ли, разрабатывая такие приложения, убить одним выстрелом двух зайцев?


Некоторые из проблем Electron (большие размеры файлов, медленная загрузка) являются наследием технологий, на которых основана эта платформа. Их надо решать на низком уровне. Более серьёзные проблемы (потребление памяти, неповоротливость интерфейсов) могут быть решены на том уровне, на котором разрабатывают Electron-приложения. Однако решать эти проблемы непросто. Что если есть некий секрет, зная который можно, в автоматическом режиме, минимизировать эти недостатки?

Если вы любите читать программный код — можете сразу же заглянуть в этот репозиторий. Тут находится проект, который будет рассмотрен в этом материале.
Читать дальше →
Total votes 34: ↑28 and ↓6 +22
Comments 35

Heroku + Docker + Spring Boot

Reading time 5 min
Views 19K
Programming *Java *
Tutorial
Далее речь пойдет о моем опыте запуска докеризованного Spring Boot приложения на бесплатных виртуальных машинах облачного сервиса Heroku. Одно из главных преимуществ этого провайдера в том, что он дает возможность создавать бесплатные виртуалки с ограничением по часам работы, причем для этого достаточно только регистрации. Даже платежные реквизиты подтверждать не требуется, хотя если их подтвердить можно получить дополнительные бонусы. Подробнее про их прайс можно прочитать здесь. С моей точки зрения их политика по части бесплатных ресурсов почти не имеет аналогов.

И так, после того, как вы создали на Heroku приложение есть несколько способов развернуть в нем ваш код
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 7

10 лучших JavaScript библиотек для визуализации данных на графиках и диаграммах

Reading time 9 min
Views 112K
Website development *JavaScript *Programming *Big Data *Data visualization *
Translation
Есть в графиках что-то магическое. Изгиб кривой мгновенно раскрывает всю ситуацию — историю развития эпидемии, паники или периода процветания. Эта линия просвещает, пробуждает воображение, убеждает.
Генри. Д. Хаббард
Объемы данных, с которыми нужно работать, постоянно увеличиваются. И чем больше информации, тем сложнее ее обрабатывать. Вот почему сейчас стала особенно популярна тема визуализации данных — в виде графиков, диаграмм, дашбордов, желательно интерактивных. Визуальное представление данных позволяет нам, людям, тратить меньше времени и сил на их просмотр, анализ и осмысление, а также на принятие правильных, информированных решений на основе этого.

Вряд ли кто-то станет отрицать, что в современном HTML5 вебе JavaScript — самая универсальная и простая технология для визуализации данных. Так что, если вы занимаетесь фронтенд-разработкой, то вы, скорее всего, либо уже имели дело с созданием JS чартов, либо столкнетесь с этим в (скором) будущем.

Существует множество JavaScript библиотек для построения графиков и диаграмм, каждая из которых (как и любые другие инструменты) имеет свои плюсы и минусы. Чтобы облегчить вам жизнь, я решил рассказать о тех из них, которые нравятся мне больше всего. Я считаю, десять следующих библиотек — это лучшие JS библиотеки для создания графиков, и они действительно способны помочь решить практически любую задачу по визуализации данных. Давайте вместе пройдемся по списку и убедимся, что они вам известны хотя бы базово и вы не упустили из виду какую-нибудь хорошую библиотеку, которая может оказаться полезной в текущих или будущих больших проектах.

Заглавная картинка: визуализация данных на графиках и диаграммах

Что ж, приступим: вот лучшие JS библиотеки для визуализации данных!
Читать дальше →
Total votes 31: ↑27 and ↓4 +23
Comments 29

Чего мне не хватает в Java после работы с Kotlin/Scala

Reading time 9 min
Views 16K
Райффайзен Банк corporate blog Java *Scala *Kotlin *
В последнее время я часто слышу о том, что Java стала устаревшим языком, на котором сложно строить большие поддерживаемые приложения. В целом, я не согласен с этой точкой зрения. На мой взгляд, язык все еще подходит для написания быстрых и хорошо организованных приложений. Однако, признаюсь, бывает и такое, что при повседневном написании кода иногда думаешь: “как бы хорошо это решилось вот этой штукой из другого языка”. В этой статье я хотел поделиться своей болью и опытом. Мы посмотрим на некоторые проблемы Java и как они могли бы разрешиться в Kotlin/Scala. Если у вас возникает похожее чувство или вам просто интересно, что могут предложить другие языки, — прошу под кат.


Читать дальше →
Total votes 34: ↑30 and ↓4 +26
Comments 91

Суперсовременный OpenGL. Часть 1

Reading time 7 min
Views 38K
Programming *C++ *Working with 3D-graphics *Game development *CGI *


Всем привет. Все кто хоть немного разбирался в теме OpenGL знают, что существует большое количество статей и курсов по этой теме, но многие не затрагивают современный API, а часть из них вообще рассказывают про glBegin и glEnd. Я постараюсь охватить некоторые нюансы нового API начиная с 4-й версии. Ссылка на вторую часть статьи
Читать дальше →
Total votes 53: ↑52 and ↓1 +51
Comments 25

Элегантная обработка ошибок в JavaScript с помощью монады Either

Reading time 18 min
Views 20K
JavaScript *Programming *
Translation
Давайте немного поговорим о том, как мы обрабатываем ошибки. В JavaScript у нас есть встроенная функция языка для работы с исключениями. Проблемный код мы заключаем в конструкцию try...catch. Это позволяет прописать нормальный путь выполнения в разделе try, а затем разобраться со всеми исключениями в разделе catch. Неплохой вариант. Это позволяет сосредоточиться на текущей задаче, не думая о каждой возможной ошибке. Определённо лучше, чем засорять код бесконечными if.

Без try...catch трудно проверять результаты каждого вызова функции для неожиданных значений. Это полезная конструкция. Но у неё есть определённые проблемы. И это не единственный способ обрабатывать ошибки. В статье мы рассмотрим использование монады Either в качестве альтернативы try...catch.

Прежде чем продолжить, отмечу пару моментов. Статья предполагает, что вы уже знаете о композиции функций и каррировании. И предупреждение. Если вы раньше не сталкивались с монадами, они могут показаться действительно… странными. Работа с такими инструментами требует изменить мышление. Поначалу это бывает тяжело.

Не волнуйтесь, если сразу запутались. У всех так. В конце статьи я перечислил несколько ссылок, которые могут помочь. Не сдавайтесь. Эти штуки опьяняют, как только проникают в мозг.
Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Comments 12

Рассказ о том, как команда фрилансеров пишет фулстек-приложения на JavaScript

Reading time 11 min
Views 13K
RUVDS.com corporate blog Website development *JavaScript *
Translation
Автор материала, перевод которого мы сегодня публикуем, говорит, что GitHub-репозиторий, над которым работал он и ещё несколько фрилансеров, получил, по разным причинам, около 8200 звёзд за 3 дня. Этот репозиторий попал на первое место в HackerNews и в GitHub Trending, за него отдали голоса 20000 пользователей Reddit.



В данном репозитории отражена методика разработки фулстек-приложений, которой посвящена эта статья.
Читать дальше →
Total votes 32: ↑27 and ↓5 +22
Comments 8

Большие данные — большая ответственность, большой стресс и большие деньги

Reading time 7 min
Views 17K
Хабр Карьера corporate blog Big Data *Machine learning *IT career Distributed systems *
image

Термин Big Data подпорчен современным фантастическим преувеличением новых вещей. Как ИИ поработит людей, а блокчейн построит идеальную экономику — так и большие данные позволят знать абсолютно все про всех и видеть будущее.

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

Появляются новые методы. Вместе с ними — новые профессии. Декан факультета аналитики Big Data в GeekBrains Сергей Ширкин рассказал, что это за профессии, где они нужны, чем там надо заниматься и что надо уметь. Какие используются инструменты и сколько обычно платят специалистам.
Читать дальше →
Total votes 35: ↑29 and ↓6 +23
Comments 5

Знакомство с Go и Mggo Framework

Reading time 3 min
Views 8.1K
Go *
Sandbox
Всем привет! Хочу поделиться первым опытом программирования на языке Go.

Cвою дорогу в программирование я начал как frontend разработчик. Далее перешёл на backend на Python и, немного для себя, на C# Asp.Net MVC. Но вот недавно, пару месяцев назад, я познакомился с этим прекрасным языком Go.

Почему Go?


1 — компилируемый язык.
2 — очень необычный язык.

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

Но немного поломав голову, язык Go мне раскрылся и я его полюбил. Ну и, конечно, первым делом решил написать свой первый «велосипед», а именно web framework под названием MGGO.

Что я хотел и к чему стремился


Конечно сразу хотелось сделать MVC framework наподобие Asp.Net. Но это оказалось не так просто, потому что язык Go своеобразный. Но вот что получилось:

Контроллеры (controller)


Контроллер это структура, в котором методы могут быть как внешние(api) так и только внутренние, а также, которые отвечают за представление(view).

Сразу на примере рассмотрим контроллер новостей.

import mggo

type News struct{
   ID int
   Title string
   Text string 
}
func NewNews() *NewNews{
   return &NewNews{}
}
func init() {
    // регистрируем контроллер
   mggo.RegisterController("news", NewNews)
}

func(n *News) Read(ctx *mggo.BaseContext) News{
   return News{1, "First News", "Text first News"}
}

func(n *News) IndexView(ctx *mggo.BaseContext, data *mggo.ViewData, path []string){
   data.View = "news/news.html"
   data.Data["News"]
   data.Data["News"] = n.Read()
}

Читать дальше →
Total votes 21: ↑12 and ↓9 +3
Comments 7

Пирамида спича: как с помощью уровней Дилтса вызвать доверие аудитории

Reading time 3 min
Views 11K
Reading room Presentations
Sandbox
Решение по проекту или финансирование стартапа может зависеть всего от одной презентации. Особенно это цепляет, когда выступать приходится профессионалу, который мог бы направить это время на разработку. Если в вашей компании нет отдельных менеджеров, которые занимаются маркетингом и продажами, можно всего за час освоить пирамиду спича, метод недирективного воздействия на аудиторию и правила разработки бизнес-презентаций. Читайте подробнее в этой статье.

image
Читать дальше →
Total votes 22: ↑18 and ↓4 +14
Comments 14

Не Spring Boot’ом единым: обзор альтернатив

Reading time 13 min
Views 22K
Райффайзен Банк corporate blog Java *Kotlin *Microservices *


В настоящее время нет недостатка во фреймворках для создания микросервисов на Java и Kotlin. В статье рассматриваются следующие:
Название Версия Год первого релиза Разработчик
Helidon SE 1.1.1 2019 Oracle
Ktor 1.2.1 2018 JetBrains
Micronaut 1.1.3 2018 Object Computing
Spring Boot 2.1.5 2014 Pivotal
Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Comments 14

Information

Rating
Does not participate
Registered
Activity