Pull to refresh
2
0
Send message

Пишем блог на микросервисах – часть 1 «Общее описание»

Reading time4 min
Views16K
В этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:)
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments18

Введение в Firebase: пишем простое социальное приложение на Swift

Reading time16 min
Views214K
В связи с неожиданным решением Facebook закрыть Parse, многое разработчики задались вопросом, что использовать вместо него. Сегодня практически невозможно представить полностью автономное приложение, которое было бы полезное всем. В связи с этим, iOS разработчики в своей работе пользуются инструментами и ресурсами, предоставленные Apple для доступа к данным. Backend-as-a-service, или сокращенно BaaS является потрясающим инструментом для разработчиков.

Среди наилучших и наиболее популярных BaaSs можно выделить Firebase от компании Google. По существу, Firebase является безусловно потрясающим в исполнении, реализации и эксплуатации. Firebase служит базой данных, которая изменяется в реальном времени и хранит данные в JSON. Любые изменения в базе данных тут же синхронизируются между всеми клиентами, или девайсами, которые используют одну и ту же базу данных. Другими словами, обновление в Firebase происходят мгновенно.

Вместе с хранилищем, Firebase также предоставляет пользовательскую аутентификацию, и поэтому все данные передаются через защищенное соединение SSL. Мы можем выбрать любую комбинацию email и пароля для аутентификации, будь то Facebook, Twitter, GitHub, Google, или что-то другое.

В добавку к iOS SDK, у Firebase есть SDK для Android и JavaScript. Все платформы могут использовать одну базу данных.
Сложно представить что Firebase со всеми этими функциями бюджетное решение.

На момент написания этой статьи, в бесплатном пакете Firebase может обрабатывать до 100 одновременных соединений. Этого вполне достаточно для работы популярного приложения. За $49 в месяц ограничений на сетевую активность нет.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments5

Почему Мистер Робот — лучший сериал про IT-индустрию

Reading time12 min
Views113K
Доброго времени суток, уважаемые читатели Хабра!

23 декабря 2019 года в свет вышла заключительная серия одного из самых популярных сериалов про IT — Мистер Робот. Посмотрев сериал до конца, я твёрдо решил написать статью о сериале на Хабре. Выход этой статьи приурочен к моему юбилею на портале. Моя первая статья появилась ровно 2 года назад.

Disclaimer


Я понимаю, что читатели Хабрахабра — люди работающие в IT-индустрии, опытные пользователи и заядлые гики. Данная статья не несёт в себе какой-то важной информации и не является обучающей. Здесь я хотел бы поделиться мнением о сериале, но не как кинокритик, а как человек из мира IT. Если вы согласны или же не согласны со мной в каких-то вопросах, давайте обсудим их в комментариях. Расскажите своё мнение. Оно будет интересно.

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

Что же, давайте приступим к разбору сериала.
Осторожно! Спойлеры.


Читать дальше →
Total votes 44: ↑31 and ↓13+29
Comments158

Разработка hexapod с нуля (часть 7) — новый корпус, прикладное ПО и протоколы общения

Reading time10 min
Views8.6K

Всем привет! Проектирование, печать и сборка нового корпуса наконец-то завершились. Также завершился запуск новой платы управления на базе STM32F373 и FW успешно перенесено на новый МК. Все ближе подходит релиз версии 1.00 с базовым функционалом. Теперь можно рассказать о том, что еще ни разу не упоминалось в цикле — прикладное ПО для управления и используемые протоколы для коммуникации. Как всегда, будет много картинок, видео и список граблей, на которые я успел наступить с прыжка.

Этапы разработки:

Часть 1 — проектирование
Часть 2 — сборка
Часть 3 — кинематика
Часть 4 — математика траекторий и последовательности
Часть 5 — электроника
Часть 6 — переход на 3D печать
Часть 7 — новый корпус, прикладное ПО и протоколы общения
Часть 8 — улучшенная математика передвижения
Часть 9 — завершение версии 1.00
Total votes 13: ↑13 and ↓0+13
Comments18

Лекции со школы по биоинформатике от А до Я

Reading time7 min
Views4.7K
Летом 2019 года в седьмой раз проходила летняя школа по биоинформатике — недельный образовательный интенсив для ста студентов и недавних выпускников из разных городов и стран, делающих первые шаги в этой области.

Биологи, медики, программисты, математики, физики, химики — самые распространенные специальности участников школы — условно поделились на два потока «биологов» и «информатиков». Лекции и практики были посвящены различным биоинформатическим методам и их применению в медицине и биологии: начиная от эволюции и заканчивая анализом данных секвенирования одиночных клеток и старением.

Ниже мы делимся обзором, видеозаписями и слайдами 15 прошедших лекций. Помеченные звёздочкой «*» можно смотреть без подготовки или с базовыми знаниями.

Приятного просмотра!


Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments0

Как я самостоятельно выучил новый язык за 12 месяцев: тотальный гайд

Reading time31 min
Views155K
От А0 до B2 за год

Чуть больше года назад я был полностью монолингвом, говорящем только на английском, с нулевыми познаниями во французском языке. А спустя двенадцать месяцев, я с лёгкостью сдал международный экзамен DELF B2. Если вы не знаете, что значит «В2», посмотрите шкалу CEFR.

Более того, все мои успехи — это результат домашнего обучения и практики. Моё обучение было полностью самостоятельным, без каких-либо специальных учебных программ. Это стало возможным только благодаря множеству удивительных ресурсов, доступных в Интернете, многие из которых бесплатны. Немаловажно, такой результат был достигнут потому, что я отдавал предпочтение продуктивному общению, в частности, проводя много времени за разговорами с теми, кто хорошо знает французский.

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

Не могу сказать, что полностью свободно говорю, но чтобы вы лучше понимали, каких результатов удалось достичь, приведу список того, что больше не вызывает у меня проблем:

  • Беседа на французском в течение нескольких часов;
  • Понимание различных видов французских СМИ (например, новости и видео на YouTube);
  • Чтение статей, написанных для носителей французского языка;
  • Построение мыслей на французском;

Конечно, я всё ещё очень далёк от уровня носителя. У меня точно есть слабые места, и я не могу выражаться на французском так же хорошо, как на английском. Тем не менее, я очень даже доволен своим уровнем владения французским и думаю, что многие изучающие язык тоже были бы довольны.
Читать дальше →
Total votes 41: ↑38 and ↓3+44
Comments91

Когда принцип «к чёрту всё, бери и делай!» не работает: заметки прокрастинатора

Reading time8 min
Views29K
Осторожно, этот текст написан настоящим прокрастинатором. Желание написать статью на тему борьбы с прокрастинацией появилось у меня летом 2019 года, приступила к работе в ноябре и думала, что выпущу статью к концу декабря — как раз когда все подводят итоги и планируют начать новую жизнь. Сегодня 17 февраля 2020, и у меня еще не готов последний абзац. Тем не менее в этой статье я расскажу, что все-таки помогло мне выкарабкаться из пучины «я сделаю это завтра/в выходные/в понедельник…» и закончить работу.


Читать дальше →
Total votes 28: ↑27 and ↓1+36
Comments46

Первые в мире серийные лампы с солнечным спектром

Reading time4 min
Views143K
В январе 2020 года в продаже появились первые светодиодные лампы, в которых используются светодиоды Sunlike, обеспечивающие равномерный спектр без пиков и идеальную цветопередачу.



Читать дальше →
Total votes 107: ↑106 and ↓1+144
Comments307

10 идей по воспитанию помехозащищенности

Reading time12 min
Views12K
Говоря о помехах работе, обычно подразумевают посторонние звуки и влияние коллег. Но в моем понимании понятие “помехозащищенности” шире. Это способность работать над текущей задачей, не отвлекаясь на что-то другое.

Сегодня поговорим о том, почему это важно и как этого достичь.

image
(The Isolator, 1925)
Читать дальше →
Total votes 15: ↑12 and ↓3+16
Comments7

Идеальный SAST. Парсер

Reading time5 min
Views2.3K
Цикл статей посвящен описанию оптимального подхода для реализаций инструментов статического анализа кода, рассчитан на специалистов. Целью работы являются подходы, модели и методики для получения максимальной производительности инструмента при минимизации трудоемкости разработки и поддержки/изменения инструмента. В данной статье рассматривается способ ускорения работы парсера и снижения потребления памяти. Статья построена таким образом, что читатель прочел руководство написанное Терренсом Парром.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments21

Kaboom: необычный сапёр

Reading time8 min
Views24K


В детстве я три раза в неделю по часу-полтора сидел на работе у отца. Меня пускали за компьютер, где из развлечений был лишь сапёр и Paint. Рисовать мне быстро надоедало, зато желание открыть всё поле и не взорваться мотивировало искать новые и новые способы прохождения этой игры. Спустя много лет я случайно наткнулся на интересную статью про клона сапёра, и не мог пройти мимо. Предлагаю и вам ознакомиться с ней. Это история о разработке Kaboom, клона легендарной игры Сапёр с собственной изюминкой.
Читать дальше →
Total votes 29: ↑28 and ↓1+35
Comments36

API, ради которых наконец-то стоит обновиться с Java 8. Часть 2

Reading time12 min
Views22K

Продолжаем рассказ про API, которые появились в новых версиях Java.



1. Files.mismatch()


Появился в: Java 12


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


Это может быть полезно, например, когда синхронизируешь содержимое двух директорий. Чтобы не перезаписывать файл при копировании тем же самым содержимым и лишний раз не нагружать диск, можно сначала проверить, идентичны файлы или нет:


public static void syncDirs(Path srcDir, Path dstDir)
        throws IOException {
    // Для простоты демонстрации считаем, что поддиректорий нет
    try (Stream<Path> stream = Files.list(srcDir)) {
        for (Path src : stream.collect(toList())) {
            Path dst = dstDir.resolve(src.getFileName());
            if (!Files.exists(dst)) {
                System.out.println("Copying file " + dst);
                Files.copy(src, dst);
            } else if (Files.mismatch(src, dst) >= 0) {
                System.out.println("Overwriting file " + dst);
                Files.copy(src, dst, StandardCopyOption.REPLACE_EXISTING);
            }
        }
    }
}
Читать дальше →
Total votes 31: ↑29 and ↓2+36
Comments44

Примитивно-рекурсивные функции и функция Аккермана

Reading time7 min
Views36K

Функция Аккермана — одна из самых знаменитых функций в Computer Science. С ней связан как минимум один фундаментальный результат и как минимум один просто важный. Фундаментальный результат, говоря аккуратно и непонятно, таков: существует всюду определённая вычислимая функция, не являющаяся примитивно-рекурсивной. Важный результат заключается в том, что лес непересекающихся множеств (также известный как disjoint set union) работает очень быстро.


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


Из текста ниже вы узнаете, что такое примитивно-рекурсивные функции и как выяснить, что функция Аккермана к таковым не относится. И, конечно, этот текст убедит вас в том, что это невероятно красивая конструкция и невероятно красивое рассуждение!

Читать дальше →
Total votes 28: ↑27 and ↓1+43
Comments12

Управление по защите данных Германии: телеметрия в Windows 10 1909 Enterprise может быть полностью отключена

Reading time8 min
Views35K

Телеметрия давно стала горячо обсуждаемой темой с момента, когда Microsoft выпустил первую версию Windows 10. Microsoft решил глубоко интегрировать сбор данных в операционную систему — да так глубоко, что у пользовательских выпусков Windows 10 Home и Windows 10 Pro не было опции по полному отключению телеметрии.

Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments134

API, ради которых наконец-то стоит обновиться с Java 8. Часть 1

Reading time11 min
Views32K

На сегодняшний день Java 8 является самой популярной версией Java и ещё довольно долго будет ей оставаться. Однако с тех пор уже выпущено пять новых версий Java (9, 10, 11, 12, 13), и совсем скоро выйдет ещё одна, Java 14. В этих новых версиях появилось гигантское количество новых возможностей. Например, если считать в JEP'ах, то в сумме их было реализовано 141:



Однако в этом цикле статей не будет никакого сухого перечисления JEP'ов. Вместо этого я хочу просто рассказать об интересных API, которые появились в новых версиях. Каждая статья будет содержать по 10 API. В выборе и порядке этих API не будет какой-то определённой логики и закономерности. Это будет просто 10 случайных API, не ТОП 10 и без сортировки от наиболее важного API к наименее важному. Давайте начнём.

Читать дальше →
Total votes 44: ↑41 and ↓3+49
Comments41

Справочник по собеседованиям для тех программистов, которые их не понимают

Reading time3 min
Views146K

На Хабре с завидной периодичностью возникают посты от возмущенных программистов, которые справедливо (наверное) негодуют, почему на собеседовании никто не спросил про их прошлые проекты, не посмотрел их код, но задавал шаблонные справочные вопросы или заставлял решать алгоритмические задачи, которые, скорее всего (в 99%), не будут применяться на вакантной работе.

Чтобы уменьшить поток этих публикаций (святая простота), ниже будет краткий, но лаконичный справочник по типам собеседований, которые вам стоит ожидать от конкретного типа компании. Справочник основан на личном многолетнем опыте. Надеюсь, это поможет вам (именно тебе, да) выбрать лучшую стратегию успешного получения работы.
Погнали!
Total votes 204: ↑183 and ↓21+225
Comments335

Мой подход по управлению временем/задачами используя VSCode

Reading time14 min
Views16K

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


Так происходило и со мной: на протяжении последних десяти лет я пробовал различные сервисы и программы по управлению временем/задачами, читал море статей по этой теме, но всё как-то не мог найти свой идеальный подход до последнего времени. Последние пару лет я пришел к тому, что начал использовать Visual Studio Code (VSCode) и расширение Org Mode для управления временем и задачами. В этой статье я расскажу, как я это делаю. Не скажу, что я стал супер высокоэффективным, но эффект чувствуется.

Читать дальше →
Total votes 8: ↑7 and ↓1+12
Comments50

Возвращение GOTO

Reading time10 min
Views16K

Сейчас все понимают, что использовать оператор GOTO это не просто плохая, а ужасная практика. Дебаты по поводу его использования закончились в 80-х годах XX века и его исключили из большинства современных языков программирования. Но, как и положено настоящему злу, он сумел замаскироваться и воскреснуть в XXI веке под видом исключений.

Читать дальше →
Total votes 33: ↑16 and ↓17+7
Comments191

Визуальная теория информации (часть 1)

Reading time12 min
Views21K


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

Теория информации дает нам точный язык для описания многих вещей. Сколько во мне неопределенности? Как много знание ответа на вопрос А говорит мне об ответе на вопрос Б? Насколько похож один набор убеждений на другой? У меня были неформальные версии этих идей, когда я был маленьким ребенком, но теория информации кристаллизует их в точные, сильные идеи. Эти идеи имеют огромное разнообразие применений, от сжатия данных до квантовой физики, машинного обучения и обширных областей между ними.

К сожалению, теория информации может казаться пугающей. Я не думаю, что есть какая-то причина для этого. Фактически, многие ключевые идеи могут быть объяснены визуально!

Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments7

Что нужно знать о тренажерах для памяти

Reading time5 min
Views19K
Кто из нас не хотел бы учиться быстрее и с лету запоминать новую информацию? Исследователи связывают сильные когнитивные способности с множеством факторов. Они определяют не только способность к запоминанию, но и качественную жизнь — здесь приводится успешная карьера, активная социализация и возможность просто интересно проводить свободное время.

Не всем везет родиться с фотографической памятью, но это не повод отчаиваться. Предпринять что-то в такой ситуации можно. Кто-то заучивает «Евгения Онегина», другие скупают пособия и сборники со специальными упражнениями. Третьи — все чаще обращают внимание на приложения, которые обещают своим пользователям феноменальные результаты, если те готовы ежедневно выделять 10-15 минут на упражнения. Расскажем, на чем основаны эти тренажеры, и чего от них ждать.

Читать дальше →
Total votes 19: ↑16 and ↓3+18
Comments11
1
23 ...

Information

Rating
Does not participate
Registered
Activity