Pull to refresh
1
0
Габриэль Гарсия Маркес @MadMac

User

Send message

13 бесплатных курсов Стэнфордского университета

Reading time2 min
Views72K
Недавно анонсированный бесплатный онлайн-курс Стэнфорда по основам искусственного интеллекта вызвал настоящий ажиотаж у публики. Заявки на регистрацию подали уже 81 966 человек. Оно и понятно: курс ведут Питер Норвиг и Себастьян Тран — настоящие звёзды. Первый раньше работал в НАСА и написал учебник по ИИ, а второй разрабатывает лучшие в мире роботизированные автомобили (для Google).

Очевидно, что качественное образование через интернет нужно людям и становится всё популярнее. Поэтому перед началом учебного года есть смысл напомнить список 13-ти бесплатных учебных курсов Stanford Engineering. В отличие от лекций Норвига и Трана, это не онлайновые, а старые курсы. В свободный доступ уже выложены видеозаписи всех лекций от первой до последней, PDF'ы с заданиями и другие материалы, но здесь нельзя задать вопрос преподавателю.
Читать дальше →
Total votes 106: ↑102 and ↓4+98
Comments21

Быстрая разработка приложений с использованием библиотеки Greendroid

Reading time3 min
Views3.2K


Покажу Greendroid в работе на примере последнего разрабатываемого мной приложения (клиент для чтения сайта, кстати он недавно пиарился на хабре.

Многие из вас наверно видели паттерны Google по разработке интерфейса аndroid приложений. Greendroid это библиотека которая реализует в себе паттерн ActionBar и много других виджетов интерфейса. Она позволяет сосредоточится на логики приложения, не думаю о создании и верстки ActionBar'ов, элементов списка и тд.

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

Самая дорогая однобайтовая ошибка

Reading time7 min
Views5.7K
Предлагаю вашему вниманию перевод недавнего поста в электронном журнале Queue авторства Poul-Henning Kamp.

Ошиблись ли Кен, Деннис и Брайан при выборе использовать NUL-завершенные текстовые строки?

ИТ стимулирует и реализует современную западную экономику. Соответственно мы часто видим заголовки про ошеломляюще огромные суммы денег, связанные с ошибками в ИТ. Какое же решение, связанное с ИТ или КН [компьютерными науками], является наиболее дорогим?
Читать дальше →
Total votes 141: ↑115 and ↓26+89
Comments169

Передовым IT-компаниям нужны эксперты по «мертвым» языкам

Reading time2 min
Views2.7K
Индустрии финансовых услуг Шотландии угрожает серьезная опасность в области информационных технологий. Нет, это не массированные DOS-атаки враждебных сил. Нет, и даже не безжалостные хакеры, покушающиеся на ценнейшие данные о клиентах. Индустрии грозит недостаток критических ресурсов: программистов, знающих COBOL, ассемблер и другие старые языки программирования. Университеты выпускают очень способных студентов, сведущих в модных языках типа Java и .NET, но многие компании начинают осознавать, что для некоторых устаревших технологий уже не будет нового поколения специалистов.

Читать дальше →
Total votes 45: ↑38 and ↓7+31
Comments112

Программирование vs Паттерны

Reading time2 min
Views9.2K
Утро понедельника. Коллега по работе просит выполнить небольшой поисковый запрос. Полчаса и запрос готов. Не проходит и пяти минут, как коллега придумывает парочку условий. Дописываю условия. Теперь он хочет еще больше информации в ответе. Начинаю слеплять таблицы…


И так проходит первая половина дня. Я работаю прослойкой между сотрудником и Базой Данных — не самое лучшее занятие для программиста. Потому решаю составить программу, призванную удовлетворить всевозможные запросы, не заставляя пользователя изучать SQL. Сотруднику отказано с очередным запросом и объявлено о готовящейся программе. Ему идея понравилась, но волнует вопрос "Когда?". Да я и сам не знаю когда… Неделя-две-три… Там будет видно. Просит альфа-версию пораньше. Пришлось пообещать ему дать погонять первую же альфу.
Читать дальше →
Total votes 112: ↑80 and ↓32+48
Comments68

Жизнь за рубежом

Reading time5 min
Views3.7K


Все началось с того, что я начал думать о том, куда бы мне переехать жить. Хотелось переехать куда-то недалеко, в тёплый климат, в одну из европейских стран, куда можно переехать не быв при этом миллионером. Начал изучать, читать… и тут понял, что мне не хватает сайта, на котором можно было бы найти информацию о любой стране, пообщаться с людьми, которые уже там живут и теми, кто планирует переезжать. Конечно же есть по каждой стране не один форум и блог — но такого сайта, который бы объединял всех русскоязычных
эмигрантов — такого я не нашел. А то, что находил — совершенно не удовлетворяло мои потребности.

Именно поэтому я и решил, что нужно сделать такой сайт. Об этом сайте и пойдет дальше речь.

Краткий план статьи. Вам стоит читать эту статью, если Вы хотите узнать:


1. О проекте
2. Пару слов о "дизайне" и немного о технической начинке.
3. О том где и как рекламирую и какие ресурсы оказались самыми эффективными.
4. Про монетизацию
5. Рассказ про то, куда переезжаю я и почему именно туда
6. Ищем модераторов.
Читать дальше →
Total votes 101: ↑79 and ↓22+57
Comments135

Быстрая разработка веб-приложений на Java

Reading time7 min
Views131K
Как вы разрабатываете веб-приложение на Java?
После каждого изменения, как вы его запускаете и проверяете? Сколько времени занимает редеплой приложения и рестарт контейнера?

Мне довелось видеть разные варианты: от полной пересборки WAR-файла до использования плагинов для IDE типа MyEclipse, WTP и «коннекторов» для сервлет-контерйнеров. У некоторых из них есть явные недостатки, другие вполне работают — но есть способ проще!

Запускалка


Этот способ разработки позволяет максимально просто и гибко настроить приложение с минимальным временем редеплоя. Вам надо всего лишь написать один простенький Java-класс с main-методом, который запустит сервер Jetty сразу с нужными приложениями (т.н. Embedded Mode).

под катом - примеры кода и обзор альтернативных решений
Total votes 42: ↑38 and ↓4+34
Comments43

Быстрое создание нагрузочных тестов на JMeter для web-сайтов

Reading time5 min
Views149K
imageДля любого программного приложения, предназначенного для массового обслуживания пользователей, необходимо проводить нагрузочное тестирование на предмет его надежности и отказоустойчивости. А так как любой web-сайт — это по своей сути система массового обслуживания, то проверка его на отказоустойчивость всегда является неотъемлемой частью разработки. Существуют различные решения для проведения нагрузочного тестирования веб-приложений. Я не буду сейчас описывать их подробно, про некоторые из них есть упоминания здесь.

В этой статье я хочу поделиться своим опытом использования такого средства, как Apache JMeter. После того как мною были перепробовано с десяток различных подобных инструментом, в итоге я остановился именно на JMeter, так как его возможности с лихвой охватывали мои цели и задачи. И при этом данное программное средство весьма быстрое и легковесное.

Для тех кто ни разу не использовал JMeter, рекомендую для начала почитать базовые обзоры, например, Простой нагрузочный тест с Apache JMeter. Когда я первый раз запустил данную программу, первая мысль была разобраться во всем методом «тыка», но как выяснилось это вообще нереально, и метод «тыка» неприменим к JMeter. Поэтому если хотите его использовать, то сразу открывайте мануал, поверьте, вам придется заглядывать туда очень часто, пока полностью не разберетесь, что и как. Я же здесь сейчас опишу самое очевидное и важное, а именно: как собственно создавать нагрузочные тесты. Если бы я в свое время сразу нашел подобную статью, то сэкономил бы без малого день на изучении этой софтины.
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments35

Непрерывная интеграция на примере Hudson

Reading time10 min
Views33K
Все мы прекрасно понимаем, что тестирование является неотъемлемой частью жизненного цикла разработки ПО. Чем чаще мы тестируем наш код, тем быстрее мы сможем обнаружить ошибку, вкравшуюся в него в ходе разработки, и быстрее её исправить. При этом стоит понимать, что тестирование крайне желательно проводить в окружении, максимально близком к боевому (ОС, ПО, Hardware, Нагрузка), что бы иметь возможность обнаружить ошибки, которые не проявляются на сервере разработки, но могут появиться в бою. Компануя два вышесказанных тезиса вместе мы получаем концепцию, называемую Continuous Integration.

Суть CI заключается в постоянной (например, после каждого commit'а) сборке и тестировании разрабатываемого ПО в максимально приближенной к боевой среде с целью как можно более раннего обнаружения ошибок и оповещения о них разработчиков. Сама идея CI принадлежит Martin Fowler, подробно описавшему её в своей статье.

Для автоматизации процесса непрерывной сборки существуют готовые решения (Hudson, CruiseControl), интеграцию одного из которых (Hudson) я и опишу в этой статье.

Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments21

Akka для Java разработчика (часть 1)

Reading time5 min
Views78K
В последнее время появилось довольно много языков программирования, которые используют для JVM как платформу для выполнения. Одним из наиболее «горячих» тем для обсуждения в последнее время является Scala. В этой статье я не буду рассматривать заслуженно это или нет, просто хочу рассказать как можно использовать средства этого языка используя Java и не написав ни одной строчки на Scala.
Итак, что такое actor и почему akka?
Total votes 40: ↑38 and ↓2+36
Comments29

Регистрация глобальных нажатий клавиш с использованием JNA

Reading time15 min
Views11K
Здравствуйте, в этой статье я расскажу вам как регистрировать глобальные нажатия клавиш из Java под Windows, Linux, BSD и Mac OSX с использованием отличной библиотеки JNA.

Для чего нужен JNA


Java с десктопом дружит сложно, для некоторых вещей нужно писать мосты для взаимодействия с операционной системой. Одной из таких функциональностей являются глобальные хоткеи, весьма популярные в аудио плеерах, когда даже в скрытом состоянии программой можно управлять с помощью определенных сочетаний клавиш или медиа-кнопок. На помощь приходит JNA — надстройка над jni и libffi для вызова нативных библиотек, она поддерживает почти все популярные платформы, разрабатывается уже долгое время и весьма стабильна.

Для джавы уже есть несколько достаточно стабильных библиотек для всех платформ: JIntelliType для Windows, которая даже поддерживает медиа-кнопки, JXGrabKey для систем Linux, и ossuport-connector для Mac OSX. Однако, все они используют jni, имеют разный интерфейс, и с библиотеками на jni не всегда удобно работать, потому что нужно прописывать пути к нативным библиотекам, разбираться с разрядностью системы и пр. Плюс это будет интересным упражнением по использованию JNA, потому что эту задачу можно сделать полностью на java достаточно малыми усилиями и получить легко поддерживаемый кроссплатформенный код.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments11
12 ...
9

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity