Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

20+ ресурсов, чтобы начать фрилансить

Время на прочтение3 мин
Количество просмотров681K
Чувствуете, что готовы уйти с работы, самостоятельно контролировать свой день, биться за клиента и работать только над интересными задачами? Пришло время попробовать себя во фрилансе. Это совсем нелегко, а чаще труднее, чем офисная рутина. Чтобы не разочароваться в выборе формата работы, устройте себе тест-драйв — на праздниках или в выходные. Собрали площадки, где найдете задачи по душе.


Читать дальше →
Всего голосов 24: ↑16 и ↓8+8
Комментарии17

Я смоделировал цену биткойна за весь 2018 год. Вы не поверите в результат (прим. перевод. и будете правы)

Время на прочтение5 мин
Количество просмотров110K
Дисклеймер: статья написана из любопытства и интереса, является личным мнением автора и не предназначена для принятия решений о инвестициях. Для этих целей примите личные меры должной осмотрительности, не совершайте глупостей и не вкладывайте денег больше, чем можете себе позволить потерять.

Дисклеймер 2: нет никаких гарантий, что доходы в будущем будут похожи на доходы в прошлом, а предыдущий рост не указывает на будущий. Я понимаю. Я уже говорил, что это из чистого любопытства? Не относитесь к этому как к строгой науке, для этих целей я бы опубликовал научную статью, а не публикацию в блоге с гифами и мемами. Take it easy:)

Однако, в конкретном случае с bitcoin, я (автор оригинального текста, это перевод) считаю, что bitcoin — это «правильные, крепкие» деньги, а фиатные — нет. Поэтому, если вы считаете также и таких людей достаточное количество, это может стать причиной того, что будущие доходы будут похожи на доходы в прошлом.



Это будет всего лишь 5-минутное приключение.

Я делаю простую симуляцию методом Монте-Карло по ежедневным приростам долларовой цены биткойна, чтобы попытаться узнать, какова будет его самая вероятная цена к концу 2018 года. Вы можете найти весь код, используемый мной для этого, на GitHub.
Читать дальше →
Всего голосов 42: ↑29 и ↓13+16
Комментарии74

Что общего у собеседования кодера и игры «Змейка»?

Время на прочтение10 мин
Количество просмотров38K

Если вы родились в 80-х или 90-х, то наверняка слышали о Snake. То есть, скорее всего, вы потратили безумное количество времени на своём Nokia 3310, выращивая огромную змею на мелком экранчике. Что ещё мы помним о телефонах Nokia?

Их неразряжающийся аккумулятор, правда? Как такой «примитивный» телефон выдерживал долгие часы игры в «Змейку» без разрядки аккумулятора?

Короткий (и неполный) ответ: всё дело в методе скользящего окна.

Мы бы с радостью написали целую статью о Snake, но в этом посте мы всё-таки рассмотрим менее зрелищный, но тем не менее очень важный метод, и ответим на вопросы типа:

  • Почему мы и другие программисты считаем его фундаментальным алгоритмом?
  • Почему он так часто используется на технических собеседованиях?
  • Как он использовался в Snake и других «реальных» областях применения?
  • На какие самые популярные вопросы собеседований можно (лучше) ответить с помощью метода скользящего окна?

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

NB: Если вас волнует только «Змейка» (и мы вас вполне понимаем), то можете перейти к самому концу поста.
Читать дальше →
Всего голосов 74: ↑71 и ↓3+68
Комментарии15

Индексы в PostgreSQL — 1

Время на прочтение17 мин
Количество просмотров432K

Предисловие


В этой серии статей речь пойдет об индексах в PostgreSQL.

Любой вопрос можно рассматривать с разных точек зрения. Мы будем говорить о том, что должно интересовать прикладного разработчика, использующего СУБД: какие индексы существуют, почему в PostgreSQL их так много разных, и как их использовать для ускорения запросов. Пожалуй, тему можно было бы раскрыть и меньшим числом слов, но мы втайне надеемся на любознательного разработчика, которому также интересны и подробности внутреннего устройства, тем более, что понимание таких подробностей позволяет не только прислушиваться к чужому мнению, но и делать собственные выводы.

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

В этой части мы поговорим про разделение сфер ответственности между общим механизмом индексирования, относящимся к ядру СУБД, и отдельными методами индексного доступа, которые в PostgreSQL можно добавлять как расширения. В следующей части мы рассмотрим интерфейс метода доступа и такие важные понятия, как классы и семейства операторов. После такого длинного, но необходимого введения мы подробно рассмотрим устройство и применение различных типов индексов: Hash, B-tree, GiST, SP-GiST, GIN и RUM, BRIN и Bloom.
Читать дальше →
Всего голосов 104: ↑103 и ↓1+102
Комментарии59

