если тебе нравится язык программирования, значит ты ещё не изучил его в должной мере
если тебе нравится язык программирования, значит ты ещё не изучил его в должной мере
и вот наступает этот момент, когда ложиться вроде ещё не поздно, но ведь можно и попрограммировать успеть. и ты знаешь, что если попрограммировать покатит и поймаешь волну, то к четырём утра напишешь пусть небольшую, но годноту, но вот биоритмы слетят к ебеням окончательно
настроил себе zsh чтобы при входе в директорию выполнял лежащий в ней .zshin, а на выходе — .zshout. Результат — при переходе в каталог с проектом, build.xml парсится на предмет jar-ников и все они добавляются в CLASSPATH (на выходе чистятся). Зачем CLASSPATH и третьетег? Плагин javacomplete теперь делает мне ... more →
таки да, в силу пизданутости maven-compiler-plugin придётся вернуться на ant,
там свистоперделок, конечно, поменьше, но уж лучше чем гадать, что же
скрывается за скупой фразой:
[ERROR] /home/.../server/config/ConfigTest.java:[62,5] error: incompatible types
я прекрасно понимаю, что это он так не переварил выхлоп ... more →
посоны, а вот ежели есть у меня сырец с каментами типа //, /* */ и в этом сырце ещё строчки плюсовые могу встречаться между закавычками, то как по умному похерить из этого файла и строки и каменты? ведь в коде же может быть хуита типа const char* c = "/*"; const char* c2 = "*/"; ← тут-то нихуя нельзя вырезать ... more →
Мокренький™ свежий ебилд include-what-you-use:
https://github.com/hirthwork/ncursed-des...
пример использования:
>>> cat test.cpp
#include <iostream>
#include <sstream>
int main(int, char* argv[]) {
std::cout << argv[0] << ... more →
новая версия однострочника для выявления неиспользуемых import'ов. меньше вербозности, больше точности: for x in `find src/java/ -name \*.java`;do echoed=0; for y in `grep "^import" $x|grep -o "[A-Z][A-Za-z0-9_]\+;"|tr -d ';'|tr '\n' ' '`;do if \! grep -v "^\(import\|\\s\+\(//\|/\*[^*]*$\)\)" $x|grep -w $y ... more →
я, конечно, всех уже заебал, но тем не менее.
1. Сразу скажу почему не использую новомодные multiplexing и NIO. Использую, но
для другого. В случае же, когда нужно обрабатывать большое количество данных
отсылаемых POST'ом и отвечать просто 200 или 400 (или 50x) рекомендуют
использовать старый добрый accept() и ... more →
и ещё эта. хотел сказать. незаметно перешёл черту, когда спрашиваю тонкости работы той или иной части JDK не в java@cjr, а в исходниках icedtea. чую скоро про джаву кукарекать хлеще чем про плюсцы буду.
в поисках очередного шквала критики, пишу сюда, что пока пришёл к следующему варианту организации обработки запросов.
- Используется всё тот же ThreadPoolExecutor(workers, ..., new ArrayBlockingQueue<Runnable>(connections — workers))
- После завершения обработки очередного запроса, в случае, если коннекшн ещё жив, ... more →
я тут пытаюсь понять, как правильный HTTP-сервер должен себя вести. хочется услышать критику к подходам и методам.
рассуждаю в терминах жабы, но все кто осилил http://docs.oracle.com/javase/7/docs/api тоже приглашаются к дискуссии.
- Когда пишешь http-сервер первый раз, то на каждый accept() создаёшь новый
Thread ... more →
засыпал в два ночи — кодил. в семь утра проснулся — снова кодить буду. иногда у меня ощущение, что программирование я люблю больше своей девушки :(
продолжая наш обзор всякого полезного говна и переизобретённых велосипедов. org.apache.commons.configuration.PropertiesConfiguration — самое удобное из того что я встречал для парсинга конфигов.
вдоволь поебавшись с ZooKeeper'ом сегодня, я остался доволен. Умеет кворум и вообще. В один коннект мне не удалось заставить держать больше 230 сообщений в секунду (это при трёх серверах в кластере), зато при увеличении количества коннектов до трёх, я обнаружил отсутствие просадки этой производительности (что ... more →
Жавабоги, скажите, почему для решения простейшей задачи «Взять объект из мапы,
а если там нет, то создать и положить туда новый» мне потребовалось четыре
уровня отступов? https://gist.github.com/3066183
Постулаты:
1. В мапу объекты класться будут куда реже чем забираться от туда. Начиная с
какого-то момента новые ... more →
Простые правила по отрыванию костылей от программы:
1. Отрывай костыли по одному
2. После каждого «отрыва» прогоняй тесты
3. Не бойся, у тебя ведь есть бэкапы. Не так ли?
народ, а накидайте годных ссылок про запуск jvm из сей или плюсцов, а то на оракловском сайте инфы и примеров с гулькин хуй. а упороться эксепшен хендлингом хочется
псач, а дай годную линку по теме «jdb для тех кто осилил gdb»? а то всё что нахожу — непонятная хуита
Java иногда рвёт шаблон, который много лет адаптировался к реальности плюсов.
Допустим есть класс A, который реализует метод f(). В то же время, есть
интерфейс B, который объявляет абстрактную функцию f(). Ну и сделаем дикое
предположение, что программисту хочется получить класс реализующий интерфейс B
и имеющий ... more →
вот так вот живёшь, программируешь, а потом узнаёшь, что в джаве таки можно эмулировать множественное наследование
Subscribe to *programming
hirthwork
0xd34df00d
analizer
4da
magog
Minoru
gelraen
kb
lexszero
Cthulhu
RainerGomes
odin
dorfe
beardog
238328
Like-all
hatred
jabber
lovesan
Ky6uk
Apepe
octocat
Sectoid
Elemir
Crazy_Owl
richmond
asmer
chemikadze
ruda
Rejjin
Myp
der_FeniX
ClanMax
snakehoney
setazer
mva
MPogoda
K900
anonymous_owl
generatorglukoff
part1zano
ulidtko
taras
ascrazy
oberon86
nstm0
johan
Softovick
Amberize
Kakadu
komar
13oz
svtk
lHooFool
Marisa
xotetb
17eyes
skyw00lf
AmparoDios
Dulo_T-34
Kirsche
DOMr
DJm00n
nexeuse
psymatic
arts
rapture