인기글
-
[Flutter] 플러터 버튼 종류 (TextButton / OutlinedButton / ElevatedButton / Icon button)
flutter에서 주로 쓰이는 버튼은 FlatButton, RaisedButton, OutlineButton인데 TextButton, ElevatedButton, OutlinedButton으로 각각 변화되었다. theme 또한 TextButtonTheme, ElevatedButtonTheme, OutlinedButtonTheme으로 바뀌었다. style은 textcolor property 요소를 이용해 글꼴 색상을 지정했던 것과 달리 stylefrom property 내에서 color들을 지정한다. primary , onsurface color가 parameter인 것을 보니 material design적인 요소가 많이 반영되었다는 생각이 들었다. * 버튼 상태별로 버튼 스타일을 지정하고 싶다면? htt..
-
[CSS] CSS를 대체할 CSS in CSS와 CSS in JS에 대해 알아보자 (CSS Module , SCSS 등)
프로젝트가 커질수록 모든 html 요소에 클래스 naming을 해줘야하고 컴포넌트 스타일을 변경할 때 클래스에 맞는 선택자를 일일히 찾아 변경해야하기 때문에 번거롭다. 또한 JS 파일과 분리되어있기 때문에 컴포넌트의 상태값 변화를 공유하기 힘들다. CSS 문제점 (Vjeux) - Global namespace: 모든 스타일이 global에 선언되어 중복되지 않는 class 이름을 적용해야 하는 문제 - Dependencies: css 간의 의존관계를 관리하기 힘든 문제 - Dead Code Elimination: 기능 추가, 변경, 삭제 과정에서 불필요한 CSS를 제거하기 어려운 문제 - Minification: 클래스 이름의 최소화 문제 - Sharing Constants: JS 코드와 상태 값을 공유..
-
내가 보려고 정리하는 java 개념 코드 정리
객체 지향 언어에 대해 제대로 공부한 적이 없어 하루동안 java 언어의 개념을 한번 훑어보았습니다. 이 전에 사용한 dart 언어와 비슷한 점이 많아 개념을 이해하기 어렵지 않았습니다. 저는 생활코딩을 보고 공부했습니다 opentutorials.org/course/2517 Java 기본 과정 - 프로그래밍 입문 Java 언어 생활코딩 요약본. opentutorials.org 1) 자료형 표현 문자 (Character) - 작은 따옴표 문자열 (String) - 큰따옴표 System.out.println(1+2); System.out.println("생활코딩"); System.out.println("egoing said \"Welcome programming world\""); 2) 변수 - byte 수..
-
[Material Design] 개발자/ 디자이너가 협업할 때 중요한 Figma 의 주요 기능 (style / component / const
figma 기능을 잘 활용하면 디자이너와 개발자의 협업을 더 효율적으로 할 수 있다. 개발자 디자이너 협업캠프에서 디자이너님께서 알려주신 내용을 바탕으로 협업할 때 사용하기 좋은 figma의 주요기능과 개발단에서의 관점들을 정리해보았다. Material design을 기반으로 하였으며 자세한 내용은 아래링크의 다큐먼트를 참고하면 된다. 개발 코드 예시는 모두 flutter dart이다. material.io/ Material Design Build beautiful, usable products faster. Material Design is an adaptable system—backed by open-source code—that helps teams build high quality digital ..
-
[Firebase] 파이어베이스 보안규칙 (Firestore Security Rules ) 작성 방법
파이어베이스에서 제공하는 보안규칙은 코드가 간단하며 보안규칙을 위해 인프라를 관리하거나 복잡한 서버측 인증 및 인증 코드를 작성할 필요 없다. 하지만 보안규칙을 적용하지 않으면 파이어베이스는 디폴트로 데이터베이스를 보호해주지 않기 때문에 보안규칙 적용이 꼭 필요하다. 실제로 개발자가 앱을 제작할 때 코드 상에서만 규칙을 적용하고 이를 간과해 데이터가 노출된 사례들이 있다. 그래서 나는 보안규칙 작성에 대한 규칙들을 정리해보았다. 1. 보안규칙 버전 작성 rules_version = '2'; 기존의 rules_version = '1' 은 와일드 카드를 사용할 때 한 개 혹은 두 개 이상의 path를 포함하고 있어야하기 때문에 자유롭게 와일드카드를 사용하기 위해서는 zero path를 허용하는 버전 2를 사..
-
AI 모델 평가 기준 정리
음성 AI 모델을 평가하며 리서치한 기준을 기록합니다. (26.08.26 업데이트) 1-1. Freeform Red Team AI 평가에서 정해진 테스트 시나리오나 질문 목록 없이, 평가자가 자유롭게 다양한 방식으로 모델을 공격·검증하는 평가 방식개념: 모델의 취약점, 오류, 안전성 문제를 찾기 위해 평가자가 자유롭게 프롬프트를 구성하는 레드팀 평가핵심 요소:정해진 테스트 케이스에 제한되지 않음예상치 못한 질문·상황을 시도모델의 환각, 지시 위반, 안전장치 우회, 일관성 저하, 편향 등을 탐색발견한 실패 사례를 바탕으로 추가 공격을 이어감예시:모델에게 처음에는 정상적인 질문을 한 뒤, 점차 표현을 바꾸거나 맥락을 추가하면서 금지된 정보를 제공하도록 유도하고, 모델이 어느 지점에서 안전 원칙을 위반하는지..
-
[UPF 2022ss] 당근마켓 프론트엔드 리더님 세션정리 (3/26)
당근마켓 프론트엔드 리더님의 세션 '제품을 바라보는 관점 만들기'를 듣고, 의미있었던 강의 요약과 질의 응답을 정리하였습니다. 강의 요약 사람의 커뮤니케이션은 정보의 손실이 발생한다. 서로가 상상하고 있는 진실을 동기화 해야한다. 우리는 기계처럼 소통 해야하는데, 즉 언어를 만들고 약속을 정해야한다. schema로 잘 작성해두면 우리가 원하는 그래프 시각화가 가능하며 직무간에 같은 단어를 사용할 수 있다. 또한 schema를 사용하면 코드 생성이 되는 것이 장점이다. (code generation - graph QL codegen을 사용 질의응답 Q1. 일정을 예측할 수 없을 때 어떻게 해야하는가? A. 일정이 예정보다 늦어진다면 누군가 잘못하는 것이 아니라 예상을 잘못한 것. 미래를 예측하는 것과 같다..
-
[힙주비] 개발자 에반님 시니어 세션 강연 (1/27)
세션 요약 1. 잘하는 PM의 특징 - 일정 변경이 생겼을 때, 왜 늘어났고 늘어난 스콥이 왜 런칭에 필요한지를 솔직하게 공유함 - 개발자도 개발 기간을 솔직하게 이야기해주길 원함 2. 내가 모르는 부분을 확실히 알기 확실하지 않을 때는 잘 말하는 것이 중요하다 내가 뭘 모르는지 파악하고, 많이 물어보자! 3. T자가 되기 위해 폭을 넓히지 말자. 남들이 모르는 기술 깊이 뿐 아니라 지식의 너비를 넓히는 것도 중요하다. 깊이는 성장의 속도를 도와주고 너비는 성장의 방향성을 정해준다. 4. 콤포트 존에서 벗어나기 스트레스가 동반되는 것은 당연하다. 감당할 수 있는 스트레스는 동기부여가 되기도 한다. 컴포트 존에서 나가야한다. 5. 일 잘하고 유능한 팀장 성장시켜주는 팀장은 팀원들을 진심으로 신경써주고, 감..
최근 게시글
-
AI 모델 평가 기준 정리AI 2026.08.24 19:00
음성 AI 모델을 평가하며 리서치한 기준을 기록합니다. (26.08.26 업데이트) 1-1. Freeform Red Team AI 평가에서 정해진 테스트 시나리오나 질문 목록 없이, 평가자가 자유롭게 다양한 방식으로 모델을 공격·검증하는 평가 방식개념: 모델의 취약점, 오류, 안전성 문제를 찾기 위해 평가자가 자유롭게 프롬프트를 구성하는 레드팀 평가핵심 요소:정해진 테스트 케이스에 제한되지 않음예상치 못한 질문·상황을 시도모델의 환각, 지시 위반, 안전장치 우회, 일관성 저하, 편향 등을 탐색발견한 실패 사례를 바탕으로 추가 공격을 이어감예시:모델에게 처음에는 정상적인 질문을 한 뒤, 점차 표현을 바꾸거나 맥락을 추가하면서 금지된 정보를 제공하도록 유도하고, 모델이 어느 지점에서 안전 원칙을 위반하는지..
-
검색기능 개선개념 2022.12.08 20:57
테크니컬 SEO 메타 키워드 태그는 검색 엔진에서 제외 웹페이지 속도, 프로토콜 준수, 모바일 최적화 등을 기준으로 점수를 매김 웹 사이트 속도 경쟁 웹 사이트보다 속도가 더 빨라야함 타이틀 태그 가장 중요하고 관련있는 키워드 영문 65자, 한글 32자 내외 각 페이지에 맞는 메타 디스크립션 태그 77자 이내 이미지 정보 alt 검색엔진에 전달 상위 랭킹에 큰 영향을 주는 건 아님 오픈 그래프 캐노니컬 태그 타겟고객이 많이 사용하면서 타경쟁사 웹 페이지는 비교적 적게 사용하는 키워드 https://junheedot.tistory.com/27 SEO를 위한 자가 진단 체크리스트 📜 본문은 서적 '트래픽을 쓸어 담는 검색 엔진 최적화'를 읽고 남기는 요약본입니다. 더 자세한 정보를 얻기 원하신다면 해당 서적..
-
Github 민감한 커밋 히스토리 삭제 (git ignore, git filter-branch)기타 2022.07.14 00:21
개발을 하다보면 git에 올리고 않지 않거나 올리면 안되는 민감한 파일들이 있는데 이 파일들은 .gitignore 설정파일에 추가하면 자동으로 git 버전 관리에서 제외된다. 기존 프로젝트에 git ignore 설정하기 프로젝트를 시작할 때 git ignore을 설정하면 제일 좋지만, 이미 프로젝트가 진행되었을 경우 기존 프로젝트에 .gitignore를 적용하는 방법도 있다. 1) .gitnore 파일에 숨기고자 하는 파일명을 추가한다. 2) 원격 저장소에 있는 파일들을 삭제하고, git ignore이 적용된 로컬 파일을 다시 커밋한다. git rm -r --cached . git add . git commit -m ".gitignore 적용하기" 3) 푸쉬한다. 민감한 정보가 담긴 커밋 내역 삭제하기 ..
-
상반기 데브이벤트 프로젝트 회고 (with UPF)회고 2022.06.25 17:08
0. 데브이벤트 웹 구경하기 https://dev-event.vercel.app/events Dev Event - 개발자 행사는 모두 데브이벤트 웹에서! 개발자를 위한 {웨비나, 컨퍼런스, 해커톤, 네트워킹} 소식을 알려드립니다. dev-event.vercel.app 1. 데브이벤트 프로젝트에 합류 2022년 상반기, 데브이벤트 저장소를 고도화하는 사이드 프로젝트에 웹 프론트엔드 개발 , 서비스 기획자로 참여하게 되었습니다! 개발자로 일한지 7개월, 회사에서 혼자 개발을 하다보니 점점 익숙한 기술, 방식에 안주하려는 제 모습이 보였어요.🤦 2년차 개발자로 뒤쳐지지 않기 위해, 또 새로운 기술을 자유롭게 써서 개발해보고 싶다는 생각으로 사이드 프로젝트를 구하던 중 데브이벤트 프로젝트라는 감사한 기회를 얻게..