В прошлой заметке мы настроили окружение для программирования на WinAPI и даже написали программку, показывающую окно с сообщением. Сегодня мы напишем простое консольное приложение, а также научимся делать кое-какие несложные операции над строками и даже коснемся вопроса управления памятью.
Что-то в последнее время мне подозрительно часто стали задавать этот вопрос. Как по мне, тут все предельно просто, и на пост тема едва ли тянет. Но раз люди интересуются, видимо, у них возникают какие-то сложности с самостоятельным поиском ответа, так что, наверное, кому-нибудь этот пост пригодится.
Мне тут пришло письмо от одного из читателей (посетителей?) блога с вопросом, дескать вот вы рекомендуете прокачивать свое владение английским языком, а какие методики вы для этого используете? Думаю, это достаточно интересный вопрос, чтобы я продублировал здесь свой ответ на него. Ниже речь пойдет об английском языке, но я подозреваю, что те же рекомендации справедливы и в отношении любого другого языка.
Время от времени люди говорят мне, что я что-то делаю не по стандарту, и потому неправ. Дескать, «твоя реализация протокола не соответствует RFC» или «почему ты пишешь void main()
, когда по стандарту должно быть int main()
»? Меня давно подмывало написать пост на эту тему, и вот, после очередного такого упрека, я собрался с духом.
Что-то я решил молодость вспомнить. Перед тем, как меня понесло в сторону Perl, юниксов и всякой функциональщины, я долгое время игрался с сями, ассемблером и WinAPI. Сейчас все это начинает потихоньку забываться, а жаль, потому что, как мы уже выясняли, знать всякие низкоуровневые вещи полезно.
В этом выпуске: почему теория категорий бесполезна, запуск OpenBSD с флешки, миграция схем БД в Erlang, переписанный на Haskell текстовый редактор Vim, уникальный формат данных, в бесконечное количество раз быстрее Protobuf, и не только. Предыдущие выпуски: сентябрь 2013, август 2013, июль 2013, июнь 2013.
Один из наиболее запутанных вопросов при изучении Haskell — это обработка исключений. Многие учебники, в том числе LYH, повествуют об исключениях, описанных в стандарте Haskell 98, создавая тем самым ошибочное впечатление, что в Haskell нельзя объявлять собственные исключения. А в RWH, например, в качестве «современных» функций для работы с исключениями называются throwDyn, catchDyn и прочие. В результате многие хаскелисты не понимают и боятся исключений, а асинхронные исключения так и вовсе считают какой-то черной магией. Благодаря этой небольшой заметке вы узнаете, как же на самом деле в Haskell обрабатываются исключения.
В прошлой части мы познакомились с теорией, касающейся устройства Riak. Сегодня же придется запачкать руки — установить и настроить Riak под Ubuntu Linux, а также познакомиться с REST API этой СУБД.
Очередные два месяца — очередной десяток прочитанных журналов и книг. Страшно подумать, это уже пятый подобный пост в этом году. Предыдущие обзоры литературы вы можете почитать тут: четвертый десяток, третий десяток, второй десяток, первый десяток.
Настало время разобраться, что представляет собой Riak, как установить и настроить его в Ubuntu Linux, а также узнать, как использовать некоторые его возможности через REST API. Эта памятка не заменит вам чтения книг по Riak, но поможет составить общее впечатление об этой СУБД.