Как стать автором
Обновить
0
0
Андрей К @nachoman

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

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

Тестируем облачную платформу IBM на примере чата

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

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



Предыстория


Ранее мой опыт работы с платформой был близок к нулю, поэтому чтобы разобраться в огромном количестве сервисов платформы, я снова обратился к своему знакомому из IBM. Мне казалось очевидным использовать сервис Message Hub, но в итоге оказалось, что для решения нашей задачи лучше подойдет MQ Light. Основные причины:
  • тариф в бесплатные 10 тысяч сообщений в месяц
  • хорошая масштабируемость
  • простой в использовании API

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

DevOps: отправляем метрики и спим спокойно

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


Внезапно, ночью раздается звонок и мы узнаем что наше приложение не работает. Есть 2 часа на его реанимацию…
Где же наш мониторинг и логи программы!?
Всего голосов 14: ↑13 и ↓1+12
Комментарии2

Нейросеть в 11 строчек на Python

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

О чём статья


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

Дайте код!


X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
syn0 = 2*np.random.random((3,4)) - 1
syn1 = 2*np.random.random((4,1)) - 1
for j in xrange(60000):
    l1 = 1/(1+np.exp(-(np.dot(X,syn0))))
    l2 = 1/(1+np.exp(-(np.dot(l1,syn1))))
    l2_delta = (y - l2)*(l2*(1-l2))
    l1_delta = l2_delta.dot(syn1.T) * (l1 * (1-l1))
    syn1 += l1.T.dot(l2_delta)
    syn0 += X.T.dot(l1_delta)


Слишком сжато? Давайте разобьём его на более простые части.
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии17

Как собеседовать ИТ-специалистов

Время на прочтение2 мин
Количество просмотров33K
Одна из наших основных задач — сделать IaaS простым и понятным. Для этого мы постоянно оптимизируем работу нашего провайдера и рассказываем об этом здесь. Например, мы уже писали о том, как работает API нашего IaaS-провайдера и делились опытом разработки своего DNS-менеджера.

Сегодня мы решили взглянуть на западный опыт и рассмотреть тему найма ИТ-специалистов. Для этого мы оттолкнулись от заметки Реджинальда Брэтуэйта (Reginald Brathwaite) из компании Page Duty и кратко проанализировали инсайты, которые он описал.

Читать дальше →
Всего голосов 48: ↑27 и ↓21+6
Комментарии101

Типичные грабли на пути программиста от Junior'а к Senior'у

Время на прочтение6 мин
Количество просмотров98K
Молодой программист, едва закончивший или ещё даже не закончивший ВУЗ, готов свернуть горы, учиться, учиться и ещё раз учиться и ему близлежащее будущее кажется таким:



Но более опытные товарищи знают, что на самом деле на его пути давно уже заботливо разложены грабли и путь от Junior'а к Senior'у выглядит как-то так:



Давайте вспомним некоторые типичные грабли, на которые мы все (ну или большинство) наступали сами того не замечая. Конечно, для опытных разработчиков многое покажется очевидным капитанством, однако молодых специалистов такие ловушки могут легко увести на темную сторону силы.
Читать дальше →
Всего голосов 68: ↑55 и ↓13+42
Комментарии73

Игра для математика. Устный счёт

Время на прочтение3 мин
Количество просмотров42K
Подумать только, живём мы в чудесную эпоху, изобрели вычислительные машины, забыли как пользоваться механическими счётами, у каждого второго в кармане сверхмощная ЭВМ, пару поколений уже выросло имея карманные калькуляторы, элементарные вычисления востребованы всё реже. Давно ли вам приходилось считать в уме? Ну, скажем, почему бы не сложить пару четырёх или пятизначных чисел делая покупки, потом дать кассиру деньги с точностью до копейки? Скажете, ерунда всё это, пустая трата времени. Кому пустая, кому не пустая. Я же считаю, что во-первых для поддержания функциональности мозга нужно периодически пользоваться этой замечательной функциональностью, а во-вторых искусство преуспевать в базовых навыках делает человека мастером.

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


Та ну, тут же всё опирается в реакцию и слепой набор чисел
Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии28

Старт 7 Вт — светодиодная лампа из «Пятёрочки» и «Дикси»

Время на прочтение2 мин
Количество просмотров61K
В магазинах «Пятёрочка» и «Дикси» по всей стране продаётся единственная модель светодиодной лампы — Старт 7 Вт. Стоит она около 270 рублей.



Я купил и протестировал эту лампу.
Читать дальше →
Всего голосов 94: ↑93 и ↓1+92
Комментарии81

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

Время на прочтение28 мин
Количество просмотров186K
Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

Читать дальше →
Всего голосов 96: ↑89 и ↓7+82
Комментарии38

Как мы писали AI для Шакала, и почему у него шизофрения

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

В ситуации полной и беспросветной задницы власть в AI сразу забирали военные, и это иногда спасало партию.

Для нашего AI Шакала пришлось написать целых 4 разных AI, каждый из которых отвечал за свою задачу. А затем они собирались вместе и голосовали за то, что же делать пиратам на поле в этом ходу.

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

Давным-давно мой преподаватель профессор Сербин рассказывал байку с сыроваром из Европы. К этому обаятельному толстяку приезжали автоматизаторы и спрашивали, как он делает такой вкусный сыр. Им нужны были эвристики для температуры, густоты и так далее. Сыровар опускал палец в мягкий сыр, медленно и кайфно чертил там дугу, улыбался во всё хитрое лицо и говорил: «Ну как вы не чувствуете!».

Алгоритмизировать процесс гости так и не смогли. Так вот, разработка шла так: мы чертили дуги и хитро улыбались, а парни проигрывали нам в настольный Шакал. И мечтали, что за них отомстит AI.
Читать дальше →
Всего голосов 48: ↑47 и ↓1+46
Комментарии56

Big data от А до Я. Часть 3: Приемы и стратегии разработки MapReduce-приложений

Время на прочтение7 мин
Количество просмотров83K
Привет, Хабр! В предыдущих статьях мы описали парадигму MapReduce, а также показали как на практике реализовать и выполнить MapReduce-приложение на стеке Hadoop. Пришла пора описать различные приёмы, которые позволяют эффективно использовать MapReduce для решения практических задач, а также показать некоторые особенности Hadoop, которые позволяют упростить разработку или существенно ускорить выполнение MapReduce-задачи на кластере.


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

NAS не остановить: домашнее хранилище данных

Время на прочтение7 мин
Количество просмотров56K
Домашний мини-сервер — удобная штука. Он вам и torrent’ы ночью тихонько закачает, и резервные копии примет, и фильмы по сети через DLNA покажет, и разве что борщ не сварит. Я часто слышу вопросы «о господи, стопицот тыщ рублёф за коробку для жёстких дисков, что в ней такого?». Хитростей в NAS’ах много, а при желании можно найти модельки и за 3-5 тысяч, вот только захочется ли ими пользоваться? Да и потом многие забывают, что помимо «просто коробок» существуют вот такие штуки:



Ну что, разберёмся с этим вопросом?
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии88

Разговор со спикерами FPConf

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

Конференция FPConf уже в эту субботу, нас аж 160 и еще не поздно заскочить в последний вагон. Регистрация — тут.

А накануне мы решили задать нашим спикерам один довольно неоднозначный вопрос. Публикуем ответы, ваши варианты в комментах люто приветствуются!

image

В объектно-ориентированных языках есть широко известный список паттернов проектирования (design patterns) от «Банды четырех» (Gang of Four). В функциональных языках такого известного списка не существует. С вашей точки зрения, почему так?
Подобные паттерны не нужны при программировании на функциональных языках или просто их канонический список еще не сложился?


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

Уменьшаем количество ошибок с помощью чек-листа Code Review

Время на прочтение3 мин
Количество просмотров31K
В нашей статье об эффективных ревью кода мы рекомендовали использовать чеклист. Чеклисты (контрольные списки) — это великая вещь в ревью: они гарантируют, что ревью действительно прошло через вашу команду. Также они способствуют выявлению и решению общих трудностей.

Исследование, проведенное Software Engineering Institute, показывает, что программисты делают 15-20 распространенных ошибок. Добавив такие ошибки в чеклист, вы можете быть уверены, что заметите их в момент появления и поможете от них избавиться надолго.

Чтобы вам было от чего отталкиваться, вот вам список типичных пунктов:
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии13

Курс от Яндекса о том, что должен знать каждый разработчик, который хочет делать большие системы. Модное слово DevOps и другое

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

В Яндексе тестировщику невозможно без автоматизации. Мы даже развиваем экспериментального робота, который способен брать на себя функциональное тестирование. В какой-то момент мы поняли, что не так много людей осознают, сколько сейчас есть возможностей работать не 12 часов, а головой. Собрав весь свой опыт в тестировании и деплое, мы открыли в питерском офисе Яндекса Школу автоматизации процессов разработки. У нас получилась школа, где каждый, кто пишет код, может получить базовый набор знаний о том, как собрать, запустить и поддерживать сервис в продакшене так, чтобы это стоило недорого.



Курс открывает моя лекция о том, зачем вообще автоматизировать процесс разработки. Из нее вы получите представление о то, что будут рассказывать мои коллеги.

Сейчас занятия закончились, и мы, как и обещали, выкладываем записи лекций, которые перемежаются с мастер-классами, для всех желающих. Понятно, что наш опыт и знания – не 42, но мы надеемся, что они принесут вам пользу.
Читать дальше →
Всего голосов 70: ↑67 и ↓3+64
Комментарии18

Выразительный JavaScript: Введение

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


Перевод книги Marijn Haverbeke "Eloquent JavaScript". Лицензия Creative
Commons attribution-noncommercial license
. Код предоставляется под лицензией MIT.


Содержание



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

10 уроков о том, как повысить продуктивность, которые я усвоил, работая по 90 часов в неделю целый месяц

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

Сколько часов в неделю вы тратите на работу? Около 40, не так ли? А как вы думаете, что будет, если работать 90 часов в неделю?

Автор сайта a Year of Productivity Chris Bailey решил провести такой эксперимент. К чему это привело? Читайте о 10 уроках, которые он извлек, в нашем переводе его статьи.
Читать дальше →
Всего голосов 97: ↑78 и ↓19+59
Комментарии72

«Never say never» или Работаем с таймзонами правильно

Время на прочтение9 мин
Количество просмотров74K
Эта статья рассказывает о проблемах, которые поджидают программиста, работающего с часовыми поясами. В теории, вроде, всё хорошо, просто и понятно, но жизнь — штука сложная, и на практике, порой, возникают совершенно неожиданные ситуации.

TL;DR: Работа с таймзонами — это боль и унижение. Никогда не работайте с таймзонами!

Итак, все кругом твердят вам, что при получении времени от пользователя нужно сразу же переводить его в UTC, работать со временем нужно только в UTC и хранить время тоже нужно строго в UTC. Совет, на первый взгляд, выглядит разумным, и следование ему делает вашу жизнь проще… Если только ваша программа не предполагает сложной работы с датами. Записать в базу данных дату и время регистрации пользователя на сайте? Сохранить время отправки сообщения или дату создания заказа в интернет-магазине? Вывести сообщение в лог с указанием даты-времени? Используйте UTC и всё будет в порядке, можете даже не читать эту статью дальше. Любое текущее время можно совершенно спокойно конвертировать в UTC и забыть о проблемах. Но что, если мы хотим работать с временем в будущем? Или в прошлом? Например, если мы пишем сервис календаря, или сервис для отложенной отправки сообщений?

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

Устанавливаем последний (4.2.2) Android на старичка HTC Desire S

Время на прочтение4 мин
Количество просмотров379K
HTC Desire S можно справедливо назвать старичком, продается он уже более двух лет. У меня аппарат более полутора лет. Тем не менее — это аппарат с очень неплохой «начинкой», качественным экраном и металлическим корпусом.

Наверняка, как и все поклонники HTC, я тащился от их фирменной оболочки «Sense». Стоковый аппарат включал в себя Android 2.3.5 и Sense 3.0.

Потом была целая эпопея в ожидании официальной прошивки на Android 4, завершенный вариант которой так и не вышел. Еще до выхода этой прошивки «для разработчиков» мои нервы подкосились и «кастомные», неофициальные сборки начали заливаться в телефон одна за другой. Была опробована и официальная с Android 4.0.4. Прошло некоторое время и выбор остановился на CM10.1 с Android 4.2.2 и всеми его прелестями, для которых аппаратного обеспечения устройства вполне хватает.
Читать дальше →
Всего голосов 29: ↑10 и ↓19-9
Комментарии23

Как Ричард Брэнсон разрешил сотрудникам своих офисов уходить в отпуск в любое время и на любой срок

Время на прочтение3 мин
Количество просмотров142K
Во вторник Брэнсон разместил в своём блоге пост «Почему мы разрешаем сотрудникам Virgin брать столько выходных, сколько они считают нужным».


Фото Virgin.com

Гибкий график изменил то, как, где и когда мы делаем нашу работу. Что ж, если работа с 9 до 5 перестала быть обязательной — зачем придерживаться строгого графика ежегодного отпуска?
Читать дальше →
Всего голосов 93: ↑77 и ↓16+61
Комментарии72

+10 к интеллекту

Время на прочтение9 мин
Количество просмотров165K
MM_mindmap_title

Так или иначе, практически каждый из нас использовал в своей жизни технику интеллект–карт или Mind Mapping. Это всего лишь простая радиальная схема, но с правильным подходом ее можно превратить в мощный инструмент аналитики и синтеза информации, который всегда под рукой и достаточно прост в использовании. И что самое интересное, освоение техники настолько естественно для нашего мозга, что занимает всего лишь несколько минут…
Читать дальше →
Всего голосов 90: ↑75 и ↓15+60
Комментарии49

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность