Только о двух вещах мы будем жалеть на смертном одре — что мало любили и мало путешествовали.
Марк Твен.
Человека делают счастливым три вещи: любовь, интересная работа и возможность путешествовать…
Иван Бунин
Показаны сообщения с ярлыком java. Показать все сообщения
Показаны сообщения с ярлыком java. Показать все сообщения

вторник, 27 сентября 2011 г.

Подарочек на три месяца!

Ну что ж! А вот и подарок мне на три месяца!!! Я получила хороший job offer на позицию Junior Java developer. 
Пыталась пыталась я пробиться в SAP  , SAP меня не хотел принимать к себе. И после двух месяцев безуспешных собеседований и разговоров с рекрутерами, решила попробовать действовать в другом направлении, так как опыт работы с java у меня был. Две недели назад обложилась кнжками (очень помогла эта книга - почти все вопросы были везде отсюда) , переделала резюме, стала снова читать давно забытые профессональные форумы, подняла свой старый проект - посмотрела исходники, вспомнила html, css, javascript и ajax. Приложила максимум усилий, так как деньги подходили к концу и надо было определяться с жильем.
В ход снова пошли dice, monster, careerbuilder и craiglist. И понелось - звонки от рекрутеров и от небольших компаний. Пара проваленных технических интервью по телефону - после которых я знала свои слабые места, и усиленно их проработала. И наконец на прошлую пятницу было назначено F2F интервью (после телефонного технического интервью) в Rockville, MD. Свет не ближний. Пришлось встать рано, чтобы к часу дня быть там. Интервью длилось 5 часов - меня собеседовали американцы, русские, индусы. Логические задачки, JAVA core, J2EE, html, javascript, SQL. Ответила не на всё, но на большинство. Почти все задачки заключались в написании кода на доске. И вот сегодня с утра - мне позвонили и сказали, что компания во мне заинтересована. Поговорили о деньгах - сошлись на определенной сумме (не хуже кстати чем в SAP).
И вот - контракт W2 на 6 месяцев с последущим переводом на фул тайм с salary.
Так что в связи с этим переезжаю в Rockville, MD.
Поздравляю себя саму с таким замечательным подарком 

вторник, 25 мая 2010 г.

Пара задач на смекалку

Как не используя циклы распечатать все числа от 1 до 1 000 000 ? smile

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

воскресенье, 9 мая 2010 г.

File System in JDK 7

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

1. The Java NIO.2 File System in JDK 7

2. NIO.2 уже в JDK7!

С Днём Победы!!!

пятница, 7 мая 2010 г.

Получаем версию файла (exe, dll) с помощью java

Столкнулась я с такой проблемкой - как получить версию файла (exe и dll) на java. Ведь обычными стандартными средствами определить это нельзя, а только лишь можно узнать размер, дату последней модификации и некоторые другие свойства файла. Это описано тут.
Покопавшись на форумах и всё хорошенько прогуглив :) - нашла два таких выхода - JNI и JNA. Остановилась на втором варианте, так как на С++ писать специальную dll ну уж очень не хотелось, хотелось всё решить с помощью java и обращаться напрямую к version.dll (C:\WINDOWS\system32).
В итоге решение сводится к такой связке GetFileVersionInfo - GetFileVersionInfoSize - VerQueryValue. Долго пришлось поразбираться с функцией VerQueryValue - сложность была в том, что версии файлы зависят языка и необходимо было хитрым способом получить LANGANDCODEPAGE.В итоге получился такой класс:
package upload;

import com.sun.jna.Native;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;
import com.sun.jna.ptr.PointerByReference;
import com.sun.jna.win32.StdCallLibrary;
import java.io.IOException;

/**
*
* @author samozvanka
*/
public class Win32GetFileInformation
{
//+ declare before using
private static byte[] Hexhars = "«0123456789abcdef".getBytes();

public String FileVersion;
private String LanguageCodePage;
private PointerByReference InfoData;

public interface Win32VersionDLL extends StdCallLibrary
{
Win32VersionDLL INSTANCE = (Win32VersionDLL) Native.loadLibrary(
"Version", Win32VersionDLL.class);

Integer GetFileVersionInfoSizeA(String FilePath, IntByReference Handle);

Boolean GetFileVersionInfoA(String FilePath, int Handle, int InfoSize,
PointerByReference InfoData);

Boolean VerQueryValueA(PointerByReference InfoData,
String VersionInformation, PointerByReference VersionData,
IntByReference DataSize);
}

public void Win32GetFileInformation(String FilePath) throws IOException
{
IntByReference unusedParam = new IntByReference();

int infoSize = Win32VersionDLL.INSTANCE.GetFileVersionInfoSizeA(FilePath, unusedParam);
if (infoSize == 0)
{
throw new IOException("File does not exist or has no information.");
}

this.InfoData = new PointerByReference();

Boolean success = Win32VersionDLL.INSTANCE.GetFileVersionInfoA
(
FilePath,
unusedParam.getValue(),
infoSize,
this.InfoData
);

//+ Assert(success, "GetFileVersionInfoA in Win32GetFileInformation is failed")

PointerByReference versionDataByRef = new PointerByReference();
IntByReference dataSize = new IntByReference();
Pointer versionDataPointer = null;

// Retrieve the language information
success = Win32VersionDLL.INSTANCE.VerQueryValueA
(
this.InfoData,
"\\VarFileInfo\\Translation",
versionDataByRef,
dataSize
);

//+ Assert(success, "VerQueryValueA in Win32GetFileInformation is failed")

System.out.println("DataSize.getValue() = " + dataSize.getValue());

versionDataPointer = versionDataByRef.getValue();
byte[] codePageBytes = versionDataPointer.getByteArray(0, dataSize.getValue());
byte BSwap;
// swap 0<->1 and 2<->3
BSwap = codePageBytes[1];
codePageBytes[1] = codePageBytes[0];
codePageBytes[0] = BSwap;
BSwap = codePageBytes[3];
codePageBytes[3] = codePageBytes[2];
codePageBytes[2] = BSwap;
// got 1,0,3,2

this.LanguageCodePage = decode(codePageBytes).toUpperCase();

//// Retrieve file information
this.FileVersion = QueryValue("FileVersion");

System.out.println("FileVersion = " + this.FileVersion);

}

private String QueryValue(String ValueName)
{
IntByReference dataSize = new IntByReference();
PointerByReference versionDataByRef = new PointerByReference();
Pointer versionDataPointer = null;
Boolean success = Win32VersionDLL.INSTANCE.VerQueryValueA
(
this.InfoData,
"\\StringFileInfo\\" + this.LanguageCodePage + "\\" + ValueName, //"
versionDataByRef,
dataSize
);

//+ Assert(success, "VerQueryValueA in Win32GetFileInformation is failed")

versionDataPointer = versionDataByRef.getValue();
if (versionDataPointer == null)
{
return "";
}
else
{
versionDataPointer = versionDataByRef.getValue();
return versionDataPointer.getString();
}
}

private static String decode(byte[] encodedString)
{
StringBuilder result = new StringBuilder(2 * encodedString.length);

for (int i = 0; i < encodedString.length; i++) { int v = encodedString[i] & 0xff;

result.append((char) Hexhars[v >> 4]);
result.append((char) Hexhars[v & 0xf]);
}

return result.toString();
}
}

* This source code was highlighted with Source Code Highlighter.

пятница, 9 апреля 2010 г.

Sun Tech Days 2010

Побывала я вчера на данном мероприятии. Общие впечатления - не организованно, толпа народу. На пленарный доклад я попала. Он мне понравился. Хоть он проходил целиком на английском, а мои знания языка оставляют желать лучшего, - я многое поняла. Женщина интересно рассказывала про JAVA FX. Вообще, этой технологии на конференции было посвящено много докладов - пиар в чистом виде. Обещанный приезд создателя JAVA на конференцию не состоялся, такое ощущение, что этот приезд придумали изначально для пиара и зазывания людей на конференцию. Народу было около 3000 человек, а пространства мало) Стенд ни один меня не впечатлил. До еды не добраться. Вообщем, собиралась посетить 2 дня, но хватило полдня. Если сравнивать с конференцией от Microsoft "Герои среди нас" (первой конференции, которую я посетила), на которой я была в 2008 году, то просто день и ночь. Микрософт молодцы - народу левого было не так много, всем всего хватило, интересные стенды, большие залы, всем хватило мест. Тут же я хотела послушать про JDK 7 , так не то что встать в зале и слушать, так даже пройти в него было нельзя - не затолкнуться. Вообщем, ох и ах, но это ИМХО. Хотя судя по твиттеру, многие были не в восторге.

четверг, 25 марта 2010 г.

Sun Tech Days

8 и 9 апреля 2010 года в Санкт-Петербурге состоится ежегодная конференция Sun Tech Days, которую корпорация Sun Microsystems проводит по всему миру уже более 10 лет.

Я зарегистрировалась и планирую посетить оба дня. Записалась к тому же на парочку мастер-классов - Хранимые процедуры MySQL и Приложения с графическим интерфейсом и анимацией на JavaFX. Посмотрим чему там меня научат. Если кто-то из читателей блога планирует посетить это мероприятие буду рада там с вами встретиться.

На работе всё также изучаю основы JAVA, JSP, и фреймворки Spring MVC и Spring Security, Hibernate. Ни сказала, чтобы процесс обучения движется быстро, но он движется, периодически узнаю новые фишечки. Опять же выражаю огромную благодарность ребятам из конференции в Skype, где хоть и много флейма не по делу, но часто также пишут и дельные вещи и узнаю последние новости.

среда, 3 февраля 2010 г.

Продолжаю изучать java, skype java конференции, как тесен Санкт-Петербург, swing или что то еще?

Продолжаю изучать java - с фреймворками разобралась, а сам язык знаю плохо)
Сделай то, незнаю что)))
Skype java конференции помогают найти ответы на вопросы
Питерская встреча java программистов - как тесен Санкт-Петербург
На чем писать не веб приложение - swing или что то еще?

Скачать и послушать можно тут

четверг, 24 декабря 2009 г.

Подкасты. Цели, JAVA и почему я не хочу больше в Амстердам

Устала...
Записала первый парный подкаст с очень интересным и умным человеком - программист из Финляндии. Выложу в ближайшее время...

А пока продолжаю публиковать старые записи -
Подкаст #5 Целься в Луну! Даже если промахнешься - останешься среди звёзд.
Подкаст #6 Как я чинила телевизор))) О подкастинге. И снова о проектах на JAVA. Lineage. Евротур. Я больше не хочу в Амстердам)




Почитала Игоря Губермана. Как мне нравятся его гарики, такие всегда меткие.
Том 1

Приятных снов!

вторник, 22 декабря 2009 г.

Подкасты. Как я попала в подкастинг, проекты за опыт на JAVA, легко ли живется девушкам-программистам...

Поступило несколько предложений записать парные подкасты, интересно. Ни разу не пробовала. Да и хватит уже разговаривать с ноутбуком))) и сводить сума соседей))) Пора выходить в люди)
На выходных приезжала подружка, дала ей послушать подкасты... Она не поняла этого искусства, или как это можно назвать?)) Долго смеялась, и сказала, что я сумасшедшая) А может так оно и есть?)) Но людям же нравится, и надеюсь не только за эротичный голосок, как говорят некоторые...ррр...
Подкаст #3 В этом подкасте звук тоже хромает еще) Еще и аудидорожку неудачно обработала. Продолжаю рассказ про работы, проекты на JAVA за опыт, как я попала в подкастинг.



Подкаст #4 - Девушки в стиле IT, легко ли живется девушкам-программистам, компьютерные игры, стоит ли приукрашивать свои навыки на собеседованиях.

понедельник, 21 декабря 2009 г.

Подкасты. Как я стала программисткой.

Ребята, спасибо большое за ваши письма. Столько пришло писем и еще продолжают приходить, чтобы я вернула подкасты - не ожидала. Сейчас потихоньку восстанавлю их в своем блоге. И после Нового года с новой силой на старые грабли!!!)) Не могу я без подкастинга, да и микрофончик запылился)

Первый подкаст не выкладываю, звук там плохой.

Подкаст #2 - подкаст о SAP, ABAP, о программировании, о ЕГАИС, о java и конечно же о том - как же я стала программисткой)



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

вторник, 15 декабря 2009 г.

О наболевшем


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

суббота, 12 декабря 2009 г.

Первый пост на хабре и почему у меня плохое настроение

Ура! Я опубликовала первый свой пост на хабре про Vista и PostgreeSQL - тыц Карма и репутация увеличилась - приятно.

Решила оживить свой блог. А то, как написал недавно один критик в своем блоге, - мой блог один сплошной цитатник + флеш ролики. Буду исправляться и пытаться публиковать свои мысли. Хотя их так порой сложно собраться в кучу, но постараюсь.

Почему у меня плохое настроение? Потому что я сделала плохое дело, бяку одному человеку - и теперь меня мучают угрызения совести. Зачем я так сделала? Я же на самом деле добрая девочка. И пусть этот человек заслуживает этой бяки, хотя нет... Мы не вправе решать кто и чего заслуживает в этой жизни. Вообщем , грустно мне. Сделала бяку больше себе.

И чтоб отвлечься от дурных мыслей - займусь JSP.

четверг, 29 октября 2009 г.

Онлайн обучение технологиям java - the end

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

воскресенье, 27 сентября 2009 г.

суббота, 26 сентября 2009 г.

Онлайн обучение технологиям java

Неделю назад на своем любимом форуме программистов обратила внимание на такое сообщение -

Есть идея собраться всем заинтересованным в изучении технологий java в скайпе (можно до 9 человек) + в программе team view (удаленный рабочий стол + управление мышкой и клавиатурой) и совместно писать какую-нибудь программу, кто что знает, будет рассказывать
Таким образом каждый подчерпнёт много нового и сам расскажет что знает. + по ходу написания или разбора кода, объяснения программы и т.д., будем обсуждать, задавать вопросы...

Можно отписаться в этой теме, кто что может объяснить, показать на примерах, рассказать, а также, что вы бы хотели изучить!

Например, я:
могу объяснить: javaSE (swing и всё остальное), gwt, jsp, servlets, intellij idea, tomcat, dwr
хочу изучить: glassfish, ejb, jpa, hibernate, eclipse, netbeans

Как вам такая идея? Кто за?



И , естественно, я заинтересовалась. И вот уже неделю мы собираемся на он-лайн конференциях. На первой встречи поговорили о основах, затем написали программки - Словарик (консоль и ГУИ), вчера вот писали этот же словарик с помощью GWT, так же немножко коснулись аннтоаций и hibernate. Многие ребята заранее готовят слайды со схемами, чтобы было удобно для восприятия. Если что то непонятно, тут же можно задать вопрос, или , например, подсказать рассказчику как можно сделать лучше.

Присоединяйтесь! skype - o.samozvanka

суббота, 12 сентября 2009 г.

С наступающим Днем программиста, коллеги!)

Друзья! Я очень хочу попрактиковаться в JavaSE. Бесплатно, за ваши подсказки и советы. Вдруг, кто возьмет в свой проект, я бы с удовольствием выполняла небольшие или большие)) задачки. Наконец то осилила эту книжку .
Программировала на С++ и php.
Знаю HTML, CSS, JavaScript и XML

Вообщем, вот мое резюме

Буду рада любым предложениям, надо себя занять чем-нибудь, и это мне действительно интересно!

icq два88девять8четыре2шесть2

И еще раз - С Днём программиста!!! Тем более этот праздник стал официальным теперь - тыц