Pull to refresh
0
0
Send message

Несколько интересностей и полезностей для веб-разработчика #31

Reading time4 min
Views46K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Исходники Reddit


Gravit


image

Замечательный графический редактор с открытым исходным кодом. Есть приложения под Mac, Linux, Windows, а также браузерная версия. В Gravit на данный момент реализован базовый функционал: слои, шейпы, пентул и множество различных функций для манипуляций с объектами. Но данный проект по большему счету ориентирован именно на веб-дизайн. Правильнее всего сказать, что Gravit — это смесь графического редактора в типичном представлении с визуальным редактором для разработки сайтов. Именно эта идея и ее реализация в формате open source делает продукт уникальным.
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments11

Три стадии развития любой услуги или что общего у McDonalds и IBM Watson

Reading time9 min
Views88K
Сообразительные люди уже давно приметили, что любая услуга, будь то приготовление кофе или бухгалтерские услуги, проходит три определенные стадии развития, при том каждая из них неизбежна. Это очень интересный и любопытный факт. Я предлагаю попытаться вскрыть его природу, пронаблюдать за ним на близких нам примерах и попробовать сделать небольшие предсказания о том, что и как должно измениться в нашей жизни согласно этой закономерности.



Итак, что же это за стадии такие, нетерпеливо спросите вы? Предлагаю не спешить с ответом и попробовать вывести их самим, на основе знаний о мире и простых размышлений.
Стадии развития, примеры из жизни, применение знаний и выводы...
Total votes 89: ↑77 and ↓12+65
Comments46

Перестаньте называть себя программистом и другие карьерные советы

Reading time19 min
Views258K
Есть один курс, который я бы добавил в программу обучения по всякой инженерной специальности, и он не о компиляторах или сложности алгоритмов. Это “Введение в реальность индустрии”, ибо об этом не говорят и это приводит к никому не нужным обломам. Эта статья претендует стать README.txt для молодого инженера в деле построения карьеры. Ее цель — сделать вас счастливее, заполнив пробелы в образовании относительно того, как работает реальный мир. Я не призываю следовать написанному как подробному руководству, но я надеюсь, что эта информация окажется для вас более ценной, чем то ничто, что вам рассказали об этом в университете.
Читать дальше →
Total votes 251: ↑212 and ↓39+173
Comments175

Сокеты в Python для начинающих

Reading time4 min
Views568K

Предисловие


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



Что это


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

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

Читать дальше →
Total votes 75: ↑50 and ↓25+25
Comments28

Argparse — парсим аргументы и параметры командной строки с легкостью

Reading time6 min
Views146K
Начиная с версии Python 2.7, в набор стандартных библиотек была включена библиотека argparse для обработки аргументов (параметров, ключей) командной строки. Хотелось бы остановить на ней Ваше внимание.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments11

«Дикий» туризм как высшая градация путешественника, или для кого создан Tourista.me

Reading time5 min
Views42K
Я путешественник. Не просто отпускник, который раз или два в год привозит паспорт и деньги в турагентство, выбирает какой-нибудь All Inclusive-тур и далее по стандартной схеме: duty-free, огромное количество бухла как «лекарство от аэрофобии», дебош в самолете (опционально, если кураж пойдет), трансфер, отель и так далее. Мне же это не интересно, бросаться камнями в любителей такого досуга не буду – каждый сам делает свой выбор, но я пользоваться услугами туроператоров не люблю. Не хочу и все. Не потому, что не доверяю им, а скорее потому, что они (причем, за мои же деньги) лишают меня 50% кайфа от путешествия, которое для меня начинается задолго до самой поездки или полета.



Очередная вылазка для меня, прежде всего, дата-майнинг и тщательное планирование, если маршрут новый. Если же хорошо знакомый и вся предварительная работа проделана (в паспорте стоит мультишенген, а на перевале ждут свежие лошади, любимый лоукостер скинул цены ниже некуда), то элемент спонтанности, напротив, способен привнести в путешествие особую прелесть. В общем, суть проста – я делаю все сам – сам покупаю билеты, бронирую отель или организую себе вписку как-то иначе (каучсерфинг, например – вполне годный способ), сам планирую график своих передвижений, и сам решаю, пора мне возвращаться домой, или все-таки после двух недель странствий махнуть из Лиссабона в Базель, куда Ryanair предлагает мне сегодня долететь за 9 евро.
Читать дальше →
Total votes 61: ↑42 and ↓19+23
Comments66

В микроволновой печи скрывается мощное и опасное СВЧ оружие

Reading time4 min
Views621K
Добрый день, уважаемые хабровчане.

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

В микроволновке находится генератор СВЧ волн огромной мощности


Мощность волн, которые используются в микроволновке, уже давно будоражит моё сознание. Её магнетрон (генератор СВЧ) выдаёт электромагнитные волны мощностью около 800 Вт и частотой 2450 МГц. Только представьте, одна микроволновка вырабатывает столько излучения, как 10 000 wi-fi роутеров, 5 000 мобильных телефонов или 30 базовых вышек мобильной связи! Для того, что бы эта мощь не вырвалась наружу в микроволновке используется двойной защитный экран из стали.
Читать дальше →
Total votes 467: ↑426 and ↓41+385
Comments398

Unity3D tips and tricks

Reading time3 min
Views23K


Было уже несколько статей подобного плана, где рассказывались разные трюки и приёмы для Unity. Что-то было совсем очевидно и только для новичков, что-то для более продвинутых товарищей. Хочу внести свою скромную лепту.
Читать дальше →
Total votes 34: ↑28 and ↓6+22
Comments9

Мобильная версия для Django-проекта

Reading time8 min
Views25K


С каждым днем пользователи смартфонов занимают все большую долю интернета. По данным LiveInternet доля российских пользователей OS Android уже превысила долю Windows7. В выходные дни пользователи мобильных платформ пользуются интернетом значительно чаще. Та же тенденция наблюдается и в мире. Все это еще раз доказывает необходимость адаптации сайта для смартфонов и планшетов.

О том, как можно адаптировать ваш Django-проект для мобильных устройств, я расскажу в этой статье. Но сначала давайте разберем, какие есть варианты создания мобильной версии сайта.
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments10

Парсим на Python: Pyparsing для новичков

Reading time6 min
Views186K
Парсинг (синтаксический анализ) представляет собой процесс сопоставления последовательности слов или символов — так называемой формальной грамматике. Например, для строчки кода:

import matplotlib.pyplot  as plt

имеет место следующая грамматика: сначала идёт ключевое слово import, потом название модуля или цепочка имён модулей, разделённых точкой, потом ключевое слово as, а за ним — наше название импортируемому модулю.

В результате парсинга, например, может быть необходимо прийти к следующему выражению:

{ 'import': [ 'matplotlib', 'pyplot' ], 'as': 'plt' }

Данное выражение представляет собой словарь Python, который имеет два ключа: 'import' и 'as'. Значением для ключа 'import' является список, в котором по порядку перечислены названия импортируемых модулей.

Для парсинга как правило используют регулярные выражения. Для этого имеется модуль Python под названием re (regular expression — регулярное выражение). Если вам не доводилось работать с регулярными выражениями, их вид может вас испугать. Например, для строки кода 'import matplotlib.pyplot as plt' оно будет иметь вид:

r'^[ \t]*import +\D+\.\D+ +as \D+'

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

В данной статье мы установим Pyparsing и создадим на нём наш первый парсер.

Читать дальше →
Total votes 57: ↑46 and ↓11+35
Comments12

HDR vs LDR, реализация HDR Rendering

Reading time8 min
Views89K


Как я и обещал – публикую вторую статью о некоторых моментах разработки игр в трех измерениях. Сегодня расскажу об одной технике, которая используется почти любом проекте ААА-класса. Имя ей — HDR Rendering. Если интересно — добро пожаловать под хабракат.
Читать дальше →
Total votes 177: ↑173 and ↓4+169
Comments63

Сверхбыстрое распознавание речи без серверов на реальном примере

Reading time10 min
Views331K

В этой статье я подробно расскажу и покажу, как правильно и быстро прикрутить распознавание русской речи на движке Pocketsphinx (для iOS порт OpenEars) на реальном Hello World примере управления домашней техникой.
Почему именно домашней техникой? Да потому что благодаря такому примеру можно оценить ту скорость и точность, которой можно добиться при использовании полностью локального распознавания речи без серверов типа Google ASR или Яндекс SpeechKit.
К статье я также прилагаю все исходники программы и саму сборку под Android.

Прикручиваем Pocketsphinx к своему Андроиду
Total votes 185: ↑182 and ↓3+179
Comments87

Полезные книги для программиста в геймдеве

Reading time2 min
Views101K
Привет, Хабр!
Ничего не писал со времен своей первой статьи, решил, что пора это исправить.

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

Ниже я даю рецензии на книжки, которые считаю очень полезными в различных разделах computer science, которые используются в геймдеве. Я намеренно опускаю книги по C++ и алгоритмам: мне кажется, эта тема уже настолько изучена и освещена, что больше про нее не стоит рассказывать.

Я старался покрыть максимальное количество разных топиков, особенно тех, что спрашивают на собеседованиях. Я старался воздерживаться от domain-specific литературы: профессионалы и так знают. Все картинки содержат ссылки на амазон.

А какие книжки нравятся вам?
Также в комментах можете писать, на какие темы вам были бы интересны посты.

Читать дальше →
Total votes 67: ↑62 and ↓5+57
Comments12

Сенсориторика, или Трудности создания «умного дома»

Reading time6 min
Views28K


В магазине можно купить даже зубную пасту от LG, но если вы захотите купить себе «умный дом» от известного бренда, вас посетит горький привкус разочарования – мысль об IKEA для высоких технологий производителей пугает. В мире, где Samsung создаёт самоходные артиллерийские установки, а Google выпускает под своим брендом молоко, обычный термостат, автоматизирующий все процессы, связанные с поддержанием оптимального климата в помещении, разработали в стартапе.

«Умный дом» разваливается на части из-за простой несовместимости продукции различных компаний. Трудно настроить взаимодействие приборов, которые связываются друг с другом множеством способов и на базе разных протоколов, включая связь по Wi-Fi, Bluetooth, Z-Wave, ZigBee, Insteon и так далее.

Кто и зачем разрывает «дом будущего» на части?
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments37

Разработчики из Google сделали эмулятор Amiga 500 для Chrome

Reading time1 min
Views13K


Portable Native Client от Google позволяет веб-приложению использовать аппаратное обеспечение ПК или ноутбука так же, как это делало бы нативное ПО. Таким образом, разработчики могут создавать веб-игрушки, сервисы и более сложное ПО, которое работает из браузера так же, как должны работать «обычные» приложения.

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

Про создание платформера на Unity. Часть вторая, звездная

Reading time4 min
Views101K
Привет, Хабр!

Я, как и обещал, продолжаю делиться с вами знаниями, приобретенными в процессе освоения 2D-режима Unity. От начинающего, так сказать, начинающим. Систематизирую, улучшаю и прогрессирую вместе с вами. Сегодня мы добавим к содержимому первой статьи управление камерой, сбор бонусов и первый способ умереть в игре. Если вам, как и мне, не терпится приступить, то добро пожаловать под кат.

И да, гифок там еще больше, чем в прошлый раз.



Читать дальше →
Total votes 57: ↑49 and ↓8+41
Comments16

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

Reading time7 min
Views139K


Зацепил меня один кусок дискуссии про маркетинг сегодня на Хабре. Что это, как это, как оно для IT. Всё там хорошо кроме одного — нет понимания, что маркетинг — это не специальный шаман в проекте, который что-то там крутит, а фиговина, в которой должен живо принимать участие каждый. В IT, не в IT — неважно. Поэтому расскажу, почему.

Представьте себе небольшую парикмахерскую на первом этаже жилого дома. Наверняка у вас есть такие рядом. У неё очень ограничен круг потенциальных клиентов – это жители ближайших домов. Маркетинг – это сделать так, чтобы большинство из них стриглись именно там. Каждый косяк – это потерянный клиент (а новому взяться негде, помните?). Каждый успех – это клиент на 5-6 лет минимум, то есть не одна стрижка, а сразу много.

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

Так вот, маркетинг – это сделать так, чтобы продукт и клиент сошлись. В моём понимании – пройти всю цепочку от разработки и производства продукта до его продажи и использования в течение нескольких лет. Найти все места этой цепочки, где можно сделать лучше – и сделать это. Поработать с людьми внутри компании, чтобы они понимали, зачем всё это и почему.
Читать дальше →
Total votes 199: ↑184 and ↓15+169
Comments88

OpenHAB — стань программистом собственного жилища

Reading time9 min
Views198K
image
Дом — это машина для жилья
Ле Корбюзье

В этом посте я расскажу об opensource проекте домашней автоматизации openHAB.
openHAB переводится как "Open Home Automation Bus". Это значит, что он нацелен на создание универсальной платформы для объединения всей домашней «умной» техники в единую систему управления.

Что же это дает на практике? Под катом я расскажу о том, как с помощью этого решения можно создать настоящий интернет вещей в своем доме.

Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments96

Алгоритм «diamond-square» для построения фрактальных ландшафтов

Reading time12 min
Views117K
Карта игры Minecraft, созданная с помощью приложения CartographДумаю, многие знакомы с весьма необычной игрой Minecraft (справа — пример сгенерированной в ней карты), в которой игрок находится на (практически) бесконечной поверхности Земли и может исследовать окружающий мир с минимальными ограничениями.

Как же автору игры, Notch'у, удалось добиться подобного сходства его случайных «миров» с земными просторами? В этом топике я как раз и рассмотрю один из способов построить искусственный ландшафт такого рода (и вскользь упомяну пару других способов), а также расскажу о моем небольшом усовершенствовании этого алгоритма, позволяющем значительно увеличивать размеры ландшафта без заметных потерь в производительности.

Внутри вас ждет несколько схем и красивых картинок, довольно много букв и ссылка на пример реализации алгоритма.

Читать дальше →
Total votes 148: ↑147 and ↓1+146
Comments58

Кулинарный путеводитель по архитектурам AI

Reading time21 min
Views53K
image

Мне постоянно приходится слышать от студентов и начинающих гейм-дизайнеров – да, честно говоря, и от бывалых программистов тоже – один и тот же вопрос, который звучит примерно так: “Какую архитектуру AI мне выбрать для своего проекта?”. Этим вопросом пестрят форумы, его можно услышать на конференции разработчиков игр GDC, и, конечно же, его не один раз вспоминают во время пре-продакшна создатели любой игры – от AAA-класса до инди. Я работаю консультантом по игровому AI, поэтому я постоянно слышу ее от своих клиентов.

Обычно, самый лучший ответ на этот вопрос – «Когда как». Вот только подобный ответ мало кого устраивает, поэтому после него мне приходится устраивать самый настоящий допрос.
Читать дальше →
Total votes 83: ↑76 and ↓7+69
Comments6

Information

Rating
Does not participate
Registered
Activity