Search
Write a publication
Pull to refresh
1
0
Антон Крюков @emreu

User

Send message

Особенности загрузки файлов на HTML5

Reading time5 min
Views60K
После некоторого, опыта решил написать небольшую статью-шпаргалку о загрузке файлов с использованием возможностей HTML5, а именно File API.

Читайте далее:
  1. Поддержка браузерами.
  2. Загрузка через Form Data.
  3. Загрузка через File Reader.

Читать дальше →

Функциональное программирование на Javascript

Reading time15 min
Views129K


Краткое содержание:

Возьмем немного функций высшего порядка, добавим частичное применение функций, приправим fold с map-ом и получим Javascript DSL для работы с DOM.

Человеческим языком:
Простое и понятное введение в функциональное программирование на чистом и понятном Javascript.

В отличие от «Через тернии к Haskell» все разжевано (возможно даже слишком) и разложено по полочкам.

Прочтение статьи развоплотит миф о неприменимости ФП в реальной жизни. Вы сможете смотреть на решение одной и той же задачи с разных точек зрения. Прямо как на картинке.

Читать дальше →

Понимание ООП в JavaScript [Часть 1]

Reading time16 min
Views339K
— Прототипное наследование — это прекрасно
JavaScript — это объектно-ориентированный (ОО) язык, уходящий корнями в язык Self, несмотря на то, что внешне он выглядит как Java. Это обстоятельство делает язык действительно мощным благодаря некоторым приятным особенностям.

Одна из таких особенностей — это реализация прототипного наследования. Этот простой концепт является гибким и мощным. Он позволяет сделать наследование и поведение сущностями первого класса, также как и функции являются объектами первого класса в функциональных языках (включая JavaScript).

К счастью, в ECMAScript 5 появилось множество вещей, которые позволили поставить язык на правильный путь (некоторые из них раскрыты в этой статье). Также будет рассказано о недостатках дизайна JavaScript и будет произведено небольшое сравнение с классической моделью прототипного ОО (включая его достоинства и недостатки).
Читать дальше →

Пишем редактор карт изображений (html image map) на javascript / html5 / inline SVG

Reading time5 min
Views46K
Карты изображений применяются в том случае, когда требуется создать ссылку формы, отличной от прямоугольной. Например, для презентационных сайтов, отображения планов/схем и т.п.

Раньше создавать такие карты было удобно в Adobe ImageReady, но начиная с версии CS3 эта программа больше не поставляется с Фотошопом. На сегодняшний день подобный функционал есть в Adobe Fireworks, но устанавливать эту программу только из-за редактора карт (для работы мне нужен только Фотошоп) — не очень хорошая идея. Существуют и онлайн-редакторы, которые написаны, в основном, с использованием canvas. В них отсутствует возможность редактировать созданные области на карте. Если ошиблись — придется все переделывать. Да и создавать эти области не слишком удобно. Еще одно неудобство заключается в том, что картинку приходится загружать на сервер. В общем, надо писать что-то свое.

Итак, задача:
— написать на javascript редактор, который позволит создавать карты изображений — загружаем картинку, рисуем области, получаем html-код. Если ошиблись — должна быть возможность отредактировать карту. Редактор должен работать в оффлайн-режиме. Обеспечить поддержку только современных браузеров, в том числе Internet Explorer 9.

Summer html image map creator
Читать дальше →

Несовершенные технологии

Reading time5 min
Views10K
Здравствуйте. Я Михаил Капелько, программист команды Opensource Game Studio. Я хочу рассказать вам, что мы узнали при приближении к выпуску OGS Mahjong 1.0, нашему последнему релизу пасьянса Маджонг (но не последнему в серии Маджонг). Эта статья продолжает предыдущую: Долгий путь к Mahjong 0.7

Год назад в мае 2011-го мы выпустили OGS Mahjong 0.7, он дался нам с большим трудом. В этом году в сентябре 2012-го мы выпустили OGS Mahjong 1.0. Во время разработки 1.0 мы хотели распрастранить нашу игру на всех дистрибутивах Linux, а также Mac OS X. К сожалению, нам это не удалось, т.к. OGS Mahjong использует OGRE и OIS.
Читать дальше →

Транзакции в MongoDB

Reading time5 min
Views57K
image MongoDB — замечательная база данных, которая становится все популярнее в последнее время. Все больше людей с SQL опытом начинают её использовать, и один и первых вопросов, который у них возникает: MongoDB transactions?.

Если поверить ответам со stackoverflow, то все плохо.

MongoDB doesn't support complex multi-document transactions. If that is something you absolutely need it probably isn't a great fit for you.
If transactions are required, perhaps NoSQL is not for you. Time to go back to ACID relational databases.
MongoDB does a lot of things well, but transactions is not one of those things.
Но мы не поверим и реализуем транзакции (ACID*) основанные на MVCC. Ниже будет рассказ о том, как эти транзакции работают, а тем, кому не терпится посмотреть код — добро пожаловать на GitHub (осторожно, java).

Пост не о MongoDB, а о том, как использовать compare-and-set для создания транзакций, а durability обеспчивается ровно в той степени, в которой её обеспечивает хранилище.
Читать дальше →

Обустраиваем рабочее место программиста в деревне

Reading time12 min
Views172K
В последнее время на Хабре участились публикации на тему переездов программистов в самые разные места — от Силиконовой долины до российской глубинки.
Я в свое время сделал выбор — деревня недалеко от города, и в моей жизни и профессиональной деятельности выпало дважды инсталлировать рабочее место программиста в деревнях, инсталлировать полностью, включая создание нормальных условий для жизни.

Если интересны подробности: электрика/Интернет/отопление/водоснабжение с нуля — прошу под кат (сори, много фоток).
Читать дальше →

Два бесплатных курса по MongoDB от разработчиков начались

Reading time1 min
Views9.9K
image

Для тех, кто пропустил топик 20-дневной давности от creage: сегодня начались два бесплатных курса по MongoDB, на которые ещё можно записаться:

M101: MongoDB for Developers

M102: MongoDB for DBAs

Все, кого интересуют детали, могут заглянуть в топик-анонс: MongoDB для разработчиков

Видеозапись доклада «Вся соль одностраничных приложений» с 404fest

Reading time2 min
Views18K
Федя Шумов и Арсений Заречнев, фронт-енд разработчики из команды Островка, рассказали о
«Всей соли одностраничных приложений» на 404fest в Самаре.

Содержание доклада:


Читать дальше →

В пень free-lance.ru!

Reading time4 min
Views639K
В связи с прочтением соседнего поста предлагаю перечислить список бирж, на которых можно найти альтернативу тому унылому говну, в которое превратился free-lance.ru, ибо терпеть планомерный геноцид я больше не намерен.
Читать дальше →

Сначала бизнес-процессы, а затем — стартапы, софт и прочее

Reading time1 min
Views32K
Известный бизнесмен Дмитрий Потапенко рассказывает то, с чем я сталкиваюсь постоянно. Прежде чем создать какой-либо очередной «бухгалтерский учет», который якобы решить все проблемы, нужно вникнуть в бизнес-процесс и жестко его прописать и внедрить.

Так и стартап — если в стартапе нет выстроенных бизнес-процессов (продажа, производство), то это мусор и толку из него не выйдет. Речь даже о попытках выстраивать процессы, ведь стартап изначально есть, по одному определению, поиск работающий бизнес-модели.

В каком-то смысле это как user stories — именно они, выбранные правильно и реализованные четко, первичны. А не то, как там нарисованы гламурные полутени в альфа-версии, или сделана крутая ООП архитектура с новейшим IoC контейнером. Эти детали не важны на первом этапе.

Настоятельно рекомендую всем, кто занимается автоматизацией предприятий — программистам, руководителям проектов и так далее.

Искусственный интеллект как совокупность вопросов

Reading time4 min
Views77K
image
Когда мы рассуждаем о сильном искусственном интеллекте, то мы понимаем, что это не изолированный вопрос, не вещь в себе, а вопрос ответ на который подразумевает объяснение всех явлений, которые связаны с мышлением человека. То есть, ответив на вопрос о природе интеллекта, мы неизбежно должны будем ответить на такие вопросы как:

  • Что есть информация?
  • Как мозг представляет знания?
  • Что такое язык?
  • Какова роль языка в мышлении?
  • Как совершаются поступки?
  • Как осуществляется планирование?
  • Какова природа фантазий и воспоминаний?
  • Что такое мотивация?
  • Какова природа эмоций?
  • Откуда берется многообразие эмоциональных оценок?
  • Что есть смысл?
  • Как рождается мысль и какова ее природа?
  • Что такое внимание?
  • Что есть любовь?
  • Что есть гармония и красота?

Читать дальше →

Карьера программиста, или Cracking Coding Interview

Reading time4 min
Views66K
Для одного из наших первых постов-рецензий мы выбрали замечательную книгу, которую рекомендуем каждому программисту, желающему совершенствоваться и развиваться как профессионалу. Это пятое издание одного из западных бестселлеров среди книг по программированию — Cracking the Coding Interview: 150 Programming Interview Questions and Answers, получившая в русском издании название «Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию».

image

Для книги IT-тематики эта книга имеет совершенно невероятный рейтинг на сайте Amazon’а (на 6 сентября это #388 в общем рейтинге книг и №1 – для раздела «Computers & Technology»), поэтому я как куратор данного проекта был просто счастлив, когда «Питер» получил эксклюзивные права на издание этого бестселлера в России.
Читать дальше →

Neutrino — крошечный js-фреймворк с полноценным наследованием и событиями

Reading time4 min
Views7.7K
В проектах с небольшим фронтэндом бывает не всегда разумно использовать тяжелые фреймворки вроде backbone, ember или knockout. Тем не менее потребность использовать модели, наследование и качественное взаимодействие между ними остается. Предлагаю вашему вниманию фреймворк Neutrino, который делает все вышеперечисленное, при этом его размер не превышает 100 строк кода.
Читать дальше →

Перечень российских научных журналов по теме информационных технологий

Reading time3 min
Views97K
Сущность научной работы — в борьбе с нежеланием работать. [ И. П. Павлов]

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


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


Читать дальше →

Законы драматургии в ММО: когда же они заработают?

Reading time7 min
Views8.4K
Драматургия – мощнейший инструмент, который позволяет сценаристам держать зрителя в напряжении на протяжении всей истории, заставлять его испытывать самые разные эмоции, а в кульминационные моменты – широко распахивать глаза от изумления и с головой уходить в действие. К этому же стремятся и сценаристы онлайн-игр, поэтому нам совершенно необходимо применять общие законы драматургии к ММО. Однако делать это «в лоб» не стоит: ведь в ММО есть своя проблематика, которая заставляет нас подходить к этим законам выборочно, отсеивая неподходящие, выбирая лучшие и трансформируя их.

Читать дальше →

Руководство новичка по эксплуатации компоновщика

Reading time32 min
Views217K
David Drysdale, Beginner's guide to linkers (http://www.lurklurk.org/linkers/linkers.html).

Цель данной статьи — помочь C и C++ программистам понять сущность того, чем занимается компоновщик. За последние несколько лет я объяснил это большому количеству коллег и наконец решил, что настало время перенести этот материал на бумагу, чтоб он стал более доступным (и чтоб мне не пришлось объяснять его снова). [Обновление в марте 2009: добавлена дополнительная информация об особенностях компоновки в Windows, а также более подробно расписано правило одного определения (one-definition rule).

Типичным примером того, почему ко мне обращались за помощью, служит следующая ошибка компоновки:
g++ -o test1 test1a.o test1b.o
test1a.o(.text+0x18): In function `main':
: undefined reference to `findmax(int, int)'
collect2: ld returned 1 exit status

Если Ваша реакция — 'наверняка забыл extern «C»', то Вы скорее всего знаете всё, что приведено в этой статье.
Читать дальше →

Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами

Reading time3 min
Views294K
Долгое время меня глодало незнание того, как сделать некоторые элементарные вещи в дебиановских менеджерах пакетов, но, как часто бывает, спросить рядом было не у кого, а до написания куда-либо руки не доходили. И вот наконец вопросы вызрели и я написал свой вопрос в дебиановскую рассылку. Естественно оказалось что пропустил что-то очевидное, но и узнал много неочевидных полезностей, посему решил набросать шпаргалку, авось кому пригодится.
Читать дальше →

Как написать эффективное коммерческое предложение

Reading time3 min
Views252K
В очередной раз сел писать типовое коммерческое предложение для новой услуги нашей компании, и словил себя на мысли, что хорошо было бы иметь для себя какой-то краткий мануал на эту тему. Так как коммерческие предложения я пишу по мере надобности (а это достаточно редко), навыки теряются, и каждый раз приходиться рыться в своих записках сумасшедшего записях на эту тему и каждый раз заново «изобретать велосипед». А чтобы мои труды не пропадали зря, я решил из всего этого составить статью для хабра.
Читать дальше →

Как я сам научился программировать за 8 недель

Reading time3 min
Views568K
Для многих, кто никогда не программировал, обучение программированию кажется невероятно сложной задачей. Как бы то ни было, спасибо тому огромному количеству ресурсов, которые недавно стали доступны в Интернет и являются бесплатными — самообучение программированию никогда еще не было таким простым.

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

Ниже я описал простой путь от ничего не зная о разработке программного обеспечения до обладания рабочим прототипом за восемь недель, который примерно повторяет шаги, которые я выполнил.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity