Яндекс.Метрика

Песочница

Песочница

Как стать разработчиком или путь к junior

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

Могу только добавить что я недавно добрался до Кнута и очень жалею что приступил к его «Искусство программирования» только сейчас.

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

К сожалению такую простую вещь я осознал далеко не сразу.

Учеба в ВУЗ


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

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

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

Мой совет будет звучать так: начинайте заниматься тем что вам нравится, если ещё не определись то пробуйте себя в разных областях. И это не обязательно должна быть работа, это может быть помощь в разработке или написание своих open source проектов. Может это переводы статей, рисование в Photoshop и верстка или сборка Gentoo главное на данном этапе не зацикливайтесь на деньгах, стажировках и вашей специальности, просто занимайтесь любимым делом.

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

Первая работа


Пожалуй это один из важнейших этапов становления специалиста.

Обычно тут советуют: «устраивайтесь куда угодно на копейки и набирайтесь опыта», Скажу сразу не следуйте этому совету, к выбору первой работы нужно подходить с умом.

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

Вариант два, вам предлагают неплохую ЗП (обычно черную), вроде интересные задания, молодой амбициозный коллектив и т.д. И все вроде бы неплохо, ты приходишь начинаешь работать тебе дают новые и новые заказы, но оказывается что все эти заказы нужно выполнить как можно быстрее, в основном в фирме работают менеджеры и красивые коробки а ты смотришь по сторонам и понимаешь что всю дорогу ты плодил говно код копипастом или штамповал 100500й магазин на бритиксе. Только вот что интересно, когда ты это понимаешь то тебе уже наплевать потому что ты заработаешь больше среднего и что то менять ой как не охота. Обычно это практика веб контор или программирование под 1с.

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

Я не рассмотрел ещё один вариант, пойти в крупную IT компанию, он не рассматривался по банальной причине у нас в городе из таких есть только ISP systems. К ним я хоть и ходил на собеседование, но они к сожалению на другом конце города туда не наездишься в -45. Думаю ситуация в других городах не лучше.

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

Песочница

Поднимаем FreeBSD 8.2+ на ZFS root с зеркалированием используя GPT с помощью Rescue-System в Hetzner

Не так давно один из моих клиентов решил перенести свои проекты из российского датацентра в Германию в компанию Hetzner. Им был выбран выделенный сервер в конфигурации EX 4S (i7 2600, 32Gb ram, 2x3Tb), за какие то совершенно смешные деньги.
И так как и в дальнейшем планировалось еще докупать аналогичные сервера, решил собрать нужную информацию в единую заметку. Данная заметка является скорее компиляцией и переводом нескольких статей которые мне пришлось использовать когда первый сервер был установлен + что немного от себя.

Наверное не так мало системщиков, которые бы не знали компанию Hetzner. По мимо низких ценников, у них довольно интересно реализована замена недешевой KVM-IP, в виде загрузочных образов систем названных Rescue System. И так как FreeBSD при заказе сервера они сами не устанавливают, то единственный способ установить систему это воспользоваться данной возможностью.

Так что приступим:

Песочница

Организация работ с подрядчиками в ИТ

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

Песочница

Мини web-краулер. Качаем книгу из интернета

Преамбула

Поскольку большинство книг я читаю с наладонника, книги нужно где-то качать. Большинство интересующих меня книг можно найти в сетевых библиотеках в формате txt, html, fb2 или другом текстовом. Бывают случаи, когда книга разделена на несколько страниц и лежит на каком-нибудь сайте, где возможность скачать целиком не предусмотрена. В этом случае можно сохранить каждую html страницу вручную, но такой способ имеет два важных недостатка. Во-первых, если книга разделена на 15-20 страниц, сохранение вручную займёт много времени и будет раздражать. Во-вторых, вместе с текстом книги мы получим кучу всякого мусора — текст, не относящийся к книге, таблицы, скрипты, ссылки на другие сайты и прочую муть.

Чтобы упростить себе жизнь, мы напишем программу, которая скачает книгу для нас. Из сказанного выше следует, что нам нужна программа, которая: а) скачает в нужном порядке все страницы, по которым разбросана книга; б) с каждой страницы возьмёт только тест и ничего лишнего и в) сохранит весь текст книги в одном html-файле.

В качестве примера мы возьмём книгу Владимира Плунгяна «Почему языки такие разные. Популярная лингвистика». Я нашёл только одну сетевую бибилотеку, где её можно скачать в текстовом формате, да и там требуется регистрация, поэтому мы скачаем её по указанной ссылке с помощью программы, о которой речь пойдёт дальше. Для написания программы мы используем язык программирования Python. Я использовал Python версии 2.6. Эту или более новую версию можно скачать бесплатно на официальном сайте.

Песочница

Прячем Bash скрипты

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

Песочница

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

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

В связи с этим появились даже радикальные подходы, когда предлагается делать дизайн в первую очередь для мобильных платформ, а потом уже задумываться о большом вебе (http://www.lukew.com/resources/mobile_first.asp). Это красивая концепция, но суровая правда жизни в том, что многие сервисы уже существуют в веб варианте и им необходимо шагнуть в мобильный мир.

Песочница

Исследование через функциональное тестирование

Предисловие


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

Зачем планировать

Вне зависимости от того, в какой среде вы работаете, будь то гибкая среда разработки (agile) или традиционные подходы, например waterfall существуют deadline в течении которго необходимо желательно закончить работу. В Scrum, например deadlinом будет являться спринт. В любом случае, команда или разработчик предоставляют обязательства перед заказчиком, и эти обязательства нужно выполнять, в противном случае штрафных санций со стороны заказчика не избежать.

Планирование технических задач

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

Песочница

Радикальное кеширование в Joomla 1.5

image

Бесплатная CMS это всегда компромисс, компромисс между целым рядом очевидных факторов, перечислять которые в рамках данного ресурса смысла пожалуй нет, т.к. они всем давно известны. Безусловно, среди всего разнообразия бесплатных СМS можно выделить некоторые, которые будут лучше или хуже в каких-то отдельных номинациях, вроде скорости работы, простоты освоения новичком и т.п. Но в данной статье речь не об этом. Я просто хочу поделиться опытом успешного решения проблемы скорости генерации страниц в Joomla с помощью кеширования. Причём кеширования очень радикального, на «уровне» index.php.

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

Песочница

Централизованный syslog

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

Песочница

Как написать статью, используя UX и GTD

Сразу оговорюсь: это просто статья о том как написать статью. С какого боку тут всякие сокращения будет понятно чуть позднее.

У многих (у меня так точно) периодически возникает желание организовать и связно изложить свои разрозненные мысли по поводу какой-нибудь софтинки, идеи проекта, улучшения рабочего процесса, да много чего еще. Однако далеко не все желания превращаются в законченные статьи или презентации. Так в чем же проблема?

Песочница

Новый вид конкуренции среди мобильных приложений

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

Песочница

QML и C++. Простой пример связки

image
QML технология красивая и радует глаз. Меня она очень заинтересовала, и я решил ее освоить. Но не тут то было, ибо я оказался тупым и беспомощным. Нигде в сети не нашел примера «для чайников» (наверно плохо искал), чтобы с нуля построить простейшее приложение QML и C++ в связке. Везде чего-то не хватало: или не учитывался Qt Creator, или код выдавал ошибки, или отсутствовали целые моменты, которые пользователи должны были сами знать. Официальная документация и примеры здесь на хабре также были с этими недостатками. Вот и решил после долгих попыток и ошибок написать такую статью для начинающих с подробнейшим описанием.

Задача. Нужно написать программу QML в связке с С++, где
1. На форме располагается кнопка, строка ввода, и поле вывода.
2. Требуется считать из строки ввода число, прибавляется 1, и ответ выводится в поле вывода.
3. Интерфейс написан на QML.
4. Функционал на С++, то есть нам нужно обеспечить взаимосвязь между QML и C++: кнопка QML вызывает С++ функцию, а функция меняет свойства QML объектов.

Песочница

Пользовательский интерфейс на базе Twitter Bootstrap для начинающих

Аннотация


В статье я попробую рассказать о том, как на базе Twitter Bootstrap можно очень легко реализовать приятный пользовательский интерфейс небольшого (одностраничного) web-приложения, владея лишь базовыми знаниями html. Сразу предупреждаю, специалистам будет не интересно, речь пойдет о базовом стандартном функционале.

Песочница

Диспетчер произвольных сообщений на базе google protocol buffers

Появился свободный день, и я решил поиграться с библиотекой google::protobuf. Данная библиотека предоставляет возможность кодирования и декодирования структурированных данных. На базе этой библиотеки я построю простенький диспетчер, который может обрабатывать любые сообщения. Необычность данного диспетчера состоит в том, что он не будет знать типы передаваемых сообщений, и будет обрабатывать сообщения только с помощью зарегистрированных обработчиков.

Песочница

Авторизующий прокси под Windows (+ нормальная работа Opera с NTLM как бонус)

На написание данного топика меня сподвигли следующие особенности моего жизненного пути:
  • Пару лет назад я устроился на работу в достаточно крупную компанию, где познакомился с прокси в целом и прокси с авторизацией в частности и узнал о косяках Opera в такой среде
  • Админы заставляют нас менять пароль в домене\на прокси достаточно часто
  • Похожей статьи на Хабре не нашлось:) — надеюсь, что кому-то эта инфа будет полезна

Предыстория


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

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

Песочница

Google Chrome Extensions — Локализация!

Пролог


Как всегда, хочу начать издалека, с небольшой предыстории. Классически я всегда пользовался браузером Opera. Старушка никогда не подводила: вкладки, скорость, удобство — тогда это были основные отличительные черты браузера. Более года назад, когда я из-за чистого интереса попробовал Chrome, мной не могли быть не замечены его преимущества. Однако еще тогда мне показалась совсем неудобной панель быстрого запуска (еще бы, в опере была конфигурируемая, масштабируемая, удобная панель быстрого запуска). Чтобы решить эту проблему, приобрести опыт программирования расширений, а так же ради знакомства с документацией от Google, мне захотелось написать свое первое расширение. И это интересно, скажу я вам! Поработать с грамотной документацией, применить знания HTML + CSS + JS (для прикладного программиста знания необязательные). И, как мне недавно показалось, одно расширение доросло для того, чтобы им поделиться. Но чтобы это сделать, мне пришлось его локализовать! Об этом и топик ;)

Песочница

Гракон — гражданский контроль за выборами

Привет Хабровчане!

Какими бы не были ваши политические взгляды (многих уже тошнит от слова «политик»), мало кто сейчас может оставаться равнодушным к тому, что происходит у нас в стране. Каждому из нас, независимо от того, за кого мы будем голосовать, важно, чтобы выборы были максимально честными. Понимая это, пару месяцев назад мы начали писать сайт, который поможет скоординировать наблюдателей, юристов для контроля за выборами — grakon.org.

Песочница

Полу-Prezi за 10 минут в .NET и WPF

Речь пойдёт о создании программы для воспроизведения презентации по типу веб-сервиса Prezi, хотя подобную концепцию можно было видеть ранее в PowerPoint 2010 в одном из стандартных темплейтов.

Отличие от обычной презентации в виде слайдов — наличие сплошного фона, как-бы полотна для контента, где перемещение от одной области с содержанием к другой происходит посредством перемещения, приближения и поворота.



Песочница

Онлайн конвертер документов и не только

Имея в наличии бесплатную PDF версию книги вряд ли захочется покупать ее в формате mobi (бесплатную версию в mobi зачастую бывает очень трудно найти). Но PDF не очень, мягко говоря, читабелен в электронной книге (насчет всех брендов и их версий я утверждать не буду, однако в моем Kindle с этим дело обстоит очень плохо — не приспособлен он к PDF и ничего тут не поделаешь).