Search
Write a publication
Pull to refresh
36
0
Бабинин Антон @Kyborg2011

Full Stack Web Developer

Send message

Английский для айтишника? Легко!

Reading time2 min
Views183K
Эта тема не относится к IT напрямую, но все знают, что без нее никуда. К сожалению, далеко не у всех есть возможность изучать английский с преподавателями. Ну что ж, попробуем заняться этим дома и с максимальной отдачей!
Читать дальше →

Еще раз про IP-адреса, маски подсетей и вообще

Reading time7 min
Views1.5M
Чуточку ликбеза. Навеяно предшествующими копипастами разной чепухи на данную тему. Уж простите, носинг персонал.

IP-адрес (v4) состоит из 32-бит. Любой уважающий себя админ, да и вообще айтишник (про сетевых инженеров молчу) должен уметь, будучи разбуженным среди ночи или находясь в состоянии сильного алкогольного опьянения, правильно отвечать на вопрос «из скольки бит состоит IP-адрес». Желательно вообще-то и про IPv6 тоже: 128 бит.

Обстоятельство первое. Всего теоретически IPv4-адресов может быть:
232 = 210*210*210*22 = 1024*1024*1024*4 ≈ 1000*1000*1000*4 = 4 млрд.
Ниже мы увидим, что довольно много из них «съедается» под всякую фигню.


Записывают IPv4-адрес, думаю, все знают, как. Четыре октета (то же, что байта, но если вы хотите блеснуть, то говорите «октет» — сразу сойдете за своего) в десятичном представлении без начальных нулей, разделенные точками: «192.168.11.10».

В заголовке IP-пакета есть поля source IP и destination IP: адреса источника (кто посылает) и назначения (кому). Как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок. Разделителей между октетами тоже нет. Просто 32-бита на адрес назначения и еще 32 на адрес источника.
Читать дальше →

Стоит ли быть «успешным»?

Reading time6 min
Views49K
Как надоели эти тематические статьи о повышении результативности, мотивации и прочей чепухе. Зачем люди их пишут? Чтобы помочь тем, кто запутался в себе? Для тех, кому тяжело сосредоточиться? Вряд-ли это так.

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

Секрет золотого миллиарда

Reading time3 min
Views10K


Есть на свете люди, которые верят в мировые заговоры и тайные общества.

Они в каждой собственной неудаче видят руку врага. Боже мой, мои сожаления.

А теперь поговорим о правде. Как же так получается, что кто-то постоянно в проблемах, а кто-то постоянно в развитии?
Читать дальше →

Аспекты HTML & CSS

Reading time4 min
Views8.8K
В данном материале собраны аспекты, которые полезно знать и помнить html developer-у. Часть вопросов посвящена IE — сам отказался от поддержки IE6, однако знать особенности его поведения не будет лишним.
Читать дальше →

Микроэлектроника – мотивации псто

Reading time8 min
Views50K
image

Дисклаймер


Мне нравится заниматься микроэлектроникой. Причем я даже не уверен, что я правильно использую слово «микроэлектроника» — может быть, я занимаюсь совсем не ей. Может быть я занимаюсь схемотехникой. Или программированием. Или программированием микроконтроллеров. Или сборкой электронных устройств. Или еще бог знает чем. Но для себя то, что я делаю, я называю микроэлектроникой – мне лень пойти почитать определение и сопоставить с тем, что я делаю — да простят меня сведущие и, возможно, обидевшиеся.
Несмотря на то, что я занимаюсь микроэлектроникой и уделяю этому занятию достаточно много времени на протяжении почти трех лет – я все еще начинающий с массой больших пробелов в знаниях. Но кое-что у меня получается и я стараюсь разобраться в вопросах, в которых все еще не разбираюсь.
Решил я написать этот пост потому, что вижу с одной стороны большой интерес к «ардуино-постам», трепет при виде мигающего светодиода, а с другой стороны какой-то непонятный мне страх самостоятельно взять и сделать что-то. Ребята, от страхов нам надо избавляться.
Читать дальше →

Необычные поздравления с днем программиста — 2

Reading time3 min
Views8.2K
Я хочу продолжить традицию, начатую год назад вот этой статьей (кстати, мне очень приятно, что ее еще помнят), и рассказать о еще нескольких способах сделать свое поздравление необычным и профессиональным. На этот раз я вывожу просто «congrats» — условно-нетрудоемкие способы закончились еще в том году.

Способ 1. Магический


В этой номинации традиционно выступают профессиональные фокусы на совершенно нормальных языках, которыми мы пользуемся каждый день, в данном случае — С++ (можно и просто C).

#include <stdio.h>
int main()
{   int A = 10, B = A^1937006968, C = B^337251857;
    printf((char *)&C);
} 


Disclaimer. Этот фокус использует низкоуровневые манипуляции с памятью; результаты могут варьироваться в зависимости от архитектуры компьютера и используемого компилятора.

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

С Днем программиста!

Reading time1 min
Views16K


Доброго времени суток, уважаемое Хабрасообщество.

Во Владивостоке уже утро 13-ого сентября, 256-ого дня года. А это значит, что в России в третий раз наступил День программиста — профессиональный праздник для многих из нас.
Я уверен, что почти каждый, читающий эти строчки — в какой-то мере программист. Не имеет значения, работает ли он разработчиком в крупной IT-компании, или просто писал когда-то давно змейку на PROLOG'e, участвует в opensource-проектах или всего лишь их использует.

Сегодня хочется пожелать всем вам благодарных пользователей, уважающих клиентов и, разумеется, кода, понятного не только компьютеру, но и людям. Как говорил кто-то из неизвестных авторов, «пишите код, исходя из того, что все программисты, которые будут сопровождать вашу программу, — склонные к насилию психопаты, знающие, где вы живете».
Так поднимем же бокалы с пенным напитком во славу «байтов, килобайтов и прочих терабайтов»!

С Днем программиста, друзья!

Топик якобы из песочницы

Reading time1 min
Views8.1K
Итак, кроме обычных топиков есть еще и топики из песочницы, при этом их можно публиковать с какой угодно кармой, так что можно опубликовать топик с кармой меньше нуля, для этого (далее на примере хрома): лезем в Developer Tools -> Element -> Search topic-type, меняем значение поля на sandbox и вуаля, топик якобы из песочницы, как подтверждение теории я публикую этот топик с кармой -4.

P.S. т.к. мне терять нечего то если меня забанят то пусть так и будет.

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

Портрет Нуба

Reading time17 min
Views6.5K
Чем старше я становлюсь, тем менее важной становится запятая. Пусть читатель сам решает, где ему ставить паузы. — Elizabeth Clarkson Zwart


Примерно так я комментировал свой код двадцать лет назад (внимание, чуток драмы):

/*
 * Когда мы дойдем сюда, наша структура уже будет готова. 
 * К тому же, мы создали достаточно большой буфер, в который 
 * можно засунуть все входные данные, плюс есть немного места
 * про запас. Я не уверен, понадобится ли оно, но хуже не будет. 
 * Теперь нам надо обновить счетчик, предполагая, что клиент 
 * уже прочитал значение, но еще не использовал его. Сначала 
 * я хотел переложить обязанность инкремента на плечи вызывающего
 * кода. С другой стороны, это означает, что инкремент нужно делать всем, 
 * поэтому я решил, что будет лучше перенести его сюда. Но мы можем 
 * пересмотреть это решение позже, если вдруг кому-то из внешних функций 
 * захочется делать инкремент самому.
*/
counter++; // инкрементировать счетчик для потребляемого значения

/*
 * Теперь нужно просмотреть весь буфер с данными. Для этой 
 * операции нам понадобится еще один индекс, иначе перед 
 * выходом из функции мы потеряем начальное значение. 
 * Я хотел назвать эту переменную ‘ref’, потому что в некотором
 * смысле мы будем обращаться с ней как со ссылкой на данные. 
 * В конце концов я пришел к выводу, что самым лучшим  
 * названием для нее будет ‘pos’. Если что, я не против обсудить
 * это решение.
*/
char* pos = buffer; // начинаем наш обход данных

/*
Теперь, мы...
*/


Ну что, узнаете? А должны! Если быть предельно невежливым, весь код выше написал нуб. (Между прочим, если вы не знаете, кто такой нуб, значит вы — нуб).

Читать далее

Сервис просмотра захабренных картинок

Reading time1 min
Views788
Я давно хотел написать какой-нибудь простой сервис, завязанный на материалы, публикуемые на хабре. Вчера мне в голову пришла довольно таки простая идея — выводить популярные картинки из комментариев. Итак, встречайте: habhab.ru — сервис просмотра захабренных картинок.

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

UPD: Добавил также вывод захабренных ссылок: habhab.ru/links

Интернет-кинотеатр ivi.ru запустил приложение для Android

Reading time1 min
Views1.6K
Привет, Хабр! Мы поняли, что давно на Хабре давно ничего не было про ivi.ru. Решили исправить это досадное недоразумение, тем более что сегодня мы выложили в Android Market наше первое приложение для мобильных устройств.

QR код на скачивание для удобства:

image

Поддерживаются большинство телефонов на Android от 2.1. Будем очень признательны за найденные баги, неподдерживаемые модели (к сожалению, бывает, что даже на двух одинаковых моделях телефонов с одинаковой версией Android приложение ведет себя по-разному).

В следующей версии сделаем персонализацию, историю просмотров, избранное и многое другое.

P.S. Предвидя вопросы, сразу скажем, что iOS уже на подходе.

P.P.S. Предвидя еще вопросы, сразу скажем, что только для России, насчет остальных стран пока информации не предвидится, к сожалению.

Произносим правильно

Reading time2 min
Views153K
Из знакомых мне айтишников очень немногие стараются правильно произносить английские слова. Конечно, привычнее произносить C++ как «си-плюс-плюс», а не «си-плас-плас» или «опен-бэ-эс-дэ», а не «оупэн-би-эс-ди».
Но когда «echo $value;» читают как «ечо валуй» — это уже не смешно. Другой человек вас может просто не понять, особенно иностранец.

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

♫ — прослушать произношение в словаре
► — прослушать произношение на youtube

Начнем с названий:
ABBYY аби
Adobe эдоуби [əˈdəʋbɪ]
Apache эпэчи [əˈpætʃiː] от «a-patchy»
Asus офиц. э́сус
амер. э́йсус

 
BenQ бенкью
Cisco сискоу [ˈsɪskoʊ]
EBay ибэй
Eee PC и писи
Ethernet изэрнэт [ˈiθərˌnɛt]
Itanium айтэйниум [aɪˈteɪniəm]
Juniper джу́нэпэр [ˈdʒunəpər]
LaTeX лэйтех
лэйтек
латех
латек
[ˈleɪtɛk]
['leɪtɛx]
[ˈlɑːtɛx]
[ˈlɑːtɛk]
Linux офиц. линэкс
вар. линукс
[ˈlɪnəks]
[ˈlɪnʊks]

 
Mac OS X мэк оу-эс тэн
MySQL офиц. май-эс-кью-эл
вар. май-сиквел
как «My Ess Que Ell», см. оф. сайт
nginx энджин-икс (от engine-x)
PuTTY пати [ˈpʌtɪ] см. оф. сайт
Qt кьют [kyut] см.
TeX тех
тек
[ˈtɛx]
[tɛk]
не «текс»
XBox 360 экс-бокс фри сискти
Xen зен [ˈzɛn]
Xeon зион
Xerox зирокс [ˈzɪərɒks]
Xilinx зайлинкс [ˌzaɪliːŋks]
ZyXel рус. зайксел
амер. зайзел
см.


Аббревиатуры:
GNU гну вар. гню
GWT гвит [ˈɡwɪt]
ICANN айкэн
IEEE ай-трипл-и как «I triple E»
ISO айсо
PNG пинг [ˈpɪŋ] как «ping», см. спецификацию
PXE пикси [ˈpɪksi]
RUP рап
SCSI скази ['skʌzi]
SOAP соуп [soʊp]
SQL эс-кью-эл [ˈɛsˈkjuˈɛl] неофиц. «сикуел»
SWF свиф [ˈswɪf] см. спецификацию
WYSIWYG визивиг [ˈwɪziˌwɪg]
XAML зэмл [ˈzæməl]
XUL зул [ˈzuːl]
Yii длинное «и» [ji:]

Обычно аббревиатуры произносятся по правилам английского языка: API — эй-пи-ай, PCMCIA — пи-си-эм-си-ай-эй, OpenBSD — оупен-би-эс-ди и т.д.

Обычные слова дальше

Создание операционной системы на базе ядра linux. С нуля

Reading time7 min
Views214K
Рано или поздно каждый пользователь Линукса задумывается над созданием собственного дистрибутива. Некоторые аргументируют это тем, что можно «все настроить под себя». Другие сетуют на то, что среди уже представленных дистрибутивов в Ветке нет идеального. А у них, якобы, есть суперконцептуальные идеи для собственной системы. Зачем я всю эту психологию затеял? Для того, чтобы сразу перекрыть кислород играющимся с Линуксом новичкам, которым делать нечего. Если уж задумались над созданием ОС, думайте до конца. Итак,

Я хочу создать ОС на базе Linux.
Сразу предупреждаю: был бы XVIII век, всех тех, кто для основы своей будущей системы выбирает другой развитый дистрибутив (и, не дай Бог, популярный...) ждала бы виселица. Пост именно про создание системы с нуля, а значит, всякие Slax и Linux Mint мы трогать не будем.
Читать дальше →

Трех-степенной манипулятор на Arduino

Reading time5 min
Views37K
Множество интересных статей имеется про платформу Arduino, которую можно смело заказать на интернет аукционе Ebay. К данной платформе имеется множество модулей и статей в интернете, поэтому захотелось сделать что-то интересное, пусть и не всегда полезное в быту.
image
Читать дальше →

Линукс — это Юникс?

Reading time4 min
Views28K

Часть 1


В первой части истории о взаимоотношениях Линукса и Юникса вы узнаете о богатой истории Юникса, которая определяет, чем он является и кому принадлежит.

Линукс это Юникс?


Если вы задаетесь этим вопросом, значит вы находитесь в одном ряду с многочисленными Линукс и Юникс разработчиками, администраторами и пользователями. Каков приговор? Суд так и не может принять окончательное решение. С виду это простой вопрос, но задайте его 10 людям, и вы получите 10 разных ответов. Суть проблемы заключается в том, как каждый человек по-разному представляет эти понятия. Некоторые думают, что это наборы стандартов, другие, что это сообщества, третьи — вообще торговые марки. Откровенно говоря, Линукс и Юникс — это все эти вещи одновременно.
Читать дальше →

Работа с SurfaceView в Android

Reading time5 min
Views100K
Здравствуйте, Хабравчане!
При работе с 2D графикой в Android отрисовку можно выполнять используя Canvas. Проще всего это сделать с помощью своего класса, унаследованного от View. Необходимо просто описать метод onDraw(), и использовать предоставленный в качестве параметра canvas для выполнения всех необходимых действий. Однако этот подход имеет свои недостатки.
Читать дальше →

Фикс падения производительности при копировании/закачке файлов в Ubuntu

Reading time4 min
Views20K
Уже не помню, когда начились проблемы с производительностью при копировании файлов, но тогда я этому не придал большого значения так, как копировал файлы редко. Относительно недавно в моем распоряжении появилось высокоскоростное подключение к сети Интернет и теперь я часто копирую/качаю большие файлы и проблема падения производительности для меня стала очень актуальной.

Поверхностный гуглеж не дал результатов и я начал копать глубже, оказалось, что проблемы высокой нагрузки CPU есть у многих убунтоводов, если не у всех, а решение данной проблемы быстрым поиском не находится, поэтому я решил написать небольшой how-to по устранению высокой нагрузки на процессор при копировании файлов.
Читать дальше →

Information

Rating
Does not participate
Location
Херсон, Херсонская обл., Украина
Date of birth
Registered
Activity