Pull to refresh
  • by relevance
  • by date
  • by rating

Visual C# for beginners. Лекция 4. Условия и циклы

Self Promo
Доброго времени суток, хабражители!
Для желающих начать программировать на языке C# выкладываю четвертую лекцию на тему: «Условия и циклы». Лекция получилась очень большая (на целый час), поэтому, кто готов смотреть так долго я желаю терпения и большого желания не останавливаться на достигнутом.
Читать дальше →
Total votes 22: ↑14 and ↓8 +6
Views 2.5K
Comments 17

Введение в prototype.js

JavaScript *
Подключаюсь к разработке проекта, в котором используется этот замечательный js-фреймворк. До этого использовал только jQuery, поэтому пришлось изучать эту новую для меня библиотеку.

Второе место, куда я пошел за информацией, после Википедии, был Хабр. С удивлением обнаружил не обнаружил здесь блога, посвященного Prototype и более того, никакой информации «для новичков». Решил исправить этот недостаток.

Все заинтересованных — прошу под кат
Читать дальше →
Total votes 76: ↑57 and ↓19 +38
Views 28K
Comments 114

Видеокурс по Kohana 3. Часть 2

Kohana *
видеокурс по Kohana 3

Приветствую уважаемое хабросообщество!

В предыдущей публикации я рассказывал о своем бесплатном видеокурсе по Kohana 3 для начинающих, где опубликовал первые 15 видеоуроков.

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

Основываясь на знаниях, полученных из видеокурса, слушатель сможет самостоятельно запрограммировать функционал довольно сложного интернет-проекта.
Читать дальше →
Total votes 53: ↑43 and ↓10 +33
Views 8.5K
Comments 34

Учимся писать userscript'ы

JavaScript *
Sandbox
Tutorial
Доброго времени суток всем желающим приобщиться к миру пользовательских скриптов (они же userscript, userJS, юзерскрипты).

В этой статье я хочу поведать о том, что такое юзерскрипты, c чем их едят и, главное, как их готовят!

Внимание: предполагается минимальное знание javascript.
На практике доказано: юзерскрипты может писать человек, не знакомый с программированием, но обладающий усидчивостью и желанием изучить javascript!
О том, что такое javascript и как с ним обращаться, можно узнать на javascript.ru.
Поехали!
Total votes 144: ↑134 and ↓10 +124
Views 260K
Comments 44

XMPP-SMS шлюз на Android

Development for Android *
Sandbox


Введение

Причиной написания данной статьи послужила необходимость создания программы для системы Android, с помощью которой можно отправлять данные заказа в виде SMS сообщений владельцам интернет магазинов о том, что был совершен заказ товаров или услуг. Ранее мною использовалась система включающая GSM-модем и программу написанную на языке С++, использовавшая AT-команды для общения с модемом и библиотеку gloox для получения сообщений по протоколу XMPP, на стороне web-сайта использовалась библиотека xmpphp, для отправки данных заказа. При такой схеме приходилось держать включенным компьютер постоянно, так как система приема заказов работала круглосуточно, соответственно отсюда дополнительный расход электроэнергии, шум от вентиляторов ночью и постоянный контроль интернет соединения.
Читать дальше →
Total votes 55: ↑49 and ↓6 +43
Views 18K
Comments 19

Взаимодействие между приложением и службой

Development for Android *

Введение


В данной публикации хочу показать пример взаимодействия (получение и отправки данных) приложения и службы, в операционной системе Андроид. Публикация рассчитана на начинающих программистов, теории практически не будет, так как основная цель рассказать, как это сделать.
Читать дальше →
Total votes 39: ↑34 and ↓5 +29
Views 19K
Comments 18

Я презираю Arduino

Developing for Arduino *
Sandbox
Я – выпускник специальности «Микроэлектроника и полупроводниковые устройства». За годы обучения я разработал множество устройств на микроконтроллерах, участвовал в конкурсах вместе со своей командой и являлся заведующим лабораторией встраиваемых систем. У меня есть мечта – создать в своей стране условия для разработки роботизированных систем и есть план её достижения, одним из пунктов которого является участие в подготовке большого количества профессионалов в этой области.
Arduino


Я радуюсь, когда будущие инженеры создают свои устройства и расстраиваюсь, когда слышу, как кто-то говорит об использовании Arduino в них.

Это не первая моя статья на эту тему: у меня возникает желание написать такую сразу после прочтения фразы о безграничных возможностях платформы в DIY-топике на Хабре. У меня возникает желание написать об истинной цене деталей после прочтения статьи о покупке конструктора за $200 почти ничего не содержащего (уж простите, запамятовал где видел).

Читать дальше →
Total votes 456: ↑366 and ↓90 +276
Views 215K
Comments 516

Взаимодействие процессов (приложений) на WinApi

C++ *API *
Sandbox
Сейчас в интернетах можно встретить много Hello World'ов на WinApi, но когда новичок спрашивает как в этот Hello World добавить пару нужных функций — закидывают тухлыми яблоками и тут же отправляют в пресловутый и могучий MSDN.

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

image
Читать дальше →
Total votes 41: ↑13 and ↓28 -15
Views 13K
Comments 22

Программирование на OpenGl(freeglut), рисование примитивов

Programming *
Sandbox
Tutorial
Приветствую тебя Хабраюзер! Сегодня в своей первой статье расскажу о программирование на OpenGl.

//Замечание: Вы также вместо freeglut'a(открытая альтернатива glut'у) можете использовать glut.

Для начала немного напишу о том что нужно скачать и установить, для того чтобы начать кодить на opengl(freeglut'e).

Для рисования на opengl мы будем использовать библиотеку freeglut(OpenGL Utility Toolkit — так сказать обертка для opengl). Файлы freeglut'a можно найти тут. Там же есть инструкции как это поставить на linux и windows(MSVC и MinGW). На linux freeglut ставится в несколько команд, а в windows в несколько кликов. Если возникнут проблемы с установкой можете написать мне, я распишу подробней как установить freeglut.

Подробнее под катом.

Читать дальше →
Total votes 17: ↑8 and ↓9 -1
Views 13K
Comments 8

Использование домашнего интернета на работе, обходим ограничения контента

Open source *
Sandbox
Tutorial

Введение


Здравствуйте, товарищи!
Сразу оговорюсь, что статья не рассчитана на профессионалов, но и на блондинок она не рассчитана, а скорее предназначена для людей нуждающихся в полноценном доступе к интернету с прямыми руками и энтузиазмом.
Началось все с того, что у меня на работе ввели ограничения по ресурсам, на которые можно заходить. А посещать всякого рода сайты естественно хочется, ну и не хочется палиться в логах.
Вариантов решения проблемы несколько:
  • Тор сети
  • Покупка VPN сервиса
  • Настройка домашнего OpenVPN сервера для обхода ограничений рабочей сети.

О последнем варианте и пойдет речь, кого заинтересовал прошу под кат.
Вперед к свободе!
Total votes 26: ↑13 and ↓13 0
Views 40K
Comments 37

Почтовые индексы — на свободу! (Реверсинг в картинках)

Information Security *Assembler *Debugging *
Tutorial
Пару лет назад я писал об использовании базы PAF (Postcode Address File) британской Королевской почты (Royal Mail) для приведения почтовых адресов, вводимых пользователями, к стандартному виду. Поскольку PAF — основная интеллектуальная собственность Royal Mail, то заполучить её не так-то просто: годовая подписка стоит от £400 в зависимости от полноты базы и от частоты апдейтов. Спустя неделю-другую после оформления подписки по почте приходит солидная красная коробочка с CD-диском:


На диске — EXE-файл, который запрашивает «серийный номер» и распаковывает базу (набор CSV-файлов) на диск. Серийный номер присылают отдельно, чтобы злоумышленник, перехвативший посылку, не смог бы воспользоваться базой. (Вот выдумают же — текстовый файл с серийным номером!) Номер у каждого клиента свой, чтобы в случае «утечки» было ясно, к кому предъявлять претензии. Впрочем, организовать «утечку» самих данных серийный номер никак не мешает, и на WikiLeaks в 2009 г. появилась база Postzon (одна из составляющих PAF). В комментариях к ней отмечено, что "данная база составлена на средства налогоплатильщиков, и активисты, в их числе газета The Guardian и сэр Тим Бернерс-Ли, уже давно пытаются убедить Royal Mail открыть свободный доступ к PAF; но до сих пор эти попытки не увенчались успехом". Впрочем, через год после появления Postzon на WikiLeaks аналогичная по содержанию база появилась в открытом доступе от имени британской картографической службы Ordnance Survey и под названием OS Code-Point Open — таким образом и Royal Mail сохранила лицо, не уступив требованиям активистов, и утёкшие данные официально получили статус общедоступных. Тем не менее, полностью PAF до сих пор необщедоступна. (Пока я готовил эту статью, Postzon и с WikiLeaks куда-то пропала; но гугл всё помнит.)

Спустя год после получения PAF мне понадобилось в неё снова заглянуть, но листочек с серийным номером, присланный отдельно от диска, за год успел куда-то затеряться. Тут мне и стало интересно — насколько сложно будет обойти проверку серийного номера в продукте таком солидном и так яростно защищаемом от «освободителей информации»? Через полчаса данные были у меня на винте, а сама программа-распаковщик мне показалась неплохим демонстрационным примером для начинающих реверс-инженеров. Никакая IDA не потребуется — только бесплатные и быстроустанавливаемые инструменты.

Суровые ассемблерщики, которых боится даже Касперский, наверняка сочтут данный пример игрушечным, и, позёвывая, пролистают весь остаток статьи. Ну и ладно — туториалы в стиле «как нарисовать сову» меня раздражают намного больше, чем те, в которых разжёвываются простые вещи.
Читать дальше →
Total votes 99: ↑97 and ↓2 +95
Views 27K
Comments 25

IP-телефония: от медных проводов до цифровой обработки сигнала

Promwad corporate blog Development of communication systems *Manufacture and development of electronics *


Если в один прекрасный день вам придется на скорую руку разобраться, что есть VoIP (voice over IP) и что значат все эти дикие аббревиатуры, надеюсь, эта методичка поможет. Сразу замечу, что вопросы конфигурирования дополнительных видов обслуживания телефонии (такие как перевод вызова, голосовая почта, конференц-связь и т.п.) здесь не рассматриваются.



Итак, с чем мы будем разбираться под катом:
  1. Базовые понятия телефонии: типы аппаратов, схемы подключения
  2. Связка SIP/SDP/RTP-протоколов: как это работает
  3. Как передается информации о нажатых кнопках
  4. Как происходит передача голоса и факсов
  5. Цифровая обработка сигналов и обеспечение качества звука в IP-телефонии

Читать дальше →
Total votes 28: ↑25 and ↓3 +22
Views 70K
Comments 11

STM32 + EmBlocks — мигаем светодиодами

Programming microcontrollers *
Как и просили в комментариях к предыдущей статье о EmBlocks, сегодня я покажу от начала и до конца как создать в EmBlocks простой проект для мигания парой светодиодов.
В качестве отладочной платы мы будем использовать кроху на STM32F103C8.
Вот наш стенд:

Подключаем аноды светодиодов к пинам PB5 и PB6, катоды через резсторы в 390 Ом к земле.
Заставим их перемигиваться
Total votes 24: ↑19 and ↓5 +14
Views 41K
Comments 35

Введение в оптимизацию. Имитация отжига

Algorithms *Mathematics *
Sandbox
В этой статье я постараюсь максимально доходчиво рассказать о таком простом, но эффективном методе оптимизации, как имитация отжига (simulated annealing). А чтобы не быть причисленным к далёким от практики любителям теоретизировать, я покажу как применить этот метод для решения задачи коммивояжёра.

Для понимания статьи Вам понадобятся минимальные навыки программирования и владение математикой на уровне 9 класса средней школы. Статья рассчитана на людей не знакомых с методами оптимизации или только делающих первые шаги в этом направлении.

image


Читать дальше →
Total votes 148: ↑138 and ↓10 +128
Views 152K
Comments 37

Методика сравнения алгоритмов и для чего она ещё может пригодиться

Algorithms *Mathematics *
Sandbox
Прочитав недавно статью «Введение в оптимизацию. Имитация отжига» захотел принять участие в сравнении алгоритмов оптимизации. Но ведь их действительно хорошо бы сравнить. А в материалах исходной статьи не приводится никаких количественных данных. Значит, подумал я, надо сначала сформулировать критерии сравнения. Чем и предлагаю заняться в данной статье.

Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Views 13K
Comments 1

Как я изобретал метод имитации отжига

Algorithms *C# *Mathematics *
Sandbox

Доброго времени, Хабр!

Сподвигло меня на написание этой работы прочтение «Введение в оптимизацию. Имитация отжига». Так уж сложилось, что как раз недавно я столкнулся с задачей коммивояжера и для ее решения придумал алгоритм, суть которого, как оказалось, очень близка к идее алгоритма имитации отжига, описываемого в указанной статье. Более того, там даже есть «отсылка» к моей идее, а еще похожие обсуждения велись в комментариях, потому я решил, что сообществу будет интересно посмотреть на реализацию.
Читать дальше →
Total votes 32: ↑21 and ↓11 +10
Views 27K
Comments 13

A/B Анализ для начинающих. Как понять, что именно работает на вас?

PAYSTO corporate blog IT systems testing *
image

Paysto предлагает инструменты для ваших проектов, но то, насколько эти проекты будут эффективны, зависит только от вас. Одним из главных направлений работы над проектом является оптимизация его представления в сети. Для этого существует множество инструментов и приемов, но сегодня мы решили остановиться на А/В анализе, как на одном из самых эффективных способов выбора оптимального варианта вашей страницы, который позволяет точно оценить тот результат, который принесло то или иное изменение.

Читать дальше →
Total votes 40: ↑32 and ↓8 +24
Views 24K
Comments 4

Создание Zero Player Game, используя libgdx

Java *Algorithms *
Sandbox

Идея


  1. Игровое пространство — клетчатое поле ограниченное рамкой
  2. Существующие типы клеток:
    • Пустая клетка — белый
    • Стена — чёрный
    • Зверь — красный
    • След — коричневый
    • Дом — зелёный
  3. Перемещение зверя оставляет неисчезающий след
  4. При запуске генерируется лабиринт
  5. Зверь знает состояние соседних клеток и на основании этого строит карту при перемещении
  6. При перемещении зверь расходует силы, которые восстанавливаются в доме(+5) или на любой клетке(+1)
  7. При столкновении звери объединяются в стаи(дома переносятся в соседние точки), если несколько зверей одновременно отдыхают в доме их карты объединяются
  8. (Не реализовано)Разные «кланы» случайным образом объединяются или воюют
  9. (Не реализовано)Генетический алгоритм для различных поведений зверей, случайно перемешивающиеся при размножении(+мутации), более перспективный вид выживет в войнах

Читать дальше →
Total votes 30: ↑25 and ↓5 +20
Views 15K
Comments 2

Кто такой гейм-дизайнер?

Development of mobile applications *Game development *
Sandbox


Начиная серию статей о гейм-дизайне, в первую очередь стоит выяснить, что же это такое и кто такие эти гейм-дизайнеры?

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

Что же нужно, чтобы начать придумывать свою игру? Вы можете предположить, что это навыки использования движков, таких как Unreal Engine или Unity, может быть знания языков программирования и скриптинга или годы опыта?
Читать дальше →
Total votes 27: ↑14 and ↓13 +1
Views 59K
Comments 20