Рубрика «Программирование» - 904

Всем привет!

Решил задуматься над созданием собственного стартапа в области системного программирования (либо прильнуть к уже существующему), а именно: вирусописании и руткитописании. Читать полностью »

Все программисты(или почти все) знают как представляются примитивные типы(целые, вещественные числа и т.п.) в памяти компьютера. Мы знаем, как выполняются операции с ними и в каких случаях могут произойти проблемы, такие как переполнение. Но при написании конкретного кода, особенно на языках высокого уровня, и тем более, скриптовых языках, мы не всегда это помним.
Любой, кто занимался разработкой биллинга или просто хранил денежную сумму в памяти знает, что её нужно хранить в целочисленном формате, а не вещественном, но при работе с другими объектами об этом вспоминают не всегда.

Но, конечно, в первую очередь этот пост для новичков. Думаю это не плохой пример для тех, кто утверждает «зачем мне знать как работают запросы/устроенны потоки/выполняются вычисления/..., если все это делает за меня компилятор и ОС!»
Читать полностью »

головой об стенуРаботал сегодня над одной программкой. Понадобилось переписать кое-какой код, с использованием функции с одной переменной. Вроде в одном месте изменил. В другом ошибки полезли. Потом стал везде перепроверять, так и так ошибки лезут. В результате кучу всего надо было бы переписать. А потом, просто в функцию добавил ещё одну переменную, и всё заработало. И мало того, что ничего дописывать не пришлось (и ломать голову, как это делать), но и весь код получилось заметно сократить и упростить.

Думаю также и в жизни. Иногда (или часто), опираясь на какие-то текущие установки мы можем спокойно жить, но стоит условиям немного измениться, как появляется множество проблем. И мы начинаем ломать голову — как же быть, что делать. А на самом деле бывает просто надо добавить новые переменные в свою программу, и программа упрощается и работает лучше.

Такой пример из жизни.

Жил был один маменькин сынок — пай-мальчик. Пока он жил дома у него всё было хорошо, мама гладила его по головке за хорошее поведение. Например, за то, что когда просыпался по утрам, заправлял постель. А после школы хорошо делал уроки.

Получается у него работала такая функция: БытьХорошимПарнем(ЗаправляюПостельку, ДелаюУроки) -> ГладятПоГоловке. Читать полностью »

Сегодня я хотел бы затронуть одну тему, которая относится к сфере максимального использования возможностей мобильной платформы. В частности, речь пойдёт о том, как интегрировать в хаб «Фотографии» приложение, работающей с изображениями. Как вы, наверное, знаете, эта возможность появилась ещё в Windows Phone 7 и успешно перекочевала в восьмую версию ОС.

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

Временами от C++ хочется более гибкого механизма параметризации функций. Например, есть у нас функция с двумя обязательными параметрами и большим количеством необязательных.

bool foo(int important, int& pOut, int sometimes = 1, int occasionally = 2, int rarely = 3)
{
//...
}

Проблемы здесь могут быть следующие

  1. Пользователи постоянно путают порядок параметров, тип их практически полностью совпадает, поэтому компилятор ничем помочь не может (разве что иногда со вторым параметром).
  2. Из необязательных параметров чаще всего нужен один, причем если это не sometimes, пользователи вынуждены вспоминать значения по умолчанию, чтобы задать их в вызове явно. Значения по умолчанию разные, так что ошибок снова много
  3. Нет никакой возможности выразить зависимость значений по умолчанию одних параметров от других.

Проблемы эти можно решить по-разному: передавать в качестве параметра структуру, использовать перегрузку функций или даже функции с разными именами… Boost предлагает еще один вариант решения.
Читать полностью »

Bing code searchПри разработке на C# порой возникает необходимость посмотреть на пример использования языковой конструкции. В интернете на форумах MSDN, сайте StackOverflow и других ресурсах есть множество таких примеров. Они очень выручают при программировании. Команда Visual Studio рада представить дополнение для Visual Studio 2013 которое позволяет осуществлять поиск таких примеров прямо из редактора кода.
Читать полностью »

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

Это статья попытка показать, что сила функциональных языков и в первую очередь Хаскеля — это в том числе и силе функторов и монад.
Зачем нужны все эти фунткоры и монады?
Читать полностью »

В первой части мы развернули WildFly 8 в Облачный конструктор InfoboxCloud в режиме Standalone. Давайте посмотрим, как можно развернуть WildFly 8 в режиме домена.

Цель: развернуть WildFly 8 в режиме домена с отдельным контроллером домена и двумя хостами, на которых в режиме высокой доступности смогут исполняться по 2 сервера приложений WildFly.

image

Режим домена или автономный режим?

Автономный режим больше подходит для сценариев разработки, когда необходим только один сервер. Только в этом режиме будут работать Arquillian тесты. Так же автономный режим подходит, если вы используете множество WildFly серверов с самописной системой управления серверами.

Режим домена (Domain mode) позволяет централизовано управлять конфигурациями WildFly. Использование домена удобно для развертывания и поддержки кластеров, состоящих из нод WildFly.

Элементы WildFly в режиме домена:
image
Читать полностью »

image

Давно собирался почитать книгу «Программирование игр и головоломок». Уж очень часто на неё наталкивался на различных ресурсах, связанных с моими интересами (в частности, одно из моих хобби — ретро-компьютеры и программы для них). И вот начал читать. Стиль и некоторые задачи мне понравились, так что я решил почитать об авторе.

Информацию изначально искал на французском языке (как бы предчувствуя, что на русском найду гораздо меньше), и действительно оказалось, что её не так уж и много. Даже статья в Википедии достаточно лаконична.

Из этой статьи я узнал, что чуть более месяца назад, 14 января, Жак Арсак ушёл из жизни.
Читать полностью »

От переводчика:

Я технический руководитель Букмейта. Самое важное для меня — собрать таких парней, с которыми мне не придется выступать постоянными переводчиком с бизнеса на программистский. Жизнь слишком коротка для этого.
Эту статью скинул мне Леша Гусев — человек, у которого я многому научился и продолжаю учится каждый рабочий день. Спасибо тебе, Леша!
Он скинул ссылку в скайп со словами «ого, чувак написал мой манифест».
И я с ним совершенно согласен.

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

Ведь на самом деле вы не хотите думать как программист.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js