Обновить
1058.01

Программирование *

Искусство создания компьютерных программ

Сначала показывать
Порог рейтинга
Уровень сложности

Конференции для разработчиков как путь в Senior? И что, работает?

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


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

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

5 этапов разработки микросервиса

Время на прочтение4 мин
Количество просмотров11K
Всем тем, кто много слышал про микросервисы, но так и не решился сделать ни одного — посвящается.
По причинам создания и описанием всех “за” и “против” написано уже сотни статей — здесь же я расскажу про практическую сторону создания и использования.
image
Читать дальше →

IBM Bluemix в университетах: примеры реализованных проектов от студентов и преподавателей

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


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

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

nstd — C++ библиотека — «джентельменский набор» полезных классов

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

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

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

Одинарная или двойная точность?

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

Введение


В научных вычислениях мы часто используем числа с плавающей запятой (плавающей точкой). Эта статья представляет собой руководство по выбору правильного представления числа с плавающей запятой. В большинстве языков программирования есть два встроенных вида точности: 32-битная (одинарная точность) и 64-битная (двойная точность). В семействе языков C они известны как float и double, и здесь мы будем использовать именно такие термины. Есть и другие виды точности: half, quad и т. д. Я не буду заострять на них внимание, хотя тоже много споров возникает относительно выбора half vs float или double vs quad. Так что сразу проясним: здесь идёт речь только о 32-битных и 64-битных числах IEEE 754.

Статья также написана для тех из вас, у кого много данных. Если вам требуется несколько чисел тут или там, просто используйте double и не забивайте себе голову!

Статья разбита на две отдельные (но связанные) дискуссии: что использовать для хранения ваших данных и что использовать при вычислениях. Иногда лучше хранить данные во float, а вычисления производить в double.
Читать дальше →

Как превратить увлечение программированием в работу

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


Несколько лет назад я метался между двумя работами: в будни — озелененителем, на выходных — официантом. За плечами у меня был только что брошенный колледж, и я не знал, на что потратить свою жизнь.

Мыслей было много, но не было направления, в котором хотелось бы двигаться. И как раз в это время я начал самостоятельно изучать программирование. Сначала это было просто увлечение: мне казалось, что уметь создавать что-то из строчек кода, используя только мозг — это круто.

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

Переведено в Alconost
Читать дальше →

Как мы писали стратегический кликер на хакатон ReactRiot

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

Привет. Не так давно мы с rjericho увидели статью Как я участвовал в хакатоне Angular Attack, и что из этого вышло. У нас в Барнауле хакатоны начали проводиться всего год назад. При этом они больше были ориентированы на быстрый старт IT-стартапа. Поэтому на них не получалось насладиться использованием всяких прикольных хипстерских библиотек, а приходилось пилить продукт на старых добрых PHP или Java. Однако нам давно хотелось поучаствовать в каком-нибудь фановом мероприятии, где можно просто запилить то, что душе угодно и не придумывать, как это монетизировать.


Был найден хакатон от тех же организаторов, что и AngularAttack: ReactRiot. То, что о реакте мы знали только по статьям на хабре только добавляло интерес к данному мероприятию.


Скриншот интерфейса получившейся игры

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

Получение пользователей Instagram по городам

Время на прочтение6 мин
Количество просмотров9.1K
Всем привет. Мы занимаемся разработкой проекта InstaRocket, который помогает автоматизировать работу вашего аккаунта в Инстаграмм (массфоловинг, масслайкинг, комментирование, отписка).

Начиная создание проекта, мы хотели сделать очень простой в настройках сервис. Там добавили свой инстаграм-аккаунт, указали в каком городе действовать и все=) С простым добавлением аккаунта сложностей не было, а вот с добавление города, совсем другая история, о которой я и расскажу здесь.
image

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

Как эффективнее читать данные с диска (при условии, что у вас .Net)

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


Привет, Хабр! Некоторое время назад меня заинтересовал вопрос: как эффективнее всего читать данные с диска (при условии, что у вас .Net)? Задача чтения кучи файлов встречается во множестве программ, которые при самом старте начинают вычитывать конфигурации, некоторые самостоятельно подгружают модули и т.д.

В интернете я не нашел подобных сравнений (если не считать тюнинга под определенные конфигурации).
Читать дальше →

Новые возможности C#, которые можно ожидать в ближайшее время

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


В апреле 2003-его года был выпущен C# 1.2 и с тех пор все версии имели только major версию.
И вот сейчас, если верить официальной страничке roslyn на github, в работе версии 7.1 и 7.2.
Узнать что нового нас ожидает в C#

Интеграция сценарного тестирования в процесс разработки решений на базе платформы 1С

Время на прочтение66 мин
Количество просмотров17K
Эта статья является практическим пособием по внедрению тестирования на основе сценариев в процесс разработки программного обеспечения на базе платформы 1С: Предприятие 8.3. Документ отличает прикладная направленность, в нем содержится много кода, подходов и конкретики. Все рассмотренные примеры основаны на использовании бесплатной конфигурации Тестер.
Читать дальше →

Dlang Tour переведен на русский язык

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

Dlang Tour — это интерактивное введение в язык D. Сделан по образцу Golang Tour.



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

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

Как Pony Express удается вам доставлять

Время на прочтение4 мин
Количество просмотров9.3K
Чего хочет любой клиент от логистического оператора? Конечно, чтобы всё происходило быстро, качественно и желательно, по максимуму, без его — клиента — непосредственного участия. Чтобы можно было заплатить свои кровные, а дальше оно уж как-нибудь само. Но в некоторых случаях, чтобы «оно само», клиенту тоже нужно немного пошевелиться. Как быть компании, если он не торопится? Под катом — опыт Pony Express.


Ближайшие события

История оптимизации одного IoC контейнера

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

В этой заметке мне хотелось бы поделиться информацией о небольшом, но, на мой взгляд, весьма и весьма полезном проекте, в котором Stefán Jökull Sigurðarson добавляет все известные ему IoC контейнеры, которые мигрировали на .NET Core, и с использованием BenchmarkDotNet проводит замеры instance resolving performance. Не упустил возможности поучаствовать в этом соревновании и я со своим маленьким проектом FsContainer.


image

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

Челленджи марафонского раунда Яндекс.Алгоритма 2017

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

И вновь, как и в прошлые годы, приближается финал конкурса Яндекс.Алгоритм. В этом году мы ввели новый раунд — марафонский. Он представляет из себя одну оптимизационную задачу без точного решения, которую участникам предлагалось «покрутить» в течение 48 часов. Такой формат похож на решение практических задач больше, чем популярные соревнования по спортивному программированию.




Особенностью большинства практических задач является отсутствие точного решения — или же алгоритмы его нахождения оказываются слишком медленными. Команде и отдельному разработчику нужно сделать хороший прототип решения, который будет внедряться в окончательный алгоритм. Задачи подобного рода давно встречаются в соревнованиях TopCoder, ежегодных соревнованиях Marathon24, Deadline24, Google Hash Code и других. Конкурс длится больше стандартных алгоритмических раундов, так что участники могут в спокойной обстановке и в удобное для себя время реализовать придуманный метод.


Мы, организаторы Алгоритма, очень хотим, чтобы разноплановые участники могли успешно себя проявить. Поэтому добавление марафонского раунда рассматриваем как путь к расширению аудитории и популяризации таких соревнований.


Мы попросили участников, показавших лучший результат, объяснить, как они его достигли.


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

Apache Cassandra + Apache Ignite — как совместить лучшее

Время на прочтение14 мин
Количество просмотров13K
Apache Cassandra — это одна из популярных распределенных дисковых NoSQL баз данных с открытым исходным кодом. Она применяется в ключевых частях инфраструктуры такими гигантами как Netflix, eBay, Expedia, и снискала популярность за свою скорость, способность линейно масштабироваться на тысячи узлов и “best-in-class” репликацию между различными центрами обработки данных.

Apache Ignite — это In-Memory Computing Platform, платформа для распределенного хранения данных в оперативной памяти и распределенных вычислений по ним в реальном времени с поддержкой JCache, SQL99, ACID-транзакциями и базовой алгеброй машинного обучения.

Apache Cassandra является классическим решением в своей области. Как и в случае с любым специализированным решением, её преимущества достигнуты благодаря ряду компромиссов, значительная часть которых вызвана ограничениями дисковых хранилищ данных. Cassandra оптимизирована под максимально быструю работу с ними в ущерб остальному. Примеры компромиссов: отсутствие ACID-транзакций и поддержки SQL, невозможность произвольных транзакционных и аналитических транзакций, если под них заранее не адаптированы данные. Эти компромиссы, в свою очередь, вызывают закономерные затруднения у пользователей, приводя к некорректному использованию продукта и негативному опыту, либо вынуждая разделять данные между различными видами хранилищ, фрагментируя инфраструктуру и усложняя логику сохранения данных в приложениях.

Возможное решение проблемы — использование Cassandra в связке с Apache Ignite. Это позволит сохранить ключевые преимущества Cassandra, при этом скомпенсировав ее недостатки за счет симбиоза двух систем.

Как? Читайте дальше, и смотрите пример кода.

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

Как провести розыгрыш призов среди Java программистов

Время на прочтение3 мин
Количество просмотров4.8K
Давно ли вы участвовали в лотерее или розыгрыше? Приходилось ли вам самим их устраивать? Даже если ответы: никогда и нет, уверен, что вы знаете что это такое.

А какие у вас ассоциации от слов «лотерея» и «розыгрыш»? У меня — разноцветные шары с номерами и лотерейная машина, из которой разноцветные шары выпадают по одному и определяют победителя.

Вот и мне некоторое время назад понадобилось “определить” победителей розыгрыша бесплатных места на курс “Разработчик Java” в Otus.ru. Задача звучала просто: есть N email-ов, нужно выбрать среди них случайным образом M email-ов тех, кто будет учиться бесплатно.

Сложность задачи была в том, что это были email-ы всех, кто успешно прошел входное тестирование курса. То есть email-ы программистов. Я представил себе, как я “достаю из кармана” M email-ов и говорю: “Вот эти победили”. И… мне никто не верит. Даже если победители начинают радостно писать в общий чат: “Спасибо, как мы рады!”, мне все равно никто из оставшихся не поверит. Да я бы и сам не поверил, если бы мне просто сказали «победили эти».

image

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

Где в ZX Spectrum системный монитор? Загадка ПЭВМ Дуэт

Время на прочтение6 мин
Количество просмотров22K
ПЭВМ Дуэт — это российский клон ZX Spectrum 48k, производился Лианозовским электромеханическим заводом (ЛЭМЗ). Это мой самый первый компьютер и он со мной до сих пор. С юного возраста я начал постигать на нем азы программирования, микропроцессорных архитектур и проектирования цифровых схем. Но с тех пор мне не давал покоя вопрос: где системный монитор? Ведь он упоминается в документации. В стандартном ZX Spectrum я не припомню наличия какого-либо системного монитора. И в документации про системный монитор больше ни слова. Существует Монитор для 48к в ПЗУ версии от 1990г. Однако, после включения, ПЭВМ Дуэт выводит на экран вместо стандартного приветствия — "(с) 1982 sinclair research ltd" другое приветствие: "(с) DUET". А это значит, что ПЗУ там всё же изменено. А может быть есть аппаратные возможности мониторинга? К примеру, клон Орель БК-08 имеет целый ряд доработок: теневое ОЗУ, кнопка NMI и монитор MZ80. Было бы очень интересно, спустя столько лет, найти какие-то скрытые возможности своей железки.

Наконец-то я нашел ответ на вопрос, который меня периодически волновал все эти годы.

image
Заняться цифровой археологией

Это вопрос должен решать архитектор. Или нет?

Время на прочтение15 мин
Количество просмотров26K
У меня есть некоторый опыт в реализации систем на базе микросервисной архитектуры и я хотел бы поделится вопросами (и ответами), которые возникают при реализации подобных проектов. К сожалению, я не имею права распространяться о проектах в которых я участвовал, поэтому я выдумал собственный сферический проект в вакууме. В этом проекте нам встретится множество стандартных проблем.

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

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

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

Финал конкурса SAP Кодер 2017 пройдёт в прямом эфире

Время на прочтение2 мин
Количество просмотров3.9K
В начале апреля мы анонсировали конкурс «SAP Кодер». Участники должны были предложить свои проекты по заданным направлениям, сделанные на базе SAP Cloud Platform. Всё это время участники готовили свои решения — и вот настало время их презентовать. Решения получились интересные, поэтому мы предлагаем вам присоединиться к просмотру. Кроме презентации участников, вы услышите два доклада о SAP, которые обозначат передовые тренды в разработке. Узнайте подробности под катом и не забудьте присоединиться!

image

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

Вклад авторов