Pull to refresh
1
0
Send message

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

Reading time4 min
Views12K
Тема криптовалют и – шире – блокчейна весь прошлый год была сверхпопулярной. В результате многие гуманитарии (и мои студенты не исключение) набрали себе курсовых, дипломов и диссертаций по тематике. Но проблема в том, что серьезных вещей по теме написано с гулькин нос, причем даже в высокорейтинговых журналах часто встречается откровенная ерунда.

Я набросал небольшой список «серьёзной» литературы по блокчейну и криптовалютам для юристов, экономистов и прочих гуманитариев на русском языке – минимум, чтобы выстроить рамки понимания проблематики. Всего литературы по теме, разумеется, намного больше, так что если знаете что-то дельное, что я мог пропустить – присылайте в личку, список дополняемый. Давайте начнём с работ на русском.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments4

Расставляем точки над микросервисами. Секция Avito на РИТ++ 2017 (Видео)

Reading time4 min
Views25K
Вот и подоспели материалы с фестиваля РИТ++ 2017. Мы выступили там с докладами по темам machine learning, front-end и mobile разработки и провели отдельный тематический блок, посвященный микросервисам. Под катом – видеозаписи выступлений на этой секции наших докладчиков и коллег из других компаний. Обязательно загляните, чтобы узнать о подходах к работе с микросервисами и интересных приемах, которые реально использовать для решения ваших задач.


Total votes 43: ↑43 and ↓0+43
Comments3

Понимание сети Kubernetes: сервисы

Reading time10 min
Views54K

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


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

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

Превращаем докладчиков в спикеров на примере HighLoad++

Reading time4 min
Views7.1K
Привет! Я диктор Чумак и я помогаю людям достигать большего с помощью инструмента, который всегда с собой, — способности говорить.

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



Содержательную часть я затрагивать не буду, в ней вы, очевидно, разбираетесь лучше меня. Я обозначу хорошие моменты выступлений и «точки роста» — проблемные места, исправив которые, автор доклада сможет стать более эффективным спикером.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments18

Подборка ресурсов для соискателя на вакансию программист

Reading time2 min
Views18K



Занимаясь с 2013 г. обучением Java и трудоустройством выпускников, я накопил достаточно большую коллекцию ссылок на темы составления резюме, онлайн тестов, подготовки к собеседованию и прохождения интервью, поиска работы и советов новичкам. Часть подходит всем кандидатам, часть (по подготовке) специфична для Java. Предлагаю Вашему вниманию эту подборку:

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

9 учебных проектов для бэкендера

Reading time3 min
Views120K
image
источник КДПВ

Ранее на Хабре публиковался перевод статьи с Medium'а с подборкой из 8 проектов, которые можно реализовать, изучая новый язык или фреймворк. На мой взгляд, подборка очень неплохая. Проблема в том, что рассчитана она только на фронтендеров и мобильных разработчиков. А я из другого лагеря.

Покопавшись в своих заметках, я собрал для вас подборку идей на тот случай, если чешутся руки сделать что-нибудь своё. Все эти «проекты» уже существуют в том или ином виде, но, иногда интересно написать свой бэкенд-велосипед и проехать на нем по граблям.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments20

Блокчейн 101: книги, исследования и статьи по теме

Reading time6 min
Views40K
Мы подготовили дайджест из 30 полезных материалов о блокчейне: это книги, статьи, видео для тех, кто «что-то слышал, но хочет лучше разобраться в теме». Этот список мы формировали на основе собственных материалов и исследований, а также рекомендаций резидентов платформ Hacker News, Quora, Reddit.

Как устроены смарт-контракты, как объяснить концепцию биткойна ребенку и (самое интересное) как сделать свой собственный блокчейн — обо всем под катом.

Читать дальше →
Total votes 24: ↑20 and ↓4+16
Comments4

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

Reading time8 min
Views52K
image

Я только что закончил семь собеседований в компаниях Кремниевой долины. В конечном итоге я принял предложение разработки программного обеспечения в Facebook.

Вот как я готовился к этим собеседованию и чему я научился на этом пути.

Мой многолетний путь в Кремниевую долину


Когда я изучал компьютерные науки в своем университете в Австралии, я всегда представлял свое будущее в качестве инженера-программиста в Кремниевой долине.

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

Я оставил свое место в качестве ведущего инженера iOS в чудесной компании в Мельбурне и я вернулся обратно в мой родной город Перт, чтобы учиться. Тут я буду готовиться к переговорному процессу которое ждет меня в Кремниевой долине. Я знал, что это будет невероятно сложно и тяжело.

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

Ради этой статьи я не буду вступать в эту дискуссию. Вместо этого я рассмотрю различные типы методов интервью с точки зрения кандидата. Я также сосредоточу внимание на том, что я узнал из этого процесса.
Читать дальше →
Total votes 32: ↑22 and ↓10+12
Comments16

Разбор задач второго этапа Школы программистов HeadHunter 2017

Reading time8 min
Views21K
Второй этап отбора в Школу программистов закончился. Многие из тех, кто поступал в Школу, просили рассказать алгоритмы решения задач, а главное — прислать комбинации, на которых их программа не работает. В этой статье будут описаны решения предлагаемых задач, а в конце статьи вы увидите ссылку на github, где выложен код описанных решений, код программы проверки и тестовые кейсы. Весь код написан на java (хотя решение второй задачи легче писать на питоне). Не буду утверждать, что это единственные правильные решения, существуют и другие, но эти мне нравятся больше всего.


Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments5

Как переехать на работу в США: подборка полезных материалов

Reading time3 min
Views43K


Согласно данным опроса Иннополиса и HeadHunter в число наиболее желанных стран для профессиональной эмиграции у россиян входят США, Германия и Канада. При этом, США лидируют в списках стран, наиболее привлекательных для ИТ-специалистов из СНГ. Отечественных айтишников привлекает достойный уровень жизни и один из самых высоких в мире уровней заработных плат. Так, «менеджеры компьютерных и информационных систем», входят в ТОП-25 самых высокооплачиваемых специалистов в США.

При этом, важно понимать, что получить работу в Америке не так легко, ведь компаниям проще работать с теми специалистами, у которых уже есть разрешение на работу в стране. Я собрала полезные ссылки для тех, кто собирается получить рабочую визу в США.
Читать дальше →
Total votes 23: ↑17 and ↓6+11
Comments7

Сервис оповещения миллиона пользователей с помощью RabbitMQ

Reading time20 min
Views57K

Почти в самом начале создания платформы (некоего фундамента, фреймворка на котором базируются все прикладные решения) нашего облачного веб-приложения СБИС мы поняли, что без инструмента, позволяющего сообщить пользователю о каком-либо событии с сервера, жить будет довольно-таки трудно. Все мы хотим мгновенно видеть новое сообщение от коллеги (которому лень пройти 10 метров), поднимающую корпоративный дух новость от руководства, очень важную задачу от отдела тестирования или получение поощрения (особенно денежного). Но путь становления был тернист, поэтому расскажем немного про трудности, которые мы встретили при взрослении от 5.0e3 до 1.0e6 одновременных подключений от пользователей.


Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments24

Мониторинг всех слоев web проекта

Reading time14 min
Views19K
Николай Сивко

Николай Сивко ( NikolaySivko, okmeter.io)


Этот текст — расшифровка очень давнего, но не теряющего актуальности выступления Николая.

Я бы хотел поговорить о том, зачем, вообще, нам мониторинг, о содержательной части. Мотивация простая — если у нас ресурс лежит 1 минуту (HeadHunter), мы посчитали, что это затрагивает 30 тыс. пользователей днем в будни. Для сравнения — это 15 аудиторий HighLoad++ этого года. Олег говорил, что тут около 2000 человек, так это 15 таких аудиторий. Задача эксплуататоров, на мой взгляд, это не то, чтобы оптимизировать мониторинг, а то, чтобы их сайт работал. Т.е. бизнес-задачу решать. Какие задачи нужно решать?
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments0
Если вы планируете или уже получаете оплату в валюте, вам в любом случае предстоит валютный контроль. Мы не знаем, какая часть предпринимателей отказывается от работы с иностранными клиентами или работает по-черному, лишь бы не связываться с валютным контролем. Но кажется, что его не любят многие. Мы подготовили инструкцию, которая поможет вам разобраться с валютным контролем. Мы не будем рассказывать обо всех трудностях - проговорим только те, которые чаще встречаются в сфере IT.
Подробная инструкция – под катом.
Total votes 51: ↑49 and ↓2+47
Comments192

RNNoise: пожертвуй свой шум для обучения нейросети Mozilla

Reading time3 min
Views18K

Спектрограмма до шумоподавления, записана человеческая речь на SNR 15 дБ


Спектрограмма звука после обработки нейросетью RNNoise

Шумоподавление остаётся актуальной темой научных исследований по крайней мере с 70-х годов прошлого века. Несмотря на значительные улучшения в качестве систем, их высокоуровневая архитектура практически не претерпела изменений. Техника спектральной оценки полагается на спектральную оценку шума, которая, в свою очередь, работает при помощи детектора голосовой активности (VAD) или тому подобного алгоритма. Каждый из трёх компонентов требует аккуратной подгонки — и их трудно настраивать. Поэтому достижения Mozilla и Xiph.org в глубинном обучении имеют такое большое значение. Созданная ими гибридная система RNNoise уже сейчас демонстрирует неплохой результат в шумоподавлении (см. исходный код и демо).

Создавая RNNoise, разработчики стремились получить маленький и быстрый алгоритм, который будет эффективно работать в реальном времени даже на Raspberry Pi. И им это удалось, причём RNNoise показывает более качественный результат, чем самые крутые и навороченные современные фильтры.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments2

Чтение на выходных: 17 независимых блогов по математике, алгоритмам и языкам программирования

Reading time5 min
Views59K
Сегодня мы подготовили очередную [наш IaaS-дайджест и материалы по структурированию кода] подборку полезных источников. На этот раз мы решили изучить тематическую ветку на Hacker News и рассказали о блогах, которые могут хорошо дополнить чтение «Хабра».

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

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

Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments1

Знай сложности алгоритмов

Reading time2 min
Views1M
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Total votes 312: ↑296 and ↓16+280
Comments99

О классификации методов преобразования Фурье на примерах их программной реализации средствами Python

Reading time7 min
Views29K

Введение


Публикации по методу Фурье условно можно разделить на две группы. Первая группа так называемых познавательных публикаций, например, [1,2].

Вторая группа публикаций касается применения преобразований Фурье в технике, например, при спектральном анализе [3,4].

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

Задачи публикации


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

Гармонический анализ и синтез


Гармоническим анализом называют разложение функции f(t), заданной на отрезке [0, Т] в ряд Фурье или в вычислении коэффициентов Фурье по формулам.

Гармоническим синтезом называют получение колебаний сложной формы путем суммирования их гармонических составляющих (гармоник).

Программная реализация
#!/usr/bin/python
# -*- coding: utf-8 -*
from scipy.integrate import quad # модуль для интегрирования
import matplotlib.pyplot as plt # модуль для графиков
import numpy as np # модуль для операций со списками и массивами
T=np.pi; w=2*np.pi/T# период и круговая частота
def func(t):# анализируемая функция
         if t<np.pi:
                  p=np.cos(t)
         else:
                  p=-np.cos(t)
         return p
def func_1(t,k,w):# функция для расчёта коэффициента a[k] 
         if t<np.pi:
                  z=np.cos(t)*np.cos(w*k*t)
         else:
                  z=-np.cos(t)*np.cos(w*k*t)
         return z
def func_2(t,k,w):#функция для расчёта коэффициента b[k] 
         if t<np.pi:
                  y=np.cos(t)*np.sin(w*k*t)
         else:
                  y=-np.cos(t)*np.sin(w*k*t)
         return y
a=[];b=[];c=4;g=[];m=np.arange(0,c,1);q=np.arange(0,2*np.pi,0.01)# подготовка списков для численного анализа
a=[round(2*quad(func_1, 0, T, args=(k,w))[0]/T,3) for k in m]# интеграл для a[k], k -номер гармоники 
b=[round(2*quad(func_2, 0, T, args=(k,w))[0]/T,3) for k in m]# интеграл для b[k], k -номер гармоники
F1=[a[1]*np.cos(w*1*t)+b[1]*np.sin(w*1*t) for t in q]#функции для гармоник
F2=[a[2]*np.cos(w*2*t)+b[2]*np.sin(w*2*t) for t in q]
F3=[a[3]*np.cos(w*3*t)+b[3]*np.sin(w*3*t) for t in q]
plt.figure()
plt.title("Классический гармонический анализ функции \n при t<pi  f(t)=cos(t)  при t>=pi  f(t)=-cos(t)")
plt.plot(q, F1, label='1 гармоника')
plt.plot(q, F2 , label='2 гармоника')
plt.plot(q, F3, label='3 гармоника')
plt.xlabel("Время t")
plt.ylabel("Амплитуда А")
plt.legend(loc='best')
plt.grid(True)
F=np.array(a[0]/2)+np.array([0*t for t in q-1])# подготовка массива для анализа с a[0]/2
for k in np.arange(1,c,1):
         F=F+np.array([a[k]*np.cos(w*k*t)+b[k]*np.sin(w*k*t) for t in q])# вычисление членов ряда Фурье
plt.figure()
P=[func(t) for t in q]
plt.title("Классический гармонический синтез")
plt.plot(q, P, label='f(t)')
plt.plot(q, F, label='F(t)')
plt.xlabel("Время t")
plt.ylabel("f(t),F(t)")
plt.legend(loc='best')
plt.grid(True)
plt.show()

Читать дальше →
Total votes 14: ↑10 and ↓4+6
Comments1

Яндекс.Блиц. Почему и какие алгоритмические задачи нужно уметь решать, работая в поиске

Reading time7 min
Views62K

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



Для Блица мы выбрали исключительно алгоритмические задачи. Хотя для оценки раундов и применяется система ACM, в отличие от спортивного программирования все задания максимально приближены к тем, которые постоянно решают в продакшене Поиска. Те, кто решит успешно хотя бы четыре задачи из шести, могут считать, что прошли первый этап отбора в Яндекс. Почему алгоритмы? В процессе работы часто меняются задачи, проекты, языки программирования, платформы — те, кто владеет алгоритмами, всегда смогут перестроиться и быстро научиться новому. Типичная задача на собеседовании — составить алгоритм, доказать его корректность, предложить пути оптимизации.


Квалификацию можно пройти с 18 по 24 сентября включительно. В этом раунде вам нужно будет написать программы для решения шести задач. Можете использовать Java, C++, C# или Python. На всё про всё у вас будет четыре часа. В решающем раунде будут соревноваться те, кто справится как минимум с четырьмя квалификационными задачами. Финал пройдёт одновременно для всех участников — 30 сентября, с 12:00 до 16:00 по московскому времени. Итоги будут подведены 4 октября. Чтобы всем желающим было понятно, с чем они столкнутся на Блице, мы решили разобрать пару похожих задач на Хабре.

Читать дальше →
Total votes 61: ↑53 and ↓8+45
Comments37

Основы Docker за Х часов и Y дней

Reading time8 min
Views162K

0. Вступление


Цель данной статьи собрать в небольшую кучку основную информацию, минимально достаточную для того, чтобы начать работать с докер на ежедневной основе и удалить с рабочей машины локально установленные apache, mysql, virtualenv, python3, mongodb, memchaced, redis, php5, php7 и весь остальной зоопарк, который мы используем при разработке, и который зачастую еще и конфликтует между собой от версии к версии.
Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments16

Шпаргалка с командами Docker

Reading time5 min
Views712K
Прим. перев.: Неделю назад Aymen El Amri, руководящий компанией eralabs и создавший обучающий курс «Безболезненный Docker», опубликовал свой Docker Cheat Sheet — шпаргалку по основным командам Docker. Git-репозиторий этого документа на GitHub уже набрал 1000+ stars и несколько сторонних контрибьюторов, что подтвердило его актуальность и пользу.



Представленные здесь команды описаны минимально (с акцентом на читаемость как есть) и включают в себя установку Docker, работу с реестрами и репозиториями, контейнерами, образами, сетью, Docker Swarm. Ниже представлен перевод шпаргалки в её состоянии на 2 сентября с дополнениями из комментариев ниже.
Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments15
1
23 ...

Information

Rating
Does not participate
Registered
Activity