Pull to refresh
33
0
Величко Антон @tonyvelichko

User

Send message

Objective-C с нуля

Reading time23 min
Views434K
У любого желающего писать программы для продукции фирмы Apple в жизни наступает такой момент, когда ему приходиться изучить новый язык программирования — Objective-C. Когда-то этот счастливый момент постиг и меня. А чтобы лучше запомнить основные особенности этого языка, решил законспектировать свои мысли во время осмысления его документации, которыми и делюсь с вами.
Читать дальше →
Total votes 163: ↑155 and ↓8+147
Comments61

Рабочий метод разрыва конкретного активного соединения из командной строки linux (drop/kill/cut/close ESTABLISHED connection)

Reading time1 min
Views40K
Иногда бывает необходимо принудительно разорвать активное соединение. Самый распространенный способ:

netstat -na
kill PID


Проблема в том, что один воркер может одновременно обслуживать несколько соединений, поэтому правильнее будет убить соединение а не воркер. Для этого на многих форумах рекомендуют использовать tcpkilll, cutter или awk+hping3. Однако, хоть эти утилиты и находятся в официальных репозиториях, мне не удалось заставить их разрывать соединения.

После продолжительных поисков был обнаружен perl скрипт killcx, разрывающий соединение по удаленному хосту и порту.

killcx 94.133.119.242:4403
Читать дальше →
Total votes 39: ↑35 and ↓4+31
Comments26

Разработка приложения для Racios.com

Reading time1 min
Views737
iPhone приложение для Racios (http://habrahabr.ru/blogs/i_am_advertising/90750/) разрабатывает один из уважаемых пользователей Habra, имя его называть не буду, т.к. он реализовав более 70% работы, по неведомым для меня причинам пропал и на связь не выходит…
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments3

MapReduce: более продвинутые примеры, попробуем без зауми

Reading time9 min
Views33K
Чтобы не откладывать в долгий ящик сразу порассказываю несколько других примеров для MapReduce, обещанные в топике "MapReduce без зауми". (Если не понимаете полностью что такое MapReduce — прочитайте тот топик сначала! Без него не разберетесь)

Поговорим тут о подсчетах национальностей в городах, средних оценках и приводах учеников, ТИЦ, PageRank, входящих ссылках, нишевых ключевых словах, словах-синонимах, социальных сетях и общих друзьях. Постараемся обойтись без математических знаков и зауми.

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

Входящие ссылки


Допустим у нас есть Интернет. В Интернете есть исходящие ссылки.

Допустим на входе у нас есть такие данные об ИСХОДЯЩИХ ссылках, собранные нашим паучком:

habrahabr.ru -> thematicmedia.ru, apple.ru, microsoft.com, ubuntu.com, yandex.ru
thematicmedia.ru -> habrahabr.ru, autokadabra.ru
autokadabra.ru -> habrahabr.ru, yandex.ru


Т.е. мы знаем, что Хабр ссылается на Apple, MS, Ubuntu и Яндекс но кто ссылается на Хабр? Да, вопрос примитивный, но все же разложим на MapReduce. Дальше будет интереснее и этот пример понадобится.

Читать дальше →
Total votes 94: ↑86 and ↓8+78
Comments7

Методы применения алгоритма нахождения максимального потока в сети

Reading time7 min
Views47K

Введение


Задача о максимальном потоке является классической и имеет множество применений. Напомню постановку проблемы. Дан взвешенный ориентированный граф с неотрицательными весами (пропускными способностями). Выделены две вершины: исток S и сток T такие, что любая другая вершина лежит на пути из S в T. Потоком назовем функцию F: V x V с такими свойствами
  1. Ограничение пропускной способности. Поток по ребру не может быть больше его (ребра) пропускной способности.
  2. Антисимметричность. Для каждого ребра (u, v): F(u, v) = -F(v, u).
  3. Сохранение потока. Для каждой вершины (кроме S и T), количество входящего потока (отрицательного) равен количеству исходящего потока (положительного). Тоесть, алгебраическая сумма потоков для каждой вершины (кроме S и T) равна нулю.

В этом посте вы можете ознакомиться с реализацией поставленной проблемы.

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

Читать дальше →
Total votes 44: ↑41 and ↓3+38
Comments14

Введение в Nitrode — выделенный HTTP-сервер

Reading time2 min
Views1.1K
Рад представить вам описание Nitrode.

Проблема:

Node.Js не включает в себя модуль FastCGI или аналогичные модули для интеграции приложений, в отличие от других HTTP-серверов, например, nginx.

Решение

Nitrode призван устранить этот пробел, предоставляя быстрый и универсальный HTTP-сервер, построенный на основе Node.JS. Он рассчитан на поддержку большинства основных возможностей nginx, но обладает дополнительным преимуществом, так как Nitrode написан на JavaScript и предоставляет API для существующих приложений, который позволяет осуществлять им полный контроль над сервером, не выходя из текущего процесса.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments7

CUBRID

Reading time4 min
Views3.5K
imageПоследнее время, в области баз данных, внимание сконцентрировано на интенсивно развивающихся NoSQL решениях. Складывается обманчивое впечатление, что в секторе реляционных СУБД затишье: основные продукты давно известны, все ниши заняты. Казалось бы, новому игроку сюда так просто не попасть. Только если речь идёт не о проекте с пятнадцатилетней историей, не о развитой объектно-реляционной СУБД с открытым кодом, оптимизированной для использования в веб-приложениях, не о системе, которая имеет поддержку хранимых процедур, партиционирование, опции высокой доступности, репликацию и распределённые транзакции. Имя этой «тёмной лошадки» — CUBRID. И, судя по заявлениям создателей, она претендует на лавры MySQL.
Так где же его прятали всё это время?
Total votes 60: ↑58 and ↓2+56
Comments21

Что такое генетический алгоритм?

Reading time1 min
Views24K
В рамках проекта Computer Science Student сегодня я постараюсь дать короткое наглядное объяснение: что такое генетический алгоритм? В самой простой и общей формулировке для решения самой простой задачи. Исходные коды решения (код не самый качественный, потому что писался на скорую руку; но код и не важен в этом курсе) и текст самих заданий доступен на CS-Student Wiki.

Первая часть


Вторая часть — под катом.
Читать дальше →
Total votes 104: ↑86 and ↓18+68
Comments100

Некоторые аспекты разработки платежных систем. Часть I. Трехзвенка без трехзвенки

Reading time2 min
Views3.6K

Мир тебе, %username%!


В этой серии постов я хочу рассказать о некоторых аспектах реализации платежной системы(а если повезет и двух), реально имевшей честь работать с середины 2000х в одном из городов нашей необъятной родины.
Что вообще такое ПС, и по каким принципам она должна работать? Я, как и заказчик, имел об этом представление лишь как пользователь WebMoney и платежных терминалов. Тем не менее, желание+деньги сделали своё дело и разработка началась.

Для начала, что вообще понималось под платежной системой и с чего началась разработка.
UPD:
Вторая часть!
Читать дальше →
Total votes 54: ↑38 and ↓16+22
Comments36

Каким надо быть руководителем? Секреты профессии

Reading time4 min
Views9.6K
Скажу сразу — «Америку не открываю», так же как не «изобретаю велосипед». Статья базируется на модели ситуационного лидерства Херси-Бланчарда. Сама модель в значительной степени изменена в применении к управлению именно ИТ-командами в нашей стране и подкреплена практическим опытом управления командами в Майкрософт Рус и в собственном бизнесе.

Выбирая между «академическим» и «популярным» стилями изложения выбрал «академический». Все таки разговор о серьезных вещах. Так что если эта тема Вам прямо сейчас не супер-актуальна — смотрите диаграммы, их достаточно для понимания идеи. Остальное — для достаточно узкой аудитории.
Читать дальше →
Total votes 101: ↑90 and ↓11+79
Comments50

Twitter публикует свой FlockDB

Reading time1 min
Views3K
Приятно, что многие крупные компании продолжают традицию выкладывать серьезные вещи из внутренней разработки в Open Source.
Недавно Twitter выложил FlockDB

" FlockDB это база данных, которая хранит данные о графах. В то же время это не база данных, оптимизированная для операций обхода графа. FlockDB оптимизирован для работы с очень большими списками смежных вершин графов, быстрого чтения и записи и постраничными арифметическими операциями над запросами (page-able set arithmetic queries)."

Основной задачей проекта было решить проблемы Twitter с работой с очень большими графами соц данных пользователей (followers, операции mention, etc.). Миграция завершилась 9 месяцев назад и вроде бы они всем довольны сейчас.



В настоящий момент система хранит 13 миллиардов рёбер графов и поддерживает 20 тыс. операций записи и 100 тыс. операций чтения в сек.
Более детально с продуктом можно ознакомиться по ссылке.
Исходники доступны на github.
Total votes 62: ↑60 and ↓2+58
Comments16

GRASP паттерны проектирования

Reading time4 min
Views236K
Почитать описание других паттернов.

GRASP (General Responsibility Assignment Software Patterns) — шаблоны проектирования, используемые для решения общих задач по назначению обязанностей классам и объектам.

Известно девять GRAPS шаблонов, изначально описанных в книге Крейга Лармана «Применение UML и шаблонов проектирования». В отличие от привычных читателю паттернов из Банды Четырех, GRAPS паттерны не имеют выраженной структуры, четкой области применения и конкретной решаемой проблемы, а лишь представляют собой обобщенные подходы/рекомендации/принципы, используемые при проектировании дизайна системы.

Рассмотрим характеристики основных GRASP шаблонов.
Читать дальше →
Total votes 57: ↑45 and ↓12+33
Comments24

Приложения iPhone с открытым кодом

Reading time4 min
Views31K
В данной статье речь пойдет о приложениях с открытым кодом, которые размещены в App Store. Мы будем рассматривать только приложения которые одобрены компанией Apple и опубликованы. Начинающие разработчики могут изучать их код для повышения своих навыков.

Читать дальше →
Total votes 135: ↑120 and ↓15+105
Comments41

Обновление контента IPhone приложения

Reading time3 min
Views11K
Многие мобильные приложения показывают пользователю контент с сервера, и этот контент можно показывать в онлайне и оффлайне. Работа в онлайне тривиальна — при определенном UI событии, приложение читает данные с сети и показывает их пользователю. Работа в оффлайне может быть гораздо интереснее — возможность работы с документами в метро и тп. Но работа вне сети приносит и проблемы: теперь необходимо проводить синхронизацию данных и этот процесс не должен блокировать интерфейс пользователя.

Элементы в исходном коде


— доступ к сетевым ресурсам
— обработка xml
— доступ к файловой системе
— работа с потоками
Читать дальше →
Total votes 49: ↑37 and ↓12+25
Comments8

Пользовательские типы в Hibernate

Reading time4 min
Views11K
Hibernate — это прекрасный ORM инструмент, который можно настроить практически под любые свои нужны. В этом топике я покажу, как можно хранить поля произвольного типа. Для примера, возьмем массив строк (String[]) и POJO объект, который мы хотим хранить в БД:
  1. public class StringArrayContainer {
  2.     private Integer id;
  3.     private String[] tags;
  4. //  Место для геттеров и сеттеров.    
  5. }

Для того, чтобы хибернейт мог сохранять в базу поле типа «массив строк» необходимо (и достаточно) написать класс, который реализует интерфейс UserType, а также сослаться на него в мэппинге (файл hbm.xml).
  1. public class StringArrayCustomType implements UserType {
  2. //  TODO: написать реализацию.  
  3. }

Читать дальше
Total votes 39: ↑34 and ↓5+29
Comments8

Советы по портированию iPhone-приложений на iPad

Reading time4 min
Views4.6K
Буквально несколько дней назад мне пришлось портировать одно небольшое приложение с iPhone на iPad. В целом все прошло довольно безболезненно, но было несколько граблей, на которые я не преминул наступить. Поэтому хотелось бы представить несколько советов по упомянутому выше портированию. За основу взята эта небольшая статья, дополненная некоторыми моими собственными советами и замечаниями.
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments16

Всплывающие окна. Работа с UIPopoverController

Reading time4 min
Views6.8K
В iPhone SDK 3.2 было добавлено несколько новых элементов интерфейса, таких как UIPopoverController и UISplitViewController.
В этом посте я покажу как пользоваться UIPopoverController.
Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments7

Realaxy Actionscript Editor

Reading time2 min
Views3.2K
image

Realaxy ActionScript Editor, пожалуй один из самых ожидаемых ActionScript редакторов.
Создатели наши, небезызвестные люди в RuFlash сообществе — Иван Дембицкий и Евгений Потапенко.

Бета-версия казуального редактора Realaxy ActionScript Editor (RE) будет представлена разработчикам на конференции Creative Future в Москве 23 апреля.
Читать дальше →
Total votes 61: ↑52 and ↓9+43
Comments48
12 ...
8

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity