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

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

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

REST API за пару минут с Lionframe

Время на прочтение2 мин
Количество просмотров18K
Генераторы кода упрощают жизнь рядового разработчика, во всяком случае призваны это делать, избавляя его от скучного написания однотипного кода. Один из таких генераторов команда Sylius'a представила как подарок для коммьюнити к Рождеству.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии9

Проектирование RESTful API с помощью Python и Flask

Время на прочтение15 мин
Количество просмотров276K
В последние годы REST (REpresentational State Transfer) стала стандартной архитектурой при дизайне веб-сервисов и веб-API.

В этой статье я покажу вам как просто создавать RESTful веб-сервисы используя Python и микрофреймворк Flask.

Что такое REST?


Характеристика системы REST определяется шестью правилами дизайна:

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

Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии32

Именованные параметры в современном C++

Время на прочтение14 мин
Количество просмотров29K
Из Википедии: "Именованные параметры в языках программирования означают поддержку указания явных имен параметров в вызове функции. Вызов функции, принимающей именованные параметры, отличается от обычного вызова функции, в котором передаваемые аргументы ассоциируются с параметрами функции лишь только по их порядку в вызове функции"

Давайте посмотрим на пример:

createArray(10, 20); // Что это значит? Что за "10" ? Что за "20" ?
createArray(length=10, capacity=20); // О, вот теперь понятнее!
createArray(capacity=20, length=10); // И наоборот тоже работает.


И еще один пример на выдуманном псевдо-языке:
window = new Window {
   xPosition = 10,
   yPosition = 20,
   width = 100,
   height = 50
};


Этот подход особенно полезен для функций с большим количеством опциональных параметров, при вызове которых нужно изменить лишь некоторую часть дефолтных значений. Некоторые языки программирования поддерживают именованные параметры (C#, Objective-C, ...), но не С++. В этом посте мы рассмотрим пару классических способов эмуляции именованных параметров в С++, ну и попробуем придумать что-то новое.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии32

Сети для самых маленьких. Часть десятая. Базовый MPLS

Время на прочтение45 мин
Количество просмотров380K
Сеть нашей воображаемой компании linkmeup растёт. У неё есть уже магистральные линии в различных городах, клиентская база и отличный штат инженеров, выросших на цикле СДСМ.
Но всё им мало. Услуги ШПД — это хорошо и нужно, но есть ещё огромный потенциальный рынок корпоративных клиентов, которым нужен VPN.
Думали ребята над этим, ломали голову и пришли к выводу, что никак тут не обойтись без MPLS.

Если мультикаст был первой темой, которая требовала некоторого перестроения понимания IP-сетей, то, изучая MPLS, вам точно придётся забыть почти всё, что вы знали раньше — это особенный мир со своими правилами.



Сегодня в выпуске:


А начнём мы с вопроса: «Что не так с IP?»

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

Семь истин об инди-разработке

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


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

1. Никто ничего не знает


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

Примерно 30 процентов вашего времени будет потрачено собственно на создание игры. Остальное время вам потребуется тратить на другие дела. Вообще-то вам повезет, если вы будете тратить 4 месяца в году на, собственно, саму игру. Вы, наверное, не знаете многого о том как вести бизнес, о маркетинге и тому подобном, но вам придется этим заниматься. И, конечно, вы ничего не знаете о будущем, например, о том, какие платформы будут через 5 лет, как будут меняться технологии или аудитория.

Что же делать?
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии18

Путь разработчика: истории о моих фееричных провалах, часть 2

Время на прочтение6 мин
Количество просмотров35K
Всем привет, с вами снова Delfuego FM, и я наконец-таки созрел, чтобы выложить вторую часть статьи! Вследствие неоднозначной реакции на первую часть, была предпринята попытка выложить вторую на geek times, и… она успешно провалилась. Поэтому придётся совершить небольшой хабрасуицид и выложить её прямо тут! Итак, поехали!..

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

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


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

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

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

Содержание




Мечта, ради которой создавалась Сеть – это общее информационное пространство, в котором мы общаемся, делясь информацией. Его универсальность является его неотъемлемой частью: ссылка в гипертексте может вести куда угодно, будь то персональная, локальная или глобальная информация, черновик или выверенный текст.

Тим Бернес-Ли, Всемирная паутина: Очень короткая личная история

Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии4

Интервью с Руди Хайном: девелопер бестселлеров делится секретами успеха своих приложений

Время на прочтение6 мин
Количество просмотров17K
Французского разработчика Руди Хайна (Rudy Huyn), пожалуй, можно назвать самым известным и популярным независимым создателем приложений для платформы Windows Phone. На данный момент его портфолио насчитывает порядка 18 приложений, среди которых особенно выделяются такие неофициальные клиенты, как 6tag, 6snap для Snapchat, CloudSix для Dropbox и другие.



Общее количество загрузок всех его приложений превышает 15 миллионов, что, согласитесь, неплохой результат для инди-разработчика. Нашим коллегам удалось на днях поговорить с Руди, и мы решили сегодня поделиться с вами этим интервью.
Читать дальше →
Всего голосов 35: ↑27 и ↓8+19
Комментарии12

Курс пиксель-арта 4

Время на прочтение4 мин
Количество просмотров71K
Это перевод публикации «Les Forges Pixel Art Course».

Часть 1: Правильные инструменты
Часть 2: Линии и кривые
Часть 3: Перспективы
Часть 4: Тень и свет
Часть 5: Палитры цветов
Часть 6: Сглаживание
Часть 7: Текстуры и размытие
Часть 8: Мир тайлов

Часть 4: Тень и свет


Сегодня мы перейдём из 2D в 3D, в то время как останемся в 2D. Вы увидите (или нет). С тем что мы обсуждали до сих пор, вы сможете делать красивые штриховые рисунки и рисовать предметы с корректной перспективой. Это хорошее начало, но этого недостаточно чтобы делать пиксель-арт. В этой части мы взглянем на затенение. Это набор техник, которые позволит нам ваять наши пейзажи и персонажей чтобы представить объём (и я избавлю вас от долгого рассказа о традиционной важности этой части, ЭТО ПРОСТО СУПЕР ВАЖНО).
Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии16

Процессоры, ядра и потоки. Топология систем

Время на прочтение12 мин
Количество просмотров282K
В этой статье я попытаюсь описать терминологию, используемую для описания систем, способных исполнять несколько программ параллельно, то есть многоядерных, многопроцессорных, многопоточных. Разные виды параллелизма в ЦПУ IA-32 появлялись в разное время и в несколько непоследовательном порядке. Во всём этом довольно легко запутаться, особенно учитывая, что операционные системы заботливо прячут детали от не слишком искушённых прикладных программ.



Используемая далее терминология используется в документации процессорам Intel. Другие архитектуры могут иметь другие названия для похожих понятий. Там, где они мне известны, я буду их упоминать.

Цель статьи — показать, что при всём многообразии возможных конфигураций многопроцессорных, многоядерных и многопоточных систем для программ, исполняющихся на них, создаются возможности как для абстракции (игнорирования различий), так и для учёта специфики (возможность программно узнать конфигурацию).
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии18

Корпоративный софт: основные тренды и почему они важны

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

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

Не так давно salesforce.com впервые опубликовал список десяти основных поставщиков корпоративного программного обеспечения. Появление среди ИТ-элиты SaaS-провайдеров много говорит о возросшей важности облачных приложений для бизнеса.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии3

Лицензия для вашего open-source проекта

Время на прочтение98 мин
Количество просмотров182K
В этой статье я хочу немного поговорить об авторском праве и свободных лицензиях на ПО. Текст является результатом самостоятельного выбора лицензий и их применения к своим проектам.

Статья будет полезна тем, кто хочет:

— в общих чертах понять, что такое авторское право (но лучше обратиться к юристу);
— подобрать свободную лицензию для своего проекта;
— разобраться, что нужно писать в шапке файла исходного кода.
Читать дальше →
Всего голосов 136: ↑132 и ↓4+128
Комментарии117

.NET Server Core, кросс-платформенная разработка, Visual Studio 2015 и другие анонсы Microsoft Connect()

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

Сегодня в Нью Йорке проходит конференция Microsoft Connect(), на которой анонсированы новые продукты и технологии. Выпущена предварительная версия Visual Studio 2015, специальная бесплатная редакция Visual Studio Community 2013, Visual Studio 2013 update 4, открывается исходный код .NET Server Core, выпущена предварительная версия .NET 2015, обновлены инструменты кросс-платформенной разработки на базе Apache Cordova, в Visual Studio появился эмулятор ОС Android. Это действительно новый этап в развитии инструментов разработки Microsoft, и мы рады рассказать о деталях.
Читать дальше →
Всего голосов 110: ↑104 и ↓6+98
Комментарии83

Изменение кода системных сборок или «утечка» .Net Framework 5.0

Время на прочтение17 мин
Количество просмотров36K
Здесь я продемонстрирую возможность, которая по своей сути — самый настоящий хак. Вопрос, зачем это может понадобиться? На самом деле целей для этого может быть огромное множество. Итак наша задача — изменить код библиотеки mscorlib таким образом, чтобы все программы, которые ей пользуются, получили эти изменения. Не рантайм, конечно, а во время старта (для runtime необходимо проделать другие вещи, и тут надо оговориться что изменения эти не должны поломать текущие состояния библиотеки). Mscorlib я взял как пример, потому что она есть у всех на компьютере. Но можно хакать любую другую.

Все мы знаем, что для того, чтобы не было «ада dll», Microsoft помимо обычных версий и названия библиотек, дали возможность подписывать сборки ключом, public key которой гарантирует что конкретная сборка «пришла» от конкретного разработчика, а не от какого-то другого. Поэтому, если мы хотим по какой-то вполне добросовестной причине изменить код существующей библиотеки т.о., чтобы она загрузилась в чужой процесс и при этом ключик public key остался тем же, у нас этого не получится. Потому что мы не сможем ее подписать, у нас нет закрытого ключа.

Наша мини цель, чтобы программа вывела на консоль текст:



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

Политех 2.0: Первая стружка!

Время на прочтение4 мин
Количество просмотров13K
Доброй ночи, Хабравчане!



UPD: Огромное спасибо Хабру за понимание и предложение отправить заявку на регистрацию неккомерческого стартапа. Действительно, проект наш некомеррческий, а больше к Вам, хабрасообщество и всем инженерам, которые читают Хабр. Мы вернулись!!! Ура! Теперь у нас свой блог, как от начинающей компании, спасибо еще раз Хабр! (очень порадовала быстрая реакция службы поддержки и помощь в переходе на корпоративный блог).

UPD_2: Итак! Этот пост был опубликован на несколько часов на Хабре. Он собрал приятный фидбэк. Много работы началось по созданию комфортной web-площадки на базе Moodle. Поэтому если у вас еще есть пожелания и предложения — прошу отписать их в комментариях к посту!

Несколько месяцев минуло с того дня, когда я выложил первый пост про попытку нескольких (уже) парней создать систему открытого технического образование в интернете. И вот первые результаты!
То, с чего все началось — описано тут. А что сейчас получается — читаем под катом.

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

Использование подхода MVC в WinForms для самых маленьких

Время на прочтение8 мин
Количество просмотров36K
В статье описаны общие принципы построения приложений, с использованием подхода MVC, на примере внедрения в приложение, использующее много лет Code Behind подход.

Не будет:
• Классического Unit Test;
• Принижения влияния Code Behind;
• Неожиданных открытий в MVC.

Будет:
• Unit Test и Stub;
• MVC;
• Внедрение подхода на базе существующего продукта.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии10

Эй, НАСА, а черные дыры таки существуют!

Время на прочтение7 мин
Количество просмотров188K
«Моя цель проста: полностью разобраться в устройстве Вселенной и понять, почему она такая и зачем она существует».
Стивен Хокинг

От переводчика. А ты, хабражитель, заметил, что тема космоса становится всё популярнее? Curiosity покоряет Марс, Virgin Galactic продает билеты на суборбитальные космические полеты, а Китай стал третьей страной, добравшейся до Луны. На самом деле, еще большие изменения происходят в космической теории. В этой статье с Medium речь пойдет о том, как изменилось представление ученых о черных дырах за последние пару лет. Я не физик, поэтому в переводе не исключены ляпы — пишите в личку или подробно (чтобы всем было понятно и интересно) в комментариях. Заранее большое спасибо и приятного чтения!
(Претензии на тему jpeg/png отправлять автору статьи.)

Читать дальше →
Всего голосов 194: ↑171 и ↓23+148
Комментарии245

О кодировках и кодовых страницах

Время на прочтение7 мин
Количество просмотров40K
Вряд ли это сейчас сильно актуально, но может кому-то покажется интересным (или просто вспомнит былые годы).

Начну с небольшого экскурса в историю компьютера. Поскольку компьютер использовался для обработки информации, то он просто обязан представлять эту информацию в «человеческом» виде. Компьютер хранит информацию в виде чисел (байтов), а человек воспринимает символы (буквы, цифры, различные знаки). Значит, надо сделать сопоставление число <-> символ и задача будет решена. Сначала посчитаем, сколько символов нам надо (не забудем, что «мы» — американцы, использующие латинский алфавит). Нам надо 10 цифр + 26 заглавных букв английского алфавита + 26 строчных букв + математические знаки (хотя бы +-/*=><%) + знаки препинания (.,!?:;’” ) + различные скобки + служебные символы (_^%$@|) + 32 непечатных управляющих символов для работы с устройствами (в первую очередь, с телетайпом). В общем, 128 символов хватает «впритык» и этот стандартный набор символов «мы» назвали ASCII, т.е. «American Standard Code for Information Interchange»
Читать дальше →
Всего голосов 21: ↑14 и ↓7+7
Комментарии23

Интервью с Элоном Маском. Часть 2 — про массу, про Марс и про MBA

Время на прочтение5 мин
Количество просмотров83K
imageЭто вторая часть интервью Элона Маска Элене Левин, колумнистке издания Американского физического общества APT News. Первая часть была опубликована вчера.

Левин: Как вы решаете встающие перед вами бизнес-задачи? Помогает ли вам ваше физическое и математическое образование видеть проблемы в бизнесе под другим углом, или по-другому подходить к их решению?

Маск: Физика очень помогает, потому что математика, на которую опираются бизнесмены, очень примитивна по сравнению с математическим аппаратом физики. Помню, как на курсе по анализу рынка ценных бумаг преподаватель объяснял, что такое матрицы. Я был в шоке. Если вы знаете математику достаточно, чтобы заниматься физикой, то экономические задачи будете решать без усилий. Многие учёные недооценивают себя в этой области. На самом деле они знают намного больше, чем думают. Можно просто взять и приложить физический метод мышления к практически любой проблеме — это универсальные приёмы и они работают в мире экономики так же как и в мире физики.

Левин: Я тоже изучала математику и физику и всегда рассматриваю проблемы в бизнесе как двоичное дерево, и продумываю шаги на 4, 5 или 6 уровней вперед. У вас это так же происходит? Это изучение физики накладывает отпечаток?

Маск: Да, в общем-то я всегда стараюсь продумывать будущие события, пытаюсь предсказать их. Я предвижу цепочку событий, затем анализирую ошибки и расхождения между предсказанием и реальным ходом вещей и пытаюсь минимизировать эти ошибки. Вот так мне это представляется. А ещё я думаю в терминах потоков вероятностей. Есть определённый набор исходов, вероятности этих исходов, и я хочу быть в выигрыше при любом раскладе. Так что, хоть и не всегда всё происходит так как планируешь, если всё правильно просчитать, со временем обязательно продвинешься вперёд.
Читать дальше →
Всего голосов 80: ↑79 и ↓1+78
Комментарии31

Создан язык программирования клеток с помощью молекул ДНК

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


Инженеры из университета Вашингтона разработали структурированный набор инструкций для программирования химических реакций в лабораторной среде или живой клетке с помощью молекул ДНК. Наличие такого языка должно помочь в проектировании сложных молекулярных структур с нужными свойствами.
Читать дальше →
Всего голосов 45: ↑40 и ↓5+35
Комментарии21

Информация

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