Объяснение HTTPS на почтовых голубях

Время на прочтение3 мин
Количество просмотров71K
image

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

Этот пост — перевод статьи.

Если вы открыли эту статью с целью создать следующий HTTPS протокол, вы зашли не туда. Этой статьи будет не достаточно. В ней описаны принципы работы HTTPS на пальцах или по аналогии с почтовыми голубями.
Читать дальше →
Всего голосов 56: ↑46 и ↓10+36
Комментарии54

Обучаемый Telegram чат-бот с ИИ в 30 строчек кода на Python

Время на прочтение6 мин
Количество просмотров354K
image

Сегодня мне в голову пришла мысль: «А почему бы не написать Telegram чат-бота с ИИ, которого потом можно будет обучать?»

Читать дальше →
Всего голосов 82: ↑68 и ↓14+54
Комментарии106

Решение, которое нужно принять, чтобы не жалеть о жизни через 30 лет

Время на прочтение6 мин
Количество просмотров135K


«Определение ада: «Тот человек, которым вы стали, в свой последний день на земле встретится с человеком, которым вы могли бы стать».
— Автор неизвестен


Читать дальше →
Всего голосов 90: ↑72 и ↓18+54
Комментарии173

Code Coverage — хочу верить

Время на прочтение4 мин
Количество просмотров40K
Разработчик обязан знать свои инструменты! Знание инструментов увеличивает продуктивность, эффективность, производительность, потенцию разработчика! Не могу программировать без R#!

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

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

Сегодня я пошвыряю камни в огород Code Coverage (CC). Достаточно полезная метрика, под которой лежат несколько скудно документированных граблей.
CC в посте не описывается. Читайте на свои страх и риск.
Всего голосов 36: ↑35 и ↓1+34
Комментарии32

Выжимаем максимум из учета компьютерной техники. Часть 1

Время на прочтение8 мин
Количество просмотров121K

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

Сразу хочу предупредить, что все изложенное ниже это не вычитанный в книгах best practice, а выжимка моего, порой не всегда удачного опыта. Поэтому с благодарностью приму конструктивную критику.

Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии35

Как исследователь взломал собственный компьютер и убедился в реальности самой серьёзной в истории уязвимости процессоров

Время на прочтение4 мин
Количество просмотров50K
Даниэл Грасс почти не спал в ту ночь, когда он взломал собственный компьютер и подтвердил возможность эксплуатации уязвимости, которой подвержено большинство микропроцессоров, выпущенных за последние два десятилетия аппаратным гигантом Intel.

Тогда 31-летний исследователь в области информационной безопасности и постдок в Грацском техническом университете проник в святая святых CPU и извлёк оттуда конфиденциальные сведения.



До этого момента Грасс и его коллеги Моритц Липп и Майкл Шварц полагали, что подобная атака на память ядра процессора, которая должна быть недоступна пользователю, возможна лишь в теории.
Читать дальше →
Всего голосов 69: ↑38 и ↓31+7
Комментарии54

Почему мы не стали делать идеально: как менялась инфраструктура серверов War Robots

Время на прочтение5 мин
Количество просмотров20K


Первый прототип (например, игры в новой для вас нише) часто делается «на коленке» из палок и самизнаетечего. Причем палки, как правило, тоже из этого самизнаетечего. И на то есть несколько причин.

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

Забегу вперед и расскажу, что сейчас DAU в наших проектах около 1,5 млн. Но так было не всегда.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии16

Дайджест Университета ИТМО: самые интересные материалы в нашем блоге за прошлый год

Время на прочтение5 мин
Количество просмотров4.1K
В сегодняшнем дайджесте мы вспоминаем популярные материалы 2017 года, вышедшие в нашем блоге на Хабре: собственные разработки и проекты Университета, полезные материалы для поступающих в ИТМО, эссе и рассказы о программировании, советы тем, кто хочет обучаться разработке на дому, большой цикл о работающих техниках скорочтения и советы тем, кто читает (и пишет) научные статьи — обо всем этом в нашей подборке ниже.

Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии0

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

Время на прочтение10 мин
Количество просмотров54K

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


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

Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии5

Просто о микросервисах

Время на прочтение11 мин
Количество просмотров274K

Вступление


Чуть ли не каждый второй, кто впервые сталкивается с MSA (Micro Service Architecture), на первых порах восклицает: «Да я эти микросервисы еще …надцать лет назад». Отчасти они правы. И я тоже был из этой самой половины, и не понимал — почему такой шум?



В самом деле! Ведь MSA — это тоже про разработку софта. Какие здесь могут быть революции? Все методики знакомы. В некоторых местах можно даже удивиться: «А разве бывает по-другому»? Фанаты Agile и DevOps тоже скажут, что это всё наше, родное.

Но всё же прошу вас набраться терпения и продолжить читать дальше.
Читать дальше →
Всего голосов 51: ↑41 и ↓10+31
Комментарии33

Книга «Глубокое обучение. Погружение в мир нейронных сетей»

Время на прочтение6 мин
Количество просмотров72K
image Привет, Хаброжители! Недавно у нас вышла первая русская книга о глубоком обучении от Сергея Николенко, Артура Кадурина и Екатерины Архангельской. Максимум объяснений, минимум кода, серьезный материал о машинном обучении и увлекательное изложение. Сейчас мы рассмотрим раздел «Граф вычислений и дифференцирование на нем» в котором вводятся основополагающее понятие для реализации алгоритмов обучения нейронных сетей.

Если у нас получится представить сложную функцию как композицию более простых, то мы сможем и эффективно вычислить ее производную по любой переменной, что и требуется для градиентного спуска. Самое удобное представление в виде композиции — это представление в виде графа вычислений. Граф вычислений — это граф, узлами которого являются функции (обычно достаточно простые, взятые из заранее фиксированного набора), а ребра связывают функции со своими аргументами.
Читать дальше →
Всего голосов 57: ↑56 и ↓1+55
Комментарии52

Мега-Учебник Flask Глава 1: Привет, мир! ( издание 2018 )

Время на прочтение12 мин
Количество просмотров373K

blog.miguelgrinberg.com


Miguel Grinberg




>>> следующая глава >>>


Эта статья является переводом нового издания учебника Мигеля Гринберга. Прежний перевод давно утратил свою актуальность.


Автор планирует завершить его выпуск в мае 2018. Я, со своей стороны, постараюсь не отставать с переводом.

Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии45

Опыт участия в проекте для стажеров в роли наставника

Время на прочтение4 мин
Количество просмотров7.7K

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


Введение


В Томске сложно найти разработчиков, даже среди казалось бы такого популярного стека как php + mysql. Собственно, идея участия возникла из-за проблем с нехваткой кадров, и мы (компания) решили пойти на эксперимент и попробовать найти сотрудников среди людей с небольшим опытом. Как-то на кухне был поднят вопрос о том, кто и что знает про проекты для стажеров, новичков. Нашлись те, кто уже участвовал, поделились, обсудили. Я сообщил о том, что готов принять участие.

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии11

«Письмо турецкому султану» или линейная регрессия на C# с помощью Accord.NET для анализа открытых данных Москвы

Время на прочтение13 мин
Количество просмотров12K
Когда речь идет об освоении самых основ машинного обучения, чаще всего предлагается изучить соответствующие инструменты на Python или R. Мы не будем обсуждать их плюсы и минусы, а просто зададимся вопросом, что делать если вы знакомы только с экосистемой .NET, но при этом вам очень любопытно окунутся в мир науки о данных? Ответ прост, не отчаиваться и посмотреть в сторону F#, а если вы также, как и я из .NET знаете только азы C#, то попробовать изучить Accord.NET Framework.

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

Несмотря на то, что в заголовке статьи указан C#, мы попробуем собрать код и на VB.NET.

Мне осталось только пригласить вас под кат!


Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии4

MSSQL Server. Пример применения связанного сервера

Время на прочтение4 мин
Количество просмотров25K
Сегодня решил поделиться статьей как однажды мне пришел на выручку связанный сервер при работе с MSSQL. Сначала опишу ситуацию, в которой мне пришлось с ним познакомиться.
Читать дальше →
Всего голосов 15: ↑10 и ↓5+5
Комментарии22

Как читать математику

Время на прочтение16 мин
Количество просмотров61K
Математика — это «язык, который ни читать, ни понять невозможно без инициации» (Эдвард Ротштейн, «Эмблемы ума»)

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

Для математики существует особый протокол чтения. Как мы учимся читать литературу, так и математику мы должны научиться читать. Школьникам следует изучать протокол чтения для математики так же, как они учатся правилам чтения романа или стихотворения, учатся понимать музыку и живопись. Замечательная книга «Эмблемы ума» Эдварда Ротштейна выявляет взаимосвязь между математикой и музыкой, неявно затрагивая протоколы чтения для математики.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии16

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